Novità

Script

Continua così Joe !!!
Personalmente mi sono stampate le pagine di una precedente tua discussione con "Marcolino" .... se potessi pubblicare anche un riassunto un po più omogeneo ;);)
 
Ciao Buon Giorno a tutti,

Ringrazio Rabberto e Filotto rispondendo che la difficoltà maggiore è appunto mantenere ...

una linea guida, trovare il tempo per organizzare decentemente gli argomenti, esporli.

Riguardo al numero sequenziale con cui si numerano progressivamente le estrazioni l' ID-Estrazione ...

un esempio di grande utilità lo si verifica nel conteggio dei ritardi.

Supponiamo che il 12 a Firenze si sappia caduto estratto il 04/06/2012 e poi l' 11/08/2012

Calcolarne il ritardo con le date è piuttosto complicato richiede calendari delle estrazioni la consultazione dell'archivio. Tempo.


Se invece si erano numerate le estrazioni e conservate in array

sapendole essere rispettivamente 8542 e
8572 è facile calcolare la differenza di 30 Estrazioni.

:) Buoa serata a tutte/i.
 
Ultima modifica:
Ciao Joe91 grazie ancora per la tua disponibilita' e generosita' e per quello che fai per tutti noi , l'dea del post sarebbe una cosa fantastica spero tanto per tutti che un giorno troverai il tempo , grazie ancora , ciao.
 
Do - Loop / For - Next

Do - Loop / For - Next

Do-Loop (è pochissimo usato) negli script meglio si adatta ai cicli

di lunghezza indefinita ad esempio ci fosse da rintracciare un numero ...

e non si conosce "a priori" quante estrazioni (di ritardo) si debba retrocedere per trovarlo.

Quel "fintanto che" (While) non lo si trova.

Il Ciclo For-Next si adatta meglio agli scenari predefiniti.

Ad esempio se si devono controllare dei blocchi di dimensioni fisse e conosciute come

"9 Estrazioni" / "10 Ruote" / "5 Estratti" E' meglio usare il For-Next.

Vediamo subito lo script semplicissimo per generare l' Indice (R) con cui ricavare la SIGLA(della)RUOTA.

Codice:
Sub Main()
   For R=1 To 10 Step 2 
   Scrivi R
Next
End Sub

Per continuità ed in adempimento a quanto detto, in questo script,

l'uso del PASSO=STEP corripettivo del "+2" ...

si inizia, con R=1 (Dispari) aggiungendo "+volte", il "+2",

SI GENERA UNA SEQUENZA DISPARI.

In seguito vedremo come sostituire Step con il test-condizionale "IF"

per "scegliere" le Ruote "DISPARI".

Poi ... cercheremo tutti gli Estratti di tutte le ruote (Scrivendoli).

Ed in ultimo completeremo il quadro estrazionale

scegliendo di evidenziare in esso "un numero" da noi scelto.

utilizzando altri "IF", altri "For-Next" e gli "InputBox"

per comunicare allo script l' "IdEstrazione" (l'indice dell'Estrazione) ... e,

l' "Estratto" da noi scelto e che si è deciso di evidenziare.

:) Buona Giornata a tutti.
 
Ultima modifica:
Ciao a tutti

chiedo scusa se non capisco nulla di script,ma vorrei capire una cosa:

in seconda pagina se non erro c'e' lo script finale che ricava 5 numeri su venezia e a quanto pare non ha sbagliato un colpo

mi chiedevo ma su altre ruote e' possibile creare questo script?

e poi: in base a cosa vengono ricavati questi 5 numeri?

per convergenze e/o abbinamenti sarebbe utilissimo

grazie
 
Concludo dunque con lo Script alternativo, per la ricerca, delle RUOTE DISPARI


Sub Main
()

For R = 1 To 10 'Step 2

If Not pari(R) Then Scrivi SiglaRuota(R)

Next

End Sub


Si nota che, rispetto allo script precedente ho 'REMMATO STEP' traformandolo in un COMMENTO.

Per fare questo si antepone REM oppure il segno di apice ' (che ho usato in questocaso)


Quanto è REMMATO ovvero 'i commenti' si colorano di VERDE e NON VENGONO ESEGUITI.

Per scgliere le Ruote DISPARI ... sapendo che esiste la possibilità di trovare iquelle "PARI"

per trovare il "DISPARI" ho adottato una soluzione NEGATIVA "del concetto" di PARI.

Ad "If ... Pari (R) Then" ho invertito il risultato del test condizionale IF anteponendo NOT

Not trasforma pari in "negazione-di-pari". Significa, materialmente, DISPARI.

Il solito semplicissimo script di una linea diventa:

IF Not pari (R) Then Scrivi SiglaRuota(R)


Cancellando Not, evidentemente ed "alla rovescia" si avrà l'lenco delle Ruote-Pari.

E ... più in generale l'elenco dei numeri pari, entro i limititi imposti dal ciclo For-Next.

:) Buona Giornata.

 
Ultima modifica:
Poi ... cercheremo tutti gli Estratti di tutte le ruote (Scrivendoli).

Ed in ultimo completeremo il quadro estrazionale

scegliendo di evidenziare in esso "un numero" da noi scelto.

utilizzando altri "IF", altri "For-Next" e gli "InputBox"

per comunicare allo script l' "IdEstrazione" (l'indice dell'Estrazione) ... e,

l' "Estratto" da noi scelto e che si è deciso di evidenziare.

In sintesi è un microBrowser delle estrazioni che sarà così:

8687 07.05.2013

BA 13 77 87 35 08
CA 30 53 61 79 59
FI 40 16 52 02 11
GE 38 45 01 81 58
MI 87 82 09 78 90
NA 56 78 60 42 51
PA 30 09 23 45 57
RO 38 42 18 36 84
TO 33 18 71 56 54
VE 59 62 11 56 66

Abbiamo detto di aver immaginato e qui di voler fare e trovare

se e dove in piazza Piazza 7 Maggio 2013 ...

in qualcuno dei 10 "palazzi" ... c'è il signor Quaranta.

:)
 
Ultima modifica:
Ho pulito lo script precedente recuperando il ciclo principale. Di esso è rimasto:

For R = 1 To 10
Scrivi Silgaruota (R)
Next

Quindi ho assegnato alla variabile Sp una Stringa equivalente ad "uno spazio",

utile, a separare tra loro, i vari elementi scritti.

La variabile Gr per Attivare e Disattivare il GRASSETTO che è il primo dei parametri dell'istruzionie SCRIVI.

Il secondo parametro di scrivi è "ACapo" = False serve a TENERE-UNITE

SiglaRuota alla scritta provvisoria gli estratti.

E ... solo successivamente ... andare "ACapo"

Codice:
Sub Main()
 Sp = " " REM Sp è UNO SPAZIO!
 For R = 1 To 10
  GR = True REM Attiva il GRASSETTO
  Scrivi SiglaRuota(R) & Sp,GR,False
  GR = False Rem Disattiva IL GRASSETTO
  ColoreTesto 2 'Attiva Il Colore Rosso
  Scrivi "qui, gli estratti.",GR,True
  ColoreTesto 0 'Attiva il Colore Nero
 Next
End Sub

Altri commenti ... sono nello script.

:) Buona Giornata a tutte/i.
 
Ultima modifica:
In questa seconda parte dello script, che poi, assembleremo alla precedente, sono presenti 2 InputBox.

Il primo per scegliere l' ID-ESTRAZIONE ovvero il numero seriale dato all' Estrazione, in archivio.

Il secondo per inserire il numero che si vorrà evidenziare (se presente) nel quadro estrazionale. Il Sig. Quaranta.

Gli InputBox sono delle finestre (Box) che "si aprono" per richiedere un Input durante l'esecuzione dello script.

Hanno dei parametri o meglio ... possono fornire delle indicazioni e dei suggerimenti, su "cosa"si deve inserire per mezzo di essi.

Poi, sarebbe buona norma inserire dei filtri (a valle) per evitare che l'utente possa immettere valori assurdi.

(Qui, siamo tra gente perbene ... mi sono limitato ai suggerimenti).

In ultimo per controllare ... "cosa è successo" ... a seguito degli InputBox ho inserito 2 linee di debug:

Scrivi la variabile (Es) e Scrivi la Variabile (Nu).

Scrivi Es e DataEstrazione (Es) ... rimarrà così come è, e come è, nell'esempio che ho già inserito.

Nu contiene il Numero che servirà per il confronto con ognuno dei lottroni presenti, nel quadro estrazionale.

Se, ed eventualmente, presente attiverà il colore rosso ... il BOLD o grassetto ed un "Flag"

una bandiera segnaposto per ricordare la sua trovata presenza. Dirò poi.

CInt è una istruzione che Converte in numero Intero eventuali input non numerici.

Aiuta a prevenire errori di input.

:) Buona Giornata.


Codice:
Sub Main()

Fin = 8687 'ID-ESTRAZIONE (proposto)

Es = CInt (InputBox (DataEstrazione(Fin) & " = " & Fin ,"INSERISCI ID-ESTRAZIONE",Fin))
Nu = CInt (InputBox ("Numero da Cercare ","INSERISCI UN NUMERO",40))

Scrivi Es & " " & DataEstrazione(Es),True
Scrivi Nu
 
End Sub
 
Ultima modifica:
Prima di proseguire una piccola nota sull'Archivio.

Lo si può immaginare come se per ognuna delle Estrazioni, ognuno dei "palazzi", dal nome di una Ruota,

è composto, a sua volta da, 5 Piani, ognuno, composto di un unico "alloggio".

5 Alloggi per ogni Palazzo.

Quindi la gerarchia delle indicizzazioni , Piazza / Numero Civico / Piano (da 1 a 5)

permetterà di indirizzare univocamente ogni "Alloggio".

Analogamente: Id-Estrazione / Ruota / Posizione,

permettono di indirizzare "puntalmente" ogni Estratto (presente nell'Archivio).

Ora è facile intuire ... che è sufficiente un nuovo ciclo

For P = 1 To 5 .... Next

per generare i 5 indici (P) necessari a leggere altrettante Posizioni.

:)

Codice:
Sub Main()
 Sp = " " REM Sp è UNO SPAZIO!
 For R = 1 To 10
  GR = True REM Attiva il GRASSETTO
  Scrivi SiglaRuota(R) & Sp,GR,False
  GR = False Rem Disattiva IL GRASSETTO
  ColoreTesto 2 'Attiva Il Colore Rosso
  For P = 1 To 5
   Scrivi Format2(P) & SP,GR,False
  Next
  Scrivi ""
  ColoreTesto 0 'Attiva il Colore Nero
 Next
End Sub
 
Ultima modifica:
Abbiamo visto che :

For P = 1 To 5
Scrivi Format2(P) & SP,GR,False
Next

Ci mostra la struttura del contenitore VUOTA / 1.2.3.4.5 / LE 5 POSIZIONI.

La prima operazione è recuperare il dato significativo. L' ESTRATTO.

"E" presente in quel contesto di Estrazione / Ruota / Posizione.

E = Estratto(Es,R,P)

Poi eseguire il controllo E = Nu ed in caso attivare il colore Rosso, Bold, il Flag T (di trovato)

If E = Nu Then ColoreTesto 2 : Gr = True : T = True

Infine scrivere "E" con i suoi parametri E ... AZZERARLI,

per evitare che rimanendo memorizzati si applichino agli estratti successivi

Scrivi Format2(E) & Sp,Gr,0 : ColoreTesto 0 : Gr = False



S'era detto che tutto questo era dentro al ciclo per generare 5 Posizioni e qui

For P = 1 To 5
E =Estratto(Es,R,P)
If E = Nu ThenColoreTesto 2 : Gr =True : T =True
ScriviFormat2(E) & Sp,Gr,0 : ColoreTesto 0 : Gr =False
Next

Se il numero scelto non viene trovato in nessuna delle 10 ruote, "T" Rimane "False"

e il Flag "T" lo evidenzia esplicitamente con un messaggio:

IF
T
= FalseThenScrivi : Scrivi "Il Numero " & Format2 (Nu) & " non è presente.",True

:) Cordiali Saluti.

Codice:
Sub Main()

REM MicroBrowser con Evidenziatore By Joe V.1.0 del 15/05/2013
REM http://forum.lottoced.com/f12/script-104315/index4.html#post1159871 

Sp = " " 'Spazio
Fin = 8687 'ID-ESTRAZIONE proposto

Es = CInt(InputBox(DataEstrazione(Fin) & " = " & Fin,"INSERISCI ID-ESTRAZIONE",Fin))
Nu = CInt(InputBox("Numero da Cercare ","INSERISCI UN NUMERO",40))

Scrivi Es & " - " & DataEstrazione(Es),True
Scrivi

 For R = 1 To 10
 Scrivi SiglaRuota(R) & Sp,1,0
 
  For P = 1 To 5
   E = Estratto(Es,R,P)
   If E = Nu Then ColoreTesto 2 : Gr = True : T = True
   Scrivi Format2(E) & Sp,Gr,0 : ColoreTesto 0 : Gr = False
   If P = 5 Then Scrivi "" 'ACapo 
  Next
 Next
 
 If T = False Then Scrivi : Scrivi "Il Numero " & Nu & " non è presente.",True

End Sub
 
BuonGiorno a tutte/i.

Come sempre è bene controllare se lo script funziona,

individuare pregi e difetti. Se possibile migliorarlo specie correggendo errori e difetti.

A confronto con uno standard collaudato e verificato ...

minibrowser.jpg


Produce gli stessi risultati per le 10 ruote. Funziona.

Tra i difetti (+/- voluti) manca la Nazionale.

Manca la barra per scorrere le estrazioni
... in script, penso non si possa fare.

E' migliore ... ove permette di evidenziare UN Estratto.

L' InputBox per inserirte il numero di estrazione per quanto Smart / Fiendly / tra i più belli, mai visti ...

è come tutti gli inputbox più un impiccio che una utilità (è un parere personale).

Vedremo come aggiungere la Nazionale / migliorare la sezione per la scelta dell'estrazione in cui cercare.

:)
 
Ultima modifica:
Ciao Joe91 come sempre grazie per quello che fai e che ci insegni , grazie a te sto incominciando a capire molte cose che prima non mi erano chiare e questo significa che quello che stai facendo lo stai facendo molto bene e tutti in questo forum saranno tuoi debitori , grazie ancora .
Volevo chiederti una cosa ho fatto un riassunto del tuo post : http://forum.lottoced.com/f12/quale-programmino-e-come-fare-oltretutto-101600/se per te sta bene lo vorrei pubblicare sul forum poi come finisci questo altro post dove stiamo adesso faccio un' altro riassunto e lo pubblico , se non ci sono problemi fammi sapere che lo metto a disposizione di tutti , attendo tue notizie , ciao.
 
Ciao Rabberto No, nessun problema ...

peralto ho visto che sei bravo a riassumere / catalogare / archiviare quello che fai va bene.

:) Grazie.
 
Buna Sera a Tutte/i.

Questa è la nuova versione del MicroBrowser.

Codice:
Sub Main()

REM MicroBrowser con Evidenziatore By Joe V.2.0 del 16/05/2013
REM http://forum.lottoced.com/f12/script-104315/index4.html#post1159871 

Sp = " " 'Spazio
Es = EstrazioneFin 'ID-ESTRAZIONE LETTO DALLO SCRIPT.

Nu = CInt(InputBox("Numero da Cercare ","INSERISCI UN NUMERO",40))

Scrivi Es & " - " & DataEstrazione(Es),True : Scrivi

 For R = 1 To 12 : If R = 11 Then R = 12 
 Scrivi SiglaRuota(R) & Sp,1,0
 
  For P = 1 To 5
   E = Estratto(Es,R,P)
   If E = Nu Then ColoreTesto 2 : Gr = True : T = True
   Scrivi Format2(E) & Sp,Gr,0 : ColoreTesto 0 : Gr = False
  Next
  Scrivi "" 'ACapo 

 Next
 
 If T = False Then Scrivi : Scrivi "Il Numero " & Nu & " non è presente.",True

End Sub

la prima correzione è in questa linea in cui l' ID-Estrazione è LETTA direttamente dallo script,

pertanto diventa inutile l' InputBox per inserire in numero di estrazione (che ho eliminato).

Ho Aggiunto la ruota Nazionale ... così:

For R = 1 To 12 : If R = 11 Then R = 12

Abbiamo detto più volte da 1 a 10 corrisponde a, da Bari a Venezia.

La Ruota virtuale TUTTE aveva indice 11 quando le ruote reali erano 10.

Quindi per compatibilità con l'essistente quando all'indice 11

era già stato attribuitodi rappresentare CONVENZIONALMENTE la Ruota TUTTE ...

inventando la Nazionale, ad essa, per convenzione, s'è dato il valore di indice 12.

Quindi nell'indicizzare le ruote si salta l'indice 11 ... come da script.

IF (Indice) = 11 ... THEN (Indice) = 12.

In ultimo, una ottimizzazione.

Era presente una linea di comando If P = 5 Then Scrivi "" 'ACapo.

Alla fine del ciclo For P=1 to 5 .... Next ... "P" naturalmente vale "5".

Quindi l' IF si può eliminare sapendo che P = 5 e contestualmente

si deve spostare quella istuzione "ACapo" subito alla fine del ciclo con cui si scrivono i 5 numeri.

Ovvero quando P vale 5

Si è ridotto (pur di poco) il numero di istruzioni necessarie ad avere lo script funzionante,

guadagnerà (pur di poco) in velocità ... & ultimo vantaggio,

così ... funzionerebbe anche con numeri differenti da 5.
 
Ciao Joe91 ancora grazie per quello che fai volevo dirti di avvisarmi quando per te le lezioni su questo post sono finite cosi' provvedo a pubblicare il secondo riassunto , ciao.
 
Ciao Rabberto ..."le istruzioni" sono tantissime ...

... poi ancora, Spaziometria è un pozzo di SanPatrizio. Non si finirebbe mai.

Ma s'è dato uno schema ed un esempio di come si possano affrontare e risolvere,

una grandissima parte delle richieste più comuni e delle istruzioni principali.

Introduco solo più due istruzioni Split / Ubound in questo script e con esse

come poter effettuare la ricerca di più numeri contemporaneamente nel quadro estrazionale.

E poi terminerò, il tutto, con una nota IMPORTANTE ... sull' eliminazione dell' inputbox che avevo fatto.

.....

In questa Terza versione :

Codice:
Sub Main()

REM MicroBrowser con Evidenziatore By Joe V.3.0 del 18/05/2013
REM http://forum.lottoced.com/f12/script-104315/index4.html#post1159871 

Sp = " " 'Spazio
Es = EstrazioneFin 'ID-ESTRAZIONE LETTO DALLO SCRIPT.

N = InputBox("Numeri da Cercare ","INSERISCI  I NUMERI ","10.40.81")
Nu = Split("0."& N,".")
Scrivi Es & " - " & DataEstrazione(Es),True : Scrivi

 For R = 1 To 12 : If R = 11 Then R = 12 
 Scrivi SiglaRuota(R) & Sp,1,0
 
  For P = 1 To 5
   E = Estratto(Es,R,P)
     For X  = 1 To UBound (Nu)
       If E = CInt (Nu(X)) Then ColoreTesto 2 : Gr = True : T = True
     Next
   Scrivi Format2(E) & Sp,Gr,0 : ColoreTesto 0 : Gr = False
  Next
  Scrivi "" 'ACapo 

 Next
 
 If T = False Then Scrivi : Scrivi "Il Numero " & N & " non è presente.",True

End Sub

Ho fatto in modo che l'InputBox accetti lunghette di ENNE-Numeri.

L'esempio fornito dall' InputBox suggerisce (e pretende) che i numeri siano separati da un punto.

N = InputBox("Numeri da Cercare ","INSERISCI I NUMERI ","10.40.81")

Poi interviene l'istruzione Split che spezza la lunghetta immessa in corrispondenza dei puntini.

Memorizzando i vari numeri in dirizzandoli nell' Array (che abbiamo deciso chiamarsi "Nu")

Prima Nota Nu è dimensionato internamente ... direttamente da Spaziometria (NON C'E' DIM NU)

Seconda Nota il conteggio dovrebbe partire da zero ... quindi con tre numeri il terzo dovrebbe essere due.

cioè Zero / Uno / Due ... Questo non ci piace per nosta cattiva abitudine.

Ne prendiamo atto e correggiamo mettendo uno zero "0." davanti alla lunghetta ...

cosicchè i caratteri numerici si allineino agli ordinali 1=Primo / 2=Secondo / 3=Terzo

In sintesi aggiungendo Zero = Zeresimo che poi non verrà utilizzato. L' istruzione completa è:

Nu = Split("0."& N,".")

ed evidentemente il punto ( "." ) è il carattere che s'è deciso di usare ... ovvero il dove spezzare la lunghetta.

Ubound è una istruzione che restituisce, dopo che se li è ... contegggiati il numero di spezzettamenti ... effettuati.

ma meglio ancora, il numero di elementi presenti nell'Array.

Quindi dovendo controllare ognuno dei 5 estratti con ognuno degli Enne numeri ...

Ho introdotto un NUOVO ciclo For - Next

INTERNO A
quello ove è generato l'indice con cui leggere l' Estratto :

For X = 1 To UBound (Nu)

Il contollo di egualianza deve avvenire tra l' Estratto (E) ed ogni elemento (x-esimo) dell' Array Nu

IF E = CInt (Nu(X)) Then ...

Descritto nel dettaglio le modifiche apportate ...

Ho scritto che il numero di estrazione viene letto dallo script.

Concluderò con un paio di esempi (nel prossimo messaggio)

di come utilizzarle e quali siano le principali istruzioni ... relative all' Archivio.

:) Buona Giornata a tutte/i.
 
Ultima modifica:
Ciao Joe91 lo so che le istruzioni sono tantissime e che non si finirebbe mai di spiegarle , pero' una buona base c'e' la sta dando poi spetta a noi con il nostro impegno e le nostre possibilita' venirne a capo , non mi rimane altro che dirti ancora grazie per tutto quello che fai e per il tempo che ci dedichi , ciao.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 18 gennaio 2025
    Bari
    24
    76
    02
    72
    12
    Cagliari
    21
    08
    77
    04
    17
    Firenze
    74
    84
    07
    12
    72
    Genova
    13
    07
    33
    47
    18
    Milano
    01
    34
    09
    55
    48
    Napoli
    46
    23
    25
    03
    06
    Palermo
    44
    07
    01
    46
    84
    Roma
    88
    78
    64
    74
    04
    Torino
    07
    87
    67
    38
    53
    Venezia
    31
    25
    04
    18
    02
    Nazionale
    49
    82
    59
    65
    67
    Estrazione Simbolotto
    Bari
    03
    13
    31
    23
    35
Indietro
Alto