Novità

Per scripters esperti

ok bene cosi ... ciao

Sul serio? Wow Sono commosso!!! :o
La ciliegina sulla torta? Sarebbe
poter mettere anzichè tutti e 90 i numeri...
ogni volta quelli che vogliamo...
Es. una volta 15 numeri
una volta 30 numeri
una volta 60 numeri
ecc...
e poter generare con questi elementi
di volta in volta in numero diverso
tutte le rispettive combinazioni
generabili...

es. con 60 elementi 1770 ambi ecc...

Per far questo credo che basterebbe... implementare nello script le seguenti ottimizzazioni...

Interfaccia che richieda quali numeri vogliamo analizzare (sarebbe ottima una analoga a quella tutta colorata già presente nella altre sezioni) che permette con un semplice copia incolla di mettere qualsiasi gruppo numerico uno abbia a disposizione (es. statistica formazioni veloce ecc...) e il relativo sviluppo dinamico... del tutto. Volendo strafare... :p si potrebbe implementare anche l'interfaccia analoga a molti altri script che permetta di scegliere la/le ruota/e di ricerca includendo magari anche TUTTE e NAZIONALE e se le vogliamo considerare unite o separate...

Questa sarebbe davvero la ciliegina sulla torta carissimo insuperabile professore LuigiB. Sia che tu abbia o meno questo titolo te lo meriti molto di piu' di chiunque altro conosca in ambito informaticooo :o Anzi fosse per me ti darei pure il nobel per la gentilezza e disponibilità verso il prossimo, l'ingegno, la praticità la velocità di realizzo e per la comprensione quasi istantanea di astrusi, e talvolta per niente comprensibili ai più, metodi lottologici! :D
 
Ultima modifica:
Ciao Tom , era giusta la logica ma ci sono comunque dei problemini
fai le correzioni e riposta lo script cosi vediamo se funge ..poi passiamo al resto

Immagine.png
 
Ciao Tom , era giusta la logica ma ci sono comunque dei problemini
fai le correzioni e riposta lo script cosi vediamo se funge ..poi passiamo al resto

Immagine.png

Ho provato a seguire tutti i tuoi consigli e punti da sostituire ma temo di aver peggiorato lo script... in quanto se prima forse partiva e s'interrompeva cliccando stop, adesso s'impalla in modo deciso... e devo nuovamente ricorrere a CTRL + ALT + CANC per chiudere il programma e poi ripartire... :rolleyes:

Codice:
Option Explicit
Sub Main
    
Dim k
Dim Classe
Dim aCol
ReDim aNum(90)
Dim i
Dim aRuote,nSorte,Fine,RetRit1
Dim ColTot








'ReDim aRuote1(1)
aRuote = BA_








nSorte = 3
For k = 1 To 90
aNum(k) = k
Next
Classe = 5
ColTot = InitSviluppoIntegrale(aNum,Classe)
If ColTot > 0 Then
Do While GetCombSviluppo(aCol) = True








i = i + 1






Call Scrivi("--------------BARI---------------")








RetRit1 = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If






Call Scrivi("--------------CAGLIARI---------------")






aRuote = CA_




RetRit1 = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If








Call Scrivi("--------------FIRENZE---------------")






aRuote = FI_




RetRit1 = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If




Call AvanzamentoElab(1,ColTot,i) 'QUESTO E' IL TENTATIVO PER LA PROGRESS BAR




Call Messaggio("Colonna " & i)
If ScriptInterrotto Then Exit Do
Loop
End If
End Sub

'Notte Maestro :)
 
Ultima modifica:
Ciao Tom , il metodo migliore è riprendere lo script che avevi postato , e trascriverlo linea per linea in un nuovo script.
Di ogni linea ti dovrai chiedere questa linea a cosa serve devo metterla '? posso metterla ? Cosa fa ?
Diverse indicazioni te le ho date nel messaggio precedente , ora devi semplicemente fare un po' di ragionamento per ottenre uno script funzionante.
Alcune variabili non sono necessarie ad esempio ho visto che avevi messo aRuote1 aRuote2 aRuote3 , di queste non ne serve nessuna ..si usa sempre aRuote , e a ruote si dimensiona col Redim , quindi non dimensionarla all'inizio col Dim.

Per la progressBar vedi che la funzione che la disegna ha 3 parametri , inizio , fine e valore corrente ebbene inizio e fine sono i limiti
delle colonne da analizzare , ovviamente il limite inferiore è 1 perche iniziamo dalla colonna 1 , il limite maggiore è ColTot che è il valore tornato dalla Funzione InitSviluppoIntegrale , durante il ciclo do per ogni colonna tu fai i =i +1 quindi vuol dire che i è il valore da passare al parametro valorecorrente della funzione della progressbar.

cosa importantissima che dico da anni e che ahime nessuno mi ascolta usate all'inizio dello script la direttiva
Option Explicit , specie se siete princiianti.

se vogliamo proseguire con le altre modifiche che vuoi fare non c'è altro modo che postarmi lo script funzionante con le correzioni che ti ho detto.

ciao
 
Ciao Tom , il metodo migliore è riprendere lo script che avevi postato , e trascriverlo linea per linea in un nuovo script.
Di ogni linea ti dovrai chiedere questa linea a cosa serve devo metterla '? posso metterla ? Cosa fa ?
Diverse indicazioni te le ho date nel messaggio precedente , ora devi semplicemente fare un po' di ragionamento per ottenre uno script funzionante.
Alcune variabili non sono necessarie ad esempio ho visto che avevi messo aRuote1 aRuote2 aRuote3 , di queste non ne serve nessuna ..si usa sempre aRuote , e a ruote si dimensiona col Redim , quindi non dimensionarla all'inizio col Dim.

Per la progressBar vedi che la funzione che la disegna ha 3 parametri , inizio , fine e valore corrente ebbene inizio e fine sono i limiti
delle colonne da analizzare , ovviamente il limite inferiore è 1 perche iniziamo dalla colonna 1 , il limite maggiore è ColTot che è il valore tornato dalla Funzione InitSviluppoIntegrale , durante il ciclo do per ogni colonna tu fai i =i +1 quindi vuol dire che i è il valore da passare al parametro valorecorrente della funzione della progressbar.

cosa importantissima che dico da anni e che ahime nessuno mi ascolta usate all'inizio dello script la direttiva
Option Explicit , specie se siete princiianti.

se vogliamo proseguire con le altre modifiche che vuoi fare non c'è altro modo che postarmi lo script funzionante con le correzioni che ti ho detto.

ciao

Dunque caro Proff :)
Ho commentato ogni riga secondo quanto mi sembra di aver capito che faccia...,
ho aggiunto option explicit, e tolto il redim di aRuote, ma siccome ho delle grosse lacune
per quanto riguarda la struttura intrinseca delle funzioni, variabili e uso delle stesse nel
tuo meraviglioso programma che sto conoscendo da questo punto di vista strutturale...
solo da 5 gg a questa parte, ti chiedo massima pazienza e massima lentezza nell'esporre
i passi da seguire non perchè non lo fai già benissimo ma solo per la mia estrema difficoltà
nell'azzeccare la via giusta :) Altrimenti mi sa che resteremo su questo punto in eterno
e le ottimizzazioni tanto anelate e credo utilissime a tutti/e non le faremo mai se aspetti
me... :o Con questo non posso che ringraziarti ulteriormemente per i tuoi tentativi di farmi
comprendere questo meraviglioso mondo fatto di script ultra potenziali!
Grazie Grazie Grazie e Buon week end Proff! :)



Codice:
Option Explicit
Sub Main


'queste righe dichiarano le variabili che sono richiamate nello script.
    
Dim k 
Dim Classe 
Dim aCol 
ReDim aNum(90)
Dim i
Dim aRuote,nSorte,Fine,RetRit1
Dim ColTot


'----------fine dichiarazione variabili-------------------------------




'Assegno alla variabile aRuote la ruota di BAri
aRuote = BA_






'Assegno alla sorte ricercata il valore 3
nSorte = 3


'Assegno al valore k i possibili numeri da 1 a 90 e ci costruisco un array aNum
For k = 1 To 90
aNum(k) = k
Next


'Assegno alla variabile classe il valore 5 ovvero chiedo di generare le cinquine
Classe = 5


'Con questa espressione chiedo la generazione effettiva di tutte le cinquine


ColTot = InitSviluppoIntegrale(aNum,Classe)


'Si chiede di sviluppare tutte le combinazioni
If ColTot > 0 Then


Do While GetCombSviluppo(aCol) = True


i = i + 1




'Si scrive un'etichetta a video per sapere che si sta valutando la ruota di BARI
Call Scrivi("--------------BARI---------------")


'Si calcola i ritardi per la sorte volute nel sistema integrale di classe voluta
RetRit1 = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
'Se questi ritardi sono maggiori di 1830 estrazioni
If RetRit1 > 1830 Then
'si scrive a video il numero di combinazione generata , la combinazione generata e il suo RA
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If




'---Procedura analoga per la ruota di CA e FI


'Si scrive un'etichetta a video per sapere che si sta valutando la ruota di CAGLIARI
Call Scrivi("--------------CAGLIARI---------------")






aRuote = CA_




RetRit1 = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If








Call Scrivi("--------------FIRENZE---------------")






aRuote = FI_




RetRit1 = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If


'fine procedura analoga per CA e FI




'Si genera una barra verde... che ci segnala dove siamo e quanto manca per il termine dell'elaborazione...


Call AvanzamentoElab(1,ColTot,i) 'QUESTO E' IL TENTATIVO PER LA PROGRESS BAR


'Si scrive insieme alla barra il numero di colonna in fase di elaborazione...
Call Messaggio("Colonna " & i)
'Se si preme lo "STOP" del bottone apposito durante l'esecuzione dello script questo s'interrompe.
If ScriptInterrotto Then Exit Do
Loop
End If
End Sub
 
Ciao Tom , cerca di consolidare quanto abbiamo gia detto perche ci sono errori di cui abbiamo gia discusso , fatte le seguenti correzioni
lo script è apposto , falle e riposta lo script.

Immagine.png


Immagine1.png
 
Ciao Tom , cerca di consolidare quanto abbiamo gia detto perche ci sono errori di cui abbiamo gia discusso , fatte le seguenti correzioni
lo script è apposto , falle e riposta lo script.

Immagine.png


Immagine1.png

Allora a meno di non aver lasciato qualcosa per sviste non volute cercando di ri-farlo con le ultime tue precise dritte adesso dovrebbe andare... :rolleyes:

Codice:
Option Explicit
Sub Main

'queste righe dichiarano le variabili che sono richiamate nello script.
  
Dim k 
Dim Classe 
Dim aCol 
ReDim aNum(90)
Dim i
Dim  nSorte,Fine,RetRit1
Dim ColTot
ReDim aRuote1(1)

'----------fine dichiarazione variabili-------------------------------

'Assegno alla variabile aRuote la ruota di BAri

aRuote(1) = BA_


'Assegno alla sorte ricercata il valore 3

nSorte = 3


'Assegno al valore k i possibili numeri da 1 a 90 e ci costruisco un array aNum

For k = 1 To 90
aNum(k) = k
Next


'Assegno alla variabile classe il valore 5 ovvero chiedo di generare le cinquine

Classe = 5


'Con questa espressione chiedo la generazione effettiva di tutte le cinquine


ColTot = InitSviluppoIntegrale(aNum,Classe)


'Si chiede di sviluppare tutte le combinazioni

If ColTot > 0 Then


Do While GetCombSviluppo(aCol) = True


i = i + 1


'Si scrive un'etichetta a video per sapere che si sta valutando la ruota di BARI


Call Scrivi("--------------BARI---------------")


'Si calcola i ritardi per la sorte volute nel sistema integrale di classe voluta

RetRit1 = RitardoCombinazioneTurbo(aRuote(1),aCol,nSorte,Fine)

'Se questi ritardi sono maggiori di 1830 estrazioni

If RetRit1 > 1830 Then

'si scrive a video il numero di combinazione generata , la combinazione generata e il suo RA

Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)

End If


'---Procedura analoga per la ruota di CA e FI


'Si scrive un'etichetta a video per sapere che si sta valutando la ruota di CAGLIARI

Call Scrivi("--------------CAGLIARI---------------")


aRuote(1) = CA_


RetRit1 = RitardoCombinazioneTurbo(aRuote(1),aCol,nSorte,Fine)

If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If


Call Scrivi("--------------FIRENZE---------------")


aRuote(1) = FI_


RetRit1 = RitardoCombinazioneTurbo(aRuote(1),aCol,nSorte,Fine)

If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If


'fine procedura analoga per CA e FI


'Si genera una barra verde... che ci segnala dove siamo e quanto manca per il termine dell'elaborazione...


Call AvanzamentoElab(1,ColTot,i) 'QUESTO E' IL TENTATIVO PER LA PROGRESS BAR


'Si scrive insieme alla barra il numero di colonna in fase di elaborazione...

Call Messaggio("Colonna " & i)

'Se si preme lo "STOP" del bottone apposito durante l'esecuzione dello script questo s'interrompe.

If ScriptInterrotto Then Exit Do

Loop

End If

End Sub

Aspetto il tuo VIA e partiamo (io da solo con la sezione elabora script non vado da nessuna parte ancora... :D:p) con le ultime ottimizzazioni del tuo meraviglioso IRON script! ;) Grazie ancora mitooo! :o
 
Ultima modifica:
ancora qualcosina , correggi , riposta lo script e per comodita ripet i cosa dobbiamo fare ancora.

Immagine2.png
 
ancora qualcosina , correggi , riposta lo script e per comodita ripet i cosa dobbiamo fare ancora.

Immagine2.png

L'avevo scritto poco più su... :)

Codice:
aRuote(1) = BA_

comunque se vuoi riposto tutto...

Codice:
Option Explicit
Sub Main
'queste righe dichiarano le variabili che sono richiamate nello script.
 
Dim k 
Dim Classe 
Dim aCol 
ReDim aNum(90)
Dim i
Dim  nSorte,Fine,RetRit1
Dim ColTot
ReDim aRuote1(1)
'----------fine dichiarazione variabili-------------------------------
 
 
'Assegno alla sorte ricercata il valore 3
nSorte = 3
 
'Assegno al valore k i possibili numeri da 1 a 90 e ci costruisco un array aNum
For k = 1 To 90
aNum(k) = k
Next
 
'Assegno alla variabile classe il valore 5 ovvero chiedo di generare le cinquine
Classe = 5
 
'Con questa espressione chiedo la generazione effettiva di tutte le cinquine
 
ColTot = InitSviluppoIntegrale(aNum,Classe)
 
'Si chiede di sviluppare tutte le combinazioni
If ColTot > 0 Then
 
Do While GetCombSviluppo(aCol) = True

i = i + 1
 
'Si scrive un'etichetta a video per sapere che si sta valutando la ruota di BARI

Call Scrivi("--------------BARI---------------")
 
'Si calcola i ritardi per la sorte volute nel sistema integrale di classe voluta
'Assegno alla variabile aRuote la ruota di BAri
aRuote(1) = BA_
RetRit1 = RitardoCombinazioneTurbo(aRuote(1),aCol,nSorte,Fine)
'Se questi ritardi sono maggiori di 1830 estrazioni
If RetRit1 > 1830 Then
'si scrive a video il numero di combinazione generata , la combinazione generata e il suo RA
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If
 
'---Procedura analoga per la ruota di CA e FI

'Si scrive un'etichetta a video per sapere che si sta valutando la ruota di CAGLIARI
Call Scrivi("--------------CAGLIARI---------------")
 
aRuote(1) = CA_
 
RetRit1 = RitardoCombinazioneTurbo(aRuote(1),aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If
 
Call Scrivi("--------------FIRENZE---------------")

aRuote(1) = FI_
 
RetRit1 = RitardoCombinazioneTurbo(aRuote(1),aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If
 
'fine procedura analoga per CA e FI
 
'Si genera una barra verde... che ci segnala dove siamo e quanto manca per il termine dell'elaborazione...
 
Call AvanzamentoElab(1,ColTot,i) 'QUESTO E' IL TENTATIVO PER LA PROGRESS BAR
 
'Si scrive insieme alla barra il numero di colonna in fase di elaborazione...
Call Messaggio("Colonna " & i)
'Se si preme lo "STOP" del bottone apposito durante l'esecuzione dello script questo s'interrompe.
If ScriptInterrotto Then Exit Do
Loop
End If
End Sub

Per quanto riguarda le altre ottimizzazioni sarebbero queste che ti ho riprese tali e quali dal post relativo postato poco piu' in sù.

Se vuoi però te le specifico meglio una per una...

La ciliegina sulla torta? Sarebbe
poter mettere anzichè tutti e 90 i numeri...
ogni volta quelli che vogliamo...
Es. una volta 15 numeri
una volta 30 numeri
una volta 60 numeri
ecc...
e poter generare con questi elementi
di volta in volta in numero diverso
tutte le rispettive combinazioni
generabili...

es. con 60 elementi 1770 ambi ecc...

Per far questo credo che basterebbe... implementare nello script le seguenti ottimizzazioni...

Interfaccia che richieda quali numeri vogliamo analizzare (sarebbe ottima una analoga a quella tutta colorata già presente nella altre sezioni) che permette con un semplice copia incolla di mettere qualsiasi gruppo numerico uno abbia a disposizione (es. statistica formazioni veloce ecc...) e il relativo sviluppo dinamico... del tutto. Volendo strafare... :p si potrebbe implementare anche l'interfaccia analoga a molti altri script che permetta di scegliere la/le ruota/e di ricerca includendo magari anche TUTTE e NAZIONALE e se le vogliamo considerare unite o separate...

Questa sarebbe davvero la ciliegina sulla torta carissimo insuperabile professore LuigiB. :)
 
Ultima modifica:
lo so che lo avevi scritto poxco piu su , infatti era fuori dal loop e non andava bene ..
ci sono ancora errori , correggi e riposta .

Immagine3.png


poi appena facciamo lo script funzionante passiamo al resto
 
lo so che lo avevi scritto poxco piu su , infatti era fuori dal loop e non andava bene ..
ci sono ancora errori , correggi e riposta .

Immagine3.png


poi appena facciamo lo script funzionante passiamo al resto

Fatto :D

Codice:
Option Explicit
Sub Main
'queste righe dichiarano le variabili che sono richiamate nello script.
 
Dim k 
Dim Classe 
Dim aCol 
ReDim aNum(90)
Dim i
Dim  nSorte,Fine,RetRit1
Dim ColTot
ReDim aRuote(1)
'----------fine dichiarazione variabili-------------------------------
 
 
'Assegno alla sorte ricercata il valore 3
nSorte = 3
 
'Assegno al valore k i possibili numeri da 1 a 90 e ci costruisco un array aNum
For k = 1 To 90
aNum(k) = k
Next
 
'Assegno alla variabile classe il valore 5 ovvero chiedo di generare le cinquine
Classe = 5
 
'Con questa espressione chiedo la generazione effettiva di tutte le cinquine
 
ColTot = InitSviluppoIntegrale(aNum,Classe)
 
'Si chiede di sviluppare tutte le combinazioni
If ColTot > 0 Then
 
Do While GetCombSviluppo(aCol) = True

i = i + 1
 
'Si scrive un'etichetta a video per sapere che si sta valutando la ruota di BARI

Call Scrivi("--------------BARI---------------")
 
'Si calcola i ritardi per la sorte volute nel sistema integrale di classe voluta
'Assegno alla variabile aRuote la ruota di BAri
aRuote(1) = BA_
RetRit1 = RitardoCombinazioneTurbo(aRuote(1),aCol,nSorte,Fine)
'Se questi ritardi sono maggiori di 1830 estrazioni
If RetRit1 > 1830 Then
'si scrive a video il numero di combinazione generata , la combinazione generata e il suo RA
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If
 
'---Procedura analoga per la ruota di CA e FI

'Si scrive un'etichetta a video per sapere che si sta valutando la ruota di CAGLIARI
Call Scrivi("--------------CAGLIARI---------------")
 
aRuote(1) = CA_
 
RetRit1 = RitardoCombinazioneTurbo(aRuote(1),aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If
 
Call Scrivi("--------------FIRENZE---------------")

aRuote(1) = FI_
 
RetRit1 = RitardoCombinazioneTurbo(aRuote(1),aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If
 
'fine procedura analoga per CA e FI
 
'Si genera una barra verde... che ci segnala dove siamo e quanto manca per il termine dell'elaborazione...
 
Call AvanzamentoElab(1,ColTot,i) 'QUESTO E' IL TENTATIVO PER LA PROGRESS BAR
 
'Si scrive insieme alla barra il numero di colonna in fase di elaborazione...
Call Messaggio("Colonna " & i)
'Se si preme lo "STOP" del bottone apposito durante l'esecuzione dello script questo s'interrompe.
If ScriptInterrotto Then Exit Do
Loop
End If
End Sub

Al momento.. non lo posso testare.. perchè sto facendo girare una ricerca per le prossime previsioni :o
 
Ultima modifica:
ancora errori ...
Immagine4.png

Sostituito last error... :rolleyes:

Testato...

A me sembra che adesso funga che è na meraviglia! :D

Codice:
Option Explicit
Sub Main
'queste righe dichiarano le variabili che sono richiamate nello script.
 
Dim k 
Dim Classe 
Dim aCol 
ReDim aNum(90)
Dim i
Dim  nSorte,Fine,RetRit1
Dim ColTot
ReDim aRuote(1)
'----------fine dichiarazione variabili-------------------------------
 
 
'Assegno alla sorte ricercata il valore 3
nSorte = 3
 
'Assegno al valore k i possibili numeri da 1 a 90 e ci costruisco un array aNum
For k = 1 To 90
aNum(k) = k
Next
 
'Assegno alla variabile classe il valore 5 ovvero chiedo di generare le cinquine
Classe = 5
 
'Con questa espressione chiedo la generazione effettiva di tutte le cinquine
 
ColTot = InitSviluppoIntegrale(aNum,Classe)
 
'Si chiede di sviluppare tutte le combinazioni
If ColTot > 0 Then
 
Do While GetCombSviluppo(aCol) = True


i = i + 1
 
'Si scrive un'etichetta a video per sapere che si sta valutando la ruota di BARI


Call Scrivi("---BAR--------")
 
'Si calcola i ritardi per la sorte volute nel sistema integrale di classe voluta
'Assegno alla variabile aRuote la ruota di BAri
aRuote(1) = BA_
RetRit1 = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
'Se questi ritardi sono maggiori di 1830 estrazioni
If RetRit1 > 1830 Then
'si scrive a video il numero di combinazione generata , la combinazione generata e il suo RA
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & " RA: " & RetRit1)
End If
 
'---Procedura analoga per la ruota di CA e FI


'Si scrive un'etichetta a video per sapere che si sta valutando la ruota di CAGLIARI
Call Scrivi("---CAGLIARI---")
 
aRuote(1) = CA_
 
RetRit1 = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & " RA: " & RetRit1)
End If
 
Call Scrivi("---FIRENZE----")


aRuote(1) = FI_
 
RetRit1 = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & " RA: " & RetRit1)
End If
 
'fine procedura analoga per CA e FI
 
'Si genera una barra verde... che ci segnala dove siamo e quanto manca per il termine dell'elaborazione...
 
Call AvanzamentoElab(1,ColTot,i) 'QUESTO E' IL TENTATIVO PER LA PROGRESS BAR
 
'Si scrive insieme alla barra il numero di colonna in fase di elaborazione...
Call Messaggio("Colonna " & i)
'Se si preme lo "STOP" del bottone apposito durante l'esecuzione dello script questo s'interrompe.
If ScriptInterrotto Then Exit Do
Loop
End If
End Sub

Quando vuoi si prepara la ciliegina! :p

Buona domenica Proff! :o
 
Ultima modifica:
Perfetto , confermo che ora funge .... MA ... prima della ciliegina si fanno le ottimizzazioni ..
Come si vede dall'immagine sotto lo script scrive in output un sacco di righe inutili
cioè quelle costituite dai nomi delle ruote che vengono comunque scritti a prescindere dal
fatto che sia stata trovata la condizione.
Ebbene , noi non vogliamo che per mostrare l'output il programma ci metta un'ora e mezza
quindi per ridurre l'output agiamo sul codice affinche le righe inutili non vengano scritte.
Come faremo ? Rispondi al quiz e riposta il codice


Immagine.png
 
Ultima modifica di un moderatore:
Perfetto , confermo che ora funge .... MA ... prima della ciliegina si fanno le ottimizzazioni ..
Come si vede dall'immagine sotto lo script scrive in output un sacco di righe inutili
cioè quelle costituite dai nomi delle ruote che vengono comunque scritti a prescindere dal
fatto che sia stata trovata la condizione.
Ebbene , noi non vogliamo che per mostrare l'output il programma ci metta un'ora e mezza
quindi per ridurre l'output agiamo sul codice affinche le righe inutili non vengano scritte.
Come faremo ? Rispondi al quiz e riposta il codice


Immagine.png


Codice:
Option Explicit
Sub Main 
'queste righe dichiarano le variabili che sono richiamate nello script.


Dim k
Dim Classe
Dim aCol
ReDim aNum(90)
Dim i
Dim nSorte,Fine,RetRit1
Dim ColTot
ReDim aRuote(1)
'----------fine dichiarazione variabili-------------------------------




'Assegno alla sorte ricercata il valore 3
nSorte = 3


'Assegno al valore k i possibili numeri da 1 a 90 e ci costruisco un array aNum
For k = 1 To 90
aNum(k) = k
Next


'Assegno alla variabile classe il valore 5 ovvero chiedo di generare le cinquine
Classe = 5


'Con questa espressione chiedo la generazione effettiva di tutte le cinquine


ColTot = InitSviluppoIntegrale(aNum,Classe)


'Si chiede di sviluppare tutte le combinazioni
If ColTot > 0 Then


Do While GetCombSviluppo(aCol) = True


i = i + 1


'Si scrive un'etichetta a video per sapere che si sta valutando la ruota di BARI






'Si calcola i ritardi per la sorte volute nel sistema integrale di classe voluta
'Assegno alla variabile aRuote la ruota di BAri
aRuote(1) = BA_
RetRit1 = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
'Se questi ritardi sono maggiori di 1830 estrazioni
If RetRit1 > 1830 Then
Call Scrivi("---BARI--------")
'si scrive a video il numero di combinazione generata , la combinazione generata e il suo RA
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & " RA: " & RetRit1)
End If


'---Procedura analoga per la ruota di CA e FI


'Si scrive un'etichetta a video per sapere che si sta valutando la ruota di CAGLIARI




aRuote(1) = CA_


RetRit1 = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi("---CAGLIARI---")
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & " RA: " & RetRit1)
End If






aRuote(1) = FI_


RetRit1 = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi("---FIRENZE----")
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & " RA: " & RetRit1)
End If


'fine procedura analoga per CA e FI


'Si genera una barra verde... che ci segnala dove siamo e quanto manca per il termine dell'elaborazione...


Call AvanzamentoElab(1,ColTot,i) 'QUESTO E' IL TENTATIVO PER LA PROGRESS BAR


'Si scrive insieme alla barra il numero di colonna in fase di elaborazione...
Call Messaggio("Colonna " & i)
'Se si preme lo "STOP" del bottone apposito durante l'esecuzione dello script questo s'interrompe.
If ScriptInterrotto Then Exit Do
Loop
End If
End Sub


And NOW... little cherry! :D
 
Ultima modifica:
molto bene , possiamo passare al primo pezzettino di ciliegina.
Tu dicevi che vuoi avere la possibilita di selezionare dinamicamente i numeri con i quali sviluppare le combinazioni.
benissimo...
Dallo script che siamo riusciti a produrre abbiamo visto che per indicare alla funzione di sviluppo quali siano i numeri da sviluppare
si usa un semplice array nel quale si inseriscono tutti i numeri , infatti lo script per ora sviluppa tutti i 90 numeri.
Immagine0.png

quindi se vogliamo poter scegliere dinamicamente i numeri da sviluppare dovremo avere la possibilita di alimentare dinamicamente
l'array aNum magari facendo uscire l'interfaccia di selezione numeri è ovvio che dovremmo sostituire la porzione di codice precedente con qualcosa di altro .. ti stupirai a vedere che paradossalmente scegliere dinamicamente i numeri facendo apparire
l'apposita interfaccia è piu semplice che impostare tutti i 90 numeri come abbiamo gia fatto.
Perche è piu semplice ? Perche nello spazioscript c'è un'apposita funzione che lo fa per noi quindi basta usare quella
e con solo una linea di codice sostituiamo le 3 linee della porzione di codice precedente (il ciclo For Next)
Questa funzione si chiama per l'appunto ScegliNumeri , gli si passa un array e tale array torna al chiamante
con i numeri scelti dall'utente , il risultato della funzione invece è la quantità di numeri selezionati.

Codice:
Redim aNum(0)
QuantitaNumeriScelti = ScegliNumeri (aNum)

la funzione è documentata nell'help come si vede da questa immagine.
Come usarla per ottenere il primo pezzetto della ciliegina ? Risolvi il quiz e posta il codice


Immagine.png
 
Ultima modifica di un moderatore:
molto bene , possiamo passare al primo pezzettino di ciliegina.
Tu dicevi che vuoi avere la possibilita di selezionare dinamicamente i numeri con i quali sviluppare le combinazioni.
benissimo...
Dallo script che siamo riusciti a produrre abbiamo visto che per indicare alla funzione di sviluppo quali siano i numeri da sviluppare
si usa un semplice array nel quale si inseriscono tutti i numeri , infatti lo script per ora sviluppa tutti i 90 numeri.
Immagine0.png

quindi se vogliamo poter scegliere dinamicamente i numeri da sviluppare dovremo avere la possibilita di alimentare dinamicamente
l'array aNum magari facendo uscire l'interfaccia di selezione numeri è ovvio che dovremmo sostituire la porzione di codice precedente con qualcosa di altro .. ti stupirai a vedere che paradossalmente scegliere dinamicamente i numeri facendo apparire
l'apposita interfaccia è piu semplice che impostare tutti i 90 numeri come abbiamo gia fatto.
Perche è piu semplice ? Perche nello spazioscript c'è un'apposita funzione che lo fa per noi quindi basta usare quella
e con solo una linea di codice sostituiamo le 3 linee della porzione di codice precedente (il ciclo For Next)
Questa funzione si chiama per l'appunto ScegliNumeri , gli si passa un array e tale array torna al chiamante
con i numeri scelti dall'utente , il risultato della funzione invece è la quantità di numeri selezionati.

Codice:
Redim aNum(0)
QuantitaNumeriScelti = ScegliNumeri (aNum)

la funzione è documentata nell'help come si vede da questa immagine.
Come usarla per ottenere il primo pezzetto della ciliegina ? Risolvi il quiz e posta il codice


Immagine.png


Mi sembra troppo facile... :D sicuramente ho dimenticato qualcosa anche se lo script... gira e si stoppa correttamente...

Codice:
Option Explicit  
Sub Main
'queste righe dichiarano le variabili che sono richiamate nello script.


Dim k
Dim Classe
Dim aCol
ReDim aNum(90)
Dim i
Dim nSorte,Fine,RetRit1,QuantitaNumeriScelti
Dim ColTot
ReDim aRuote(1)


ReDim aNum(0)
QuantitaNumeriScelti = ScegliNumeri (aNum)


'----------fine dichiarazione variabili-------------------------------




'Assegno alla sorte ricercata il valore 3
nSorte = 3


'Assegno al valore k i possibili numeri da 1 a 90 e ci costruisco un array aNum
'For k = 1 To 90
'aNum(k) = k
'Next


'Assegno alla variabile classe il valore 5 ovvero chiedo di generare le cinquine
Classe = 5


'Con questa espressione chiedo la generazione effettiva di tutte le cinquine


ColTot = InitSviluppoIntegrale(aNum,Classe)


'Si chiede di sviluppare tutte le combinazioni
If ColTot > 0 Then


Do While GetCombSviluppo(aCol) = True


i = i + 1


'Si scrive un'etichetta a video per sapere che si sta valutando la ruota di BARI






'Si calcola i ritardi per la sorte volute nel sistema integrale di classe voluta
'Assegno alla variabile aRuote la ruota di BAri
aRuote(1) = BA_
RetRit1 = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
'Se questi ritardi sono maggiori di 1830 estrazioni
If RetRit1 > 0 Then
Call Scrivi("---BARI--------")
'si scrive a video il numero di combinazione generata , la combinazione generata e il suo RA
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & " RA: " & RetRit1)
End If


'---Procedura analoga per la ruota di CA e FI


'Si scrive un'etichetta a video per sapere che si sta valutando la ruota di CAGLIARI




aRuote(1) = CA_


RetRit1 = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
If RetRit1 > 0 Then
Call Scrivi("---CAGLIARI---")
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & " RA: " & RetRit1)
End If






aRuote(1) = FI_


RetRit1 = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
If RetRit1 > 0 Then
Call Scrivi("---FIRENZE----")
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & " RA: " & RetRit1)
End If


'fine procedura analoga per CA e FI


'Si genera una barra verde... che ci segnala dove siamo e quanto manca per il termine dell'elaborazione...


Call AvanzamentoElab(1,ColTot,i) 'QUESTO E' IL TENTATIVO PER LA PROGRESS BAR


'Si scrive insieme alla barra il numero di colonna in fase di elaborazione...
Call Messaggio("Colonna " & i)
'Se si preme lo "STOP" del bottone apposito durante l'esecuzione dello script questo s'interrompe.
If ScriptInterrotto Then Exit Do
Loop
End If
End Sub

Non ho fatto altro che aggiungere le tue 2 righe di codice e commentare quelle relative alla generazione dell'array aNum con i 90 numeri...

Magicamente... appare la bellissima tabella colorata che permette la scelta dei numeri voluti.

Attendo nuove istruzioni per finire la cyber torta insieme Maestro!!! :o
 
Benissimo infatti era facile .. procediamo bene.

Quindi riepiloghiamo gli ingredienti della torta

Per far questo credo che basterebbe... implementare nello script le seguenti ottimizzazioni...

Interfaccia che richieda quali numeri vogliamo analizzare (sarebbe ottima una analoga a quella tutta colorata già presente nella altre sezioni) che permette con un semplice copia incolla di mettere qualsiasi gruppo numerico uno abbia a disposizione (es. statistica formazioni veloce ecc...) e il relativo sviluppo dinamico... del tutto.


questo a quanto pare è fatto , passiamo al punto 2 e cioe :


Volendo strafare... si potrebbe implementare anche l'interfaccia analoga a molti altri script che permetta di scegliere la/le ruota/e di ricerca includendo magari anche TUTTE e NAZIONALE e se le vogliamo considerare unite o separate...


per ottenere questo usiamo anche in questo caso una funzione dello spazioscript che analogamente a quento abbiamo gia visto
questa volta consente di far apparire un'interfaccia per scegliere le ruote e torna la chiamante le ruote selezionate.

bene questa funzione si chiama guarda caso ScegliRuote
A te l'onore di andare a vedere cosa dice l'help a proposito di questa funzione e una volta capito usarla per preimpostare
diamicamente l'array delle ruote.
In questo caso con un array di ruote scelto dinamicamene che ne puo contenere un numero qualsiasi non ha piu senso dentro al ciclo
di lanciare 3 volte la funzione Ritardo ma si deve lanciare una volta sola passando appunto l'array delle ruote caricato dinamicamente
altra dritta p che questa funzione ha 2 paramentri ma il secondo è opzionale , in questo caso a te non serve e puoi ometterlo , si usa come quell'altra e cioè è semplicissimo.
Vediamo se hai capito come.
Ciao
 
Benissimo infatti era facile .. procediamo bene.

Quindi riepiloghiamo gli ingredienti della torta

Per far questo credo che basterebbe... implementare nello script le seguenti ottimizzazioni...

Interfaccia che richieda quali numeri vogliamo analizzare (sarebbe ottima una analoga a quella tutta colorata già presente nella altre sezioni) che permette con un semplice copia incolla di mettere qualsiasi gruppo numerico uno abbia a disposizione (es. statistica formazioni veloce ecc...) e il relativo sviluppo dinamico... del tutto.


questo a quanto pare è fatto , passiamo al punto 2 e cioe :


Volendo strafare... si potrebbe implementare anche l'interfaccia analoga a molti altri script che permetta di scegliere la/le ruota/e di ricerca includendo magari anche TUTTE e NAZIONALE e se le vogliamo considerare unite o separate...


per ottenere questo usiamo anche in questo caso una funzione dello spazioscript che analogamente a quento abbiamo gia visto
questa volta consente di far apparire un'interfaccia per scegliere le ruote e torna la chiamante le ruote selezionate.

bene questa funzione si chiama guarda caso ScegliRuote
A te l'onore di andare a vedere cosa dice l'help a proposito di questa funzione e una volta capito usarla per preimpostare
diamicamente l'array delle ruote.
In questo caso con un array di ruote scelto dinamicamene che ne puo contenere un numero qualsiasi non ha piu senso dentro al ciclo
di lanciare 3 volte la funzione Ritardo ma si deve lanciare una volta sola passando appunto l'array delle ruote caricato dinamicamente
altra dritta p che questa funzione ha 2 paramentri ma il secondo è opzionale , in questo caso a te non serve e puoi ometterlo , si usa come quell'altra e cioè è semplicissimo.
Vediamo se hai capito come.
Ciao

Dunque...
Ho trovato la guida e la spiegazione relativa... :)

[TABLE="width: 100%"]
[TR]
[TD="width: 100%"]ScegliRuote
[/TD]
[TD="width: 120"]
newreply.php
newreply.php

[/TD]
[/TR]
[/TABLE]



ScegliRuote(aRuoteSel, Optional aBRuoteSel = Nothing) As Integer










Note:






Mostra una finestra con una lista dalla quale è possibile selezionare ruote multiple




Valore di ritorno:






Torna il numero di ruote selezionate , mentre gli array aRuoteSel e aBRuoteSel


tornano le ruote effettivamente selezionate.


Dopo aver lanciato questa funzione l'array aRuoteSel potra essere passato alla


funzione ImpostaGiocata in questo modo è possibile selezionare dinamicamente le ruote


in gioco senza dover ogni volta intervenire sullo script






nell'array aRuoteSel tornano i numeri delle ruote quindi se l'utente avesse selezionato BA + VE


l'array tornerebbe valorizzato con :


aRuoteSel (1) = 1


aRuoteSel (2) = 10


aRuoteSel (3) = 0


aRuoteSel (4) = 0


aRuoteSel (5) = 0


aRuoteSel (6) = 0


aRuoteSel (7) = 0


aRuoteSel (8) = 0


aRuoteSel (9) = 0


aRuoteSel (10) = 0


aRuoteSel (11) = 0


aRuoteSel (12) = 0






nell'array aBRuoteSel tornano i flag delle ruote selezionate quindi se l'utente avesse selezionato BA + VE


l'array tornerebbe valorizzato con :


aBRuoteSel (1) = True ---Bari


aBRuoteSel (2) = False


aBRuoteSel (3) = False


aBRuoteSel (4) = False


aBRuoteSel (5) = False


aBRuoteSel (6) = False


aBRuoteSel (7) = False


aBRuoteSel (8) = False


aBRuoteSel (9) = False


aBRuoteSel (10) = True ---Venezia


aBRuoteSel (11) = False


aBRuoteSel (12) = False






Parametri:






aRuoteSel


Array che conterra i numeri delle ruote selezionate


questo array si potra passare direttamente alla funzione ImpostaGiocata


Prima di passarlo dichiarare con


Redim aRuoteSel (12)










aBRuoteSel


Opzionale consente di riottenere un array con i


flag delle ruote selezionate , se non serve non usare altrimenti dichiarare con






Redim aBRuoteSel (12)


sTitolo


Titolo della finestra






Ma ... :rolleyes:

nonostante questo cod non generi errori o non si blocchi...

Codice:
Option Explicit
Sub Main
'queste righe dichiarano le variabili che sono richiamate nello script.


Dim k
Dim Classe
Dim aCol
ReDim aNum(90)
Dim i
Dim nSorte,Fine,RetRit1,QuantitaNumeriScelti,aRuoteSel,RuoteSelezionate
Dim ColTot
'ReDim aRuote(1)


ReDim aNum(0)
QuantitaNumeriScelti = ScegliNumeri(aNum)


ReDim aRuoteSel(12)
RuoteSelezionate = ScegliRuote(aRuoteSel)


'----------fine dichiarazione variabili-------------------------------




'Assegno alla sorte ricercata il valore 3
nSorte = 3


'Assegno al valore k i possibili numeri da 1 a 90 e ci costruisco un array aNum
'For k = 1 To 90
'aNum(k) = k
'Next


'Assegno alla variabile classe il valore 5 ovvero chiedo di generare le cinquine
Classe = 5


'Con questa espressione chiedo la generazione effettiva di tutte le cinquine


ColTot = InitSviluppoIntegrale(aNum,Classe)


'Si chiede di sviluppare tutte le combinazioni
If ColTot > 0 Then


Do While GetCombSviluppo(aCol) = True


i = i + 1


'Si scrive un'etichetta a video per sapere che si sta valutando la ruota di BARI






'Si calcola i ritardi per la sorte volute nel sistema integrale di classe voluta
'Assegno alla variabile aRuote la ruota di BAri


RetRit1 = RitardoCombinazioneTurbo(aRuoteSel,aCol,nSorte,Fine)
'Se questi ritardi sono maggiori di 1830 estrazioni
If RetRit1 > 0 Then
Call Scrivi("---QUI CI ANDREBBE IL NOME DELLA RUOTA ANALIZZATA---")
'si scrive a video il numero di combinazione generata , la combinazione generata e il suo RA
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & " RA: " & RetRit1)
End If


'---Procedura analoga per la ruota di CA e FI
'fine procedura analoga per CA e FI


'Si genera una barra verde... che ci segnala dove siamo e quanto manca per il termine dell'elaborazione...


Call AvanzamentoElab(1,ColTot,i) 'QUESTO E' IL TENTATIVO PER LA PROGRESS BAR


'Si scrive insieme alla barra il numero di colonna in fase di elaborazione...
Call Messaggio("Colonna " & i)
'Se si preme lo "STOP" del bottone apposito durante l'esecuzione dello script questo s'interrompe.
If ScriptInterrotto Then Exit Do
Loop
End If
End Sub

Non fa esattamente quello che deve fare e non riesco a stampare a video il nome della ruota elaborata... :rolleyes:

Però apre correttamente il pannello per la scelta delle ruote, almeno quello... :p
 
nel modo che ti ho detto io le n ruote vengono analizzate unite , se vuoi farle separate devi risolverla con un ciclo che per ogni combinazione prodotta vede su quali ruote analizzarla e quindi la analizza appena individuata.
In pratica dentro al ciclo do che produce le colonne dovrai mettere un ciclo for che scandisce l'array dellle ruote
e le analizza una alla volta, dovraii dichiarare un secondo array aRuote2 dato che aRuote è gia usato per memorizzare le ruote da analizzare.. ti ho dato delle dritte e col ragionamento ce la puoi fare tranquillamente.
Vedi tu
 

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