Ciao a tutti, ho letto da qualche parte che un utente chiedeva a joe91
di spiegare e scrivere uno script in italiano.
Cosa che non si puo fare in maniera completa perchè le parole chiave sono in inglese.
molti chiedono di imparare, ma solo pochi si impegnano veramente,
e magari lasciano perdere perche si perdono nelle varie Dim,es,k,r,
che per loro rappresenta qualcosa di oscuro, come lo era per me all'inizio.
Se LuigiB conosce l'intero alfabeto dello script compresi tutti i caratteri sulla tastiera,
io sono ancora alla lettera A in confronto a lui.
Ma quella singola lettera A, io l'ho capita molto bene(o almeno credo).
Ho deciso di dare il mio contributo con 2 script dimostrativi identici,
ma scritti in maniera differente.
Il primo script dimostrativo è scritto in maniera classica,
(lo si poteva fare anche molto più corto, ma ho preferito lasciarlo così comè
per praticità di comprensione).
Il secondo script dimostrativo è uguale identico al primo script,
ma è stato scritto in modo (ITALIANIZZATO) nel limite del possibile.
Si ricorda che le scritte in rosa sono quelle che si possono modificare,
mentre quelle con altri colori, rappresentano parole chiave, procedure,
funzioni,ecc..che non si possono modificare perchè fanno parte del linguaggio script,
e queste bisogna impararle
Le scritte in verdino sono solo commenti.
Leggendo il primo script, L'utente interessato, ma che non comprende,
potrà non capirci molto.
Con il secondo script (ITALIANIZZATO) e pieno di commenti per ciascuna riga,
potrà fare il confronto riga per riga con il primo script per capirci qualcosina in più.
La ragione del perchè uno scripter compila uno script in maniera classica,
sta nella velocità e tempo di esecuzione nella scrittura dello stesso,
è molto più veloce scrivere (es) che scrivere (IdentificativoDellEstrazione),
con questo si capisce al volo perchè uno scripter non sta li a perdere tempo.....
e usa parole corte che rappresentano la stessa cosa, tutto sta a mettere le (parole)
nel posto giusto.
Primo script dimostrativo scritto in maniera classica.
Codice:
Sub Main()
Dim es
Dim Ini
Dim Fin
Dim r1
Dim r2
Dim ee
Dim clp
Dim ruote(2)
Dim posta1(1)
Dim posta2(2)
Dim n1(2)
Dim Pos(2)
posta1(1) = 1
posta2(2) = 1
ee = CInt(InputBox(" Quante estrazioni vuoi controllare ? ",,"1000"))
r1 = CInt(InputBox(" Scegli la 1°ruota di gioco ",,"1"))
r2 = CInt(InputBox(" Scegli la 2°ruota di gioco ",,"2"))
Pos(1) = CInt(InputBox(" Scegli la posizione del 1° numero ",,"1"))
Pos(2) = CInt(InputBox(" Scegli la posizione del 2° numero ",,"5"))
clp = CInt(InputBox(" Per quanti colpi vuoi giocare ? ",,"9"))
Ini = EstrazioneFin - ee
Fin = EstrazioneFin
co = 0
For es = Ini To Fin
Messaggio "elab. estr. [" &(es) & "] di " & DataEstrazione(es,1)
Call AvanzamentoElab(Ini,Fin,es)
a = Estratto(es,r1,Pos(1))
b = Estratto(es,r1,Pos(2))
c = Estratto(es,r2,Pos(1))
d = Estratto(es,r2,Pos(2))
'----------------------------------------------------------------------------------------------------------
'Inizio formule di calcolo per ricavare i numeri in gioco
n1(1) = Fuori90(a + b + c + d)
n1(2) = Vert(n1(1))
'qui potete inserire altre formule diverse al posto di quelle che già ci sono per ricavare i vostri numeri
'----------------------------------------------------------------------------------------------------------
ruote(1) = r1
ruote(2) = r2
co = co + 1
Scrivi String(100,"°") & " Caso n°" & co,1
Scrivi DataEstrazione(es) & " -- " & SiglaRuota(r1) & " - " & StringaEstratti(es,r1),1
Scrivi DataEstrazione(es) & " -- " & SiglaRuota(r2) & " - " & StringaEstratti(es,r2),1
Scrivi String(65,"°"),1
ImpostaGiocata 1,n1,ruote,posta1,clp,1
ImpostaGiocata 2,n1,ruote,posta2,clp,2
Gioca es,1,,1
If ScriptInterrotto Then Exit For
Next
Scrivi
Scrivi String(100,"*")
ColoreTesto 2
Scrivi" casi trovati : " & co,1
ColoreTesto 0
Scrivi String(100," * ")
TestoInBandaPassante(" SCRIPT DIMOSTRATIVO BY LANFRANCO60"),1,3,0
ScriviResoconto
End Sub
Secondo script dimostrativo scritto in maniera (Italianizzata) piena di commenti (in verde).
Codice:
Sub Main()'Inizio dello script
Dim IdentificativoDellEstrazione'Identifica in modo univoco il numero dell'estrazione
Dim InizioEstrazioneDiRicerca' Identifica il numero dell'estrazione da cui far partire la ricerca
Dim FineEstrazioneDiRicerca'Identifica il numero dell'estrazione in cui far finire la ricerca
Dim PrimaRuotaDiRicerca'identifica la prima ruota voluta per la ricerca
Dim SecondaRuotaDiRicerca'Identifica la seconda ruota voluta per la ricerca
Dim EstrazioniDaControllare'rappresenta il totale delle estrazioni da analizzare
Dim ColpiDiGioco'sono i colpi di gioco da trascorrere per raggiungere la presunta vincita
Dim RuoteDiGioco(2)'Rappresenta la quantità di ruote in gioco, in questo caso le ruote sono due
Dim PrimaPuntata(1)'rappresenta la prima puntata, ovvero i soldi da spendere per la scommessa,in questo caso è per Ambata
Dim SecondaPuntata(2)'rappresenta la seconda puntata, ovvero i soldi da spendere per la scommessa,in questo caso è per Ambo
Dim NumeriInGioco(2)'Totale numeri in gioco, in questo caso 2
Dim PosizioneDellEstratto(2)'Indica la posizione dell'estratto, in questo caso sono 2 le posizioni da poter scegliere
PrimaPuntata(1) = 1'rappresenta in soldi il valore della prima puntata, in questo caso è 1 Euro
SecondaPuntata(2) = 1'rappresenta in soldi il valore della seconda puntata, anche in questo caso è 1 Euro
EstrazioniDaControllare = CInt(InputBox(" Quante estrazioni vuoi controllare ? ",,"100"))'si commenta da solo
PrimaRuotaDiRicerca = CInt(InputBox(" Scegli la 1°ruota di gioco ",,"1"))'Si commenta da solo
SecondaRuotaDiRicerca = CInt(InputBox(" Scegli la 2°ruota di gioco ",,"2"))'Si commenta da solo
PosizioneDellEstratto(1) = CInt(InputBox(" Scegli la posizione del 1° numero ",,"1"))'Si commenta da solo
PosizioneDellEstratto(2) = CInt(InputBox(" Scegli la posizione del 2° numero ",,"5"))'Si commenta da solo
ColpiDiGioco = CInt(InputBox(" Per quanti colpi vuoi giocare ? ",,"9"))'Si commenta da solo
InizioEstrazioneDiRicerca = EstrazioneFin - EstrazioniDaControllare'Rappresenta l'estrazione da cui far partire la ricerca
FineEstrazioneDiRicerca = EstrazioneFin'Rappresenta l'estrazione in cui la ricerca finisce
ContatoreDeiCasi = 0'Conta i casi giocabili
For IdentificativoDellEstrazione = InizioEstrazioneDiRicerca To FineEstrazioneDiRicerca'Effettua un ciclo di controllo fra tutte le estrazioni scelte per fare la ricerca
Messaggio "elab. estr. [" &(IdentificativoDellEstrazione) & "] di " & DataEstrazione(IdentificativoDellEstrazione,1)'Mostra a video un messaggio che visualizza info sulle estrazioni che si stanno controllando
Call AvanzamentoElab(InizioEstrazioneDiRicerca,FineEstrazioneDiRicerca,IdentificativoDellEstrazione)' Dice allo script di avanzare nel controllo delle estrazioni, la barra verde avanza...
PrimoNumeroDaPrimaRuotaConPosizione = Estratto(IdentificativoDellEstrazione,PrimaRuotaDiRicerca,PosizioneDellEstratto(1))'Va a prendere il primo numero della prima ruota e relativa posizione
SecondoNumeroDaPrimaRuotaConPosizione = Estratto(IdentificativoDellEstrazione,PrimaRuotaDiRicerca,PosizioneDellEstratto(2))'Va a prendere il secondo numero della prima ruota e relativa posizione
PrimoNumeroDaSecondaRuotaConPosizione = Estratto(IdentificativoDellEstrazione,SecondaRuotaDiRicerca,PosizioneDellEstratto(1))'Va a prendere il primo numero della seconda ruota e relativa posizione
SecondoNumeroDaSecondaRuotaConPosizione = Estratto(IdentificativoDellEstrazione,SecondaRuotaDiRicerca,PosizioneDellEstratto(2))'Va a prendere il secondo numero della seconda ruota e relativa posizione
'----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Inizio formule di calcolo per ricavare i numeri in gioco
NumeriInGioco(1) = Fuori90(PrimoNumeroDaPrimaRuotaConPosizione + SecondoNumeroDaPrimaRuotaConPosizione + PrimoNumeroDaSecondaRuotaConPosizione + SecondoNumeroDaSecondaRuotaConPosizione)'Non fa altro che sommare fuori90 i 4 numeri che abbiamo preso prima, questa è la prima Ambata
NumeriInGioco(2) = Vert(NumeriInGioco(1))'Ricava il vertibile del numero precedentemente ricavato, la seconda Ambata
'qui potete inserire altre formule diverse al posto di quelle che già ci sono per ricavare i vostri numeri
'-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
RuoteDiGioco(1) = PrimaRuotaDiRicerca'Si commenta da solo
RuoteDiGioco(2) = SecondaRuotaDiRicerca'Si commenta da solo
ContatoreDeiCasi = ContatoreDeiCasi + 1'Aggiunge di volta in volta al contatore dei casi tutti i casi giocabili
Scrivi String(100,"°") & " Caso n°" & ContatoreDeiCasi,1'Mostra il numero progressivo dei casi preceduti da un separatore
Scrivi DataEstrazione(IdentificativoDellEstrazione) & " -- " & SiglaRuota(PrimaRuotaDiRicerca) & " - " & StringaEstratti(IdentificativoDellEstrazione,PrimaRuotaDiRicerca),1'Mostra info sull'estrazione presa in esame per quel caso, qui mostra info sulla prima ruota
Scrivi DataEstrazione(IdentificativoDellEstrazione) & " -- " & SiglaRuota(SecondaRuotaDiRicerca) & " - " & StringaEstratti(IdentificativoDellEstrazione,SecondaRuotaDiRicerca),1'Mostra info sull'estrazione presa in esame per quel caso, qui mostra info sulla seconda ruota
Scrivi String(65,"°"),1'mostra una linea che funge da separatore
ImpostaGiocata 1,NumeriInGioco,RuoteDiGioco,PrimaPuntata,ColpiDiGioco,1'Imposta la prima giocata,con le impostazioni che noi gli abbiamo dato, in questo caso l'Ambata --- il numero 1 dopo la virgola sta a significare che la giocata si interrompe al primo caso positivo di AMBATA
ImpostaGiocata 2,NumeriInGioco,RuoteDiGioco,SecondaPuntata,ColpiDiGioco,2'Imposta la seconda giocata,con le impostazioni che noi gli abbiamo dato,in questo caso l'Ambo --- il numero 2 dopo la virgola sta a significare che la giocata si interrompe al primo caso positivo di AMBO
Gioca IdentificativoDellEstrazione,1,,1'Effettua le giocate che abbiamo impostato precedentemente --- I numeri dopo la virgola, così impostati mostrano solo i casi positivi e l'estrazione completa
If ScriptInterrotto Then Exit For'Serve in caso l'elaborazione fosse molto lunga( Molti anni di estrazioni da analizzare), premendo lo stop che vedete a video, lo script si interrompe dopo qualche secondo(a volte ci vuole più tempo)
Next'Non fa altro che ciclare su questa linea di codice che avete visto sopra (For IdentificativoDellEstrazione = InizioEstrazioneDiRicerca To FineEstrazioneDiRicerca)
Scrivi'Si commenta da solo
Scrivi String(100,"*")'Mostra a video un separatore lungo 100 con il carattere voluto, in questo caso la stellina o segno di moltiplicazione
ColoreTesto 2'Scrive nel colore desiderato, in questo caso 2 sta per il rosso
Scrivi" casi trovati : " & ContatoreDeiCasi,1'Mostra a video il totale dei casi trovati
ColoreTesto 0'Gia spiegato sopra, lo 0 sta per il colore nero
Scrivi String(100," * ")'Già visto sopra
TestoInBandaPassante(" SCRIPT DIMOSTRATIVO ITALIANIZZATO BY LANFRANCO60"),1,3,0'Mostra a video una scritta scorrevole con informazioni
ScriviResoconto'Si commenta da solo
End Sub'Fine dello script
l'utente interessato non deve far altro che confrontare riga per riga i 2 script,
che ripeto sono la stessa identica cosa.
Ovviamente per vedere i colori inseritelo in spaziometria
Spero di essere stato utile, un saluto a tutti