L
LuigiB
Guest
ti consiglio anche di inserire all'interno del loop la funzione per stoppare lo script caso mai ti scocciassi di aspettare l'analisi di 90 milioni di colonne
Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature may not be available in some browsers.
ecco .. allora prima che pure i miei neuroni diventino 3 come mai non lo hai fatto subito che io lo script da usare te lo avevo dato ieri ?
E' esattamente come hai detto.Ciao
Sub Main
Dim k
Dim Classe
Dim aCol
ReDim aNum(90)
Dim i
Dim RetRit,aRuote,nSorte,Fine
aRuote(1) = BA_
nSorte = 2
For k = 1 To 90
aNum(k) = k
Next
Classe = 5
If InitSviluppoIntegrale(aNum,Classe) > 0 Then
Do While GetCombSviluppo(aCol) = True
i = i + 1
RetRit = RitardoCombinazioneTurbo(aRuote,aNum,nSorte,Fine)
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol))
Loop
End If
End Sub
oviiamente devi cambiare le variabili , l'array che contiene la colonna corrente è aCol , aNum era l'array dei numeri da sviluppare in cinquine .
Se dentro al loop scrivi
if ScriptInterrotto then exit do
vedrai che non ti si impallera niente.
ciao
Sub Main
Dim k
Dim Classe
Dim aCol
ReDim aNum(90)
Dim i
Dim RetRit,aRuote,nSorte,Fine
aRuote(1) = BA_
nSorte = 2
For k = 1 To 90
aNum(k) = k
Next
Classe = 5
If InitSviluppoIntegrale(aNum,Classe) > 0 Then
Do While GetCombSviluppo(aCol) = True
i = i + 1
RetRit = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol))
If ScriptInterrotto Then Exit Do
Loop
End If
End Sub
Option Explicit
Sub Main
Dim k
Dim Classe
Dim aCol
ReDim aNum(90)
Dim i
Dim RetRit,aRuote,nSorte,Fine
Dim ColTot
ReDim aRuote (1)
aRuote(1) = BA_
nSorte = 2
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
RetRit = RitardoCombinazioneTurbo(aRuote,aCol,nSorte,Fine)
If RetRit > 500 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol))
End If
Call Messaggio ("Colonna " & i )
If ScriptInterrotto Then Exit Do
Loop
End If
End Sub
ciao la barra verde non compare perche la dovevi gestire tu con l'apposita funzione che puoi copiare da altri script
Io ho gestito solo il messaggio per evitare l'impallamento.
Per analizzare piu rute assieme devi inserire le ruote che vuoi nell'array delle ruote
per analizzare la stessa xombinazione su piu ruote diverse singolarmente devi fare una cosa semmplicissima , la piu banale ... prova ad indovinare cosa ...vediamo se rispondi al quiz considera che la risposta semplicissima ed è la piu banale.
Dim k
Dim Classe
Dim aCol
ReDim aNum(90)
Dim i
Dim aRuote,nSorte,Fine
Dim RetRit1,RetRit2,RetRit3
Dim ColTot
ReDim aRuote(3)
aRuote(1) = BA_
aRuote(2) = CA_
aRuote(3) = FI_
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
RetRit1 = RitardoCombinazioneTurbo(aRuote(1),aCol,nSorte,Fine)
RetRit2 = RitardoCombinazioneTurbo(aRuote(2),aCol,nSorte,Fine)
RetRit3 = RitardoCombinazioneTurbo(aRuote(3),aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If
If RetRit2 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit2)
End If
If RetRit3 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit3)
End If
Call Messaggio("Colonna " & i)
If ScriptInterrotto Then Exit Do
Loop
End If
End Sub
ciao Tom non è che ho guardato bene mi sono solo soffermato sull'errore macroscopico di aRuote ... l'array aRuote quando lo usiamo per analizzare piu ruote insieme ovviamente deve avere un numero di elementi pari al numero delle ruote volute , quando invece vogliamo fare una ruota sola allora l'array deve avere una sola dimensione la quale conterrò la ruota in ogetto , come hai fatto tu semplicemente hai analizzato 3 volte la combinazione su 3 ruote contemporaneamente.
Dim k
Dim Classe
Dim aCol
ReDim aNum(90)
Dim i
Dim aRuote,nSorte,Fine
Dim aRuote1,aRuote2,aRuote3
Dim RetRit1,RetRit2,RetRit3
Dim ColTot
ReDim aRuote1(1)
ReDim aRuote2(2)
ReDim aRuote3(3)
aRuote(1) = BA_
aRuote(2) = CA_
aRuote(3) = FI_
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
RetRit1 = RitardoCombinazioneTurbo(aRuote(1),aCol,nSorte,Fine)
RetRit2 = RitardoCombinazioneTurbo(aRuote(2),aCol,nSorte,Fine)
RetRit3 = RitardoCombinazioneTurbo(aRuote(3),aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If
If RetRit2 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit2)
End If
If RetRit3 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit3)
End If
Call Messaggio("Colonna " & i)
If ScriptInterrotto Then Exit Do
Loop
End If
End Sub
EstrazioneIni ed EstrazioneFin sono le due funzioni che leggono il range principale del programma cioe la barra rosa.
Se nelle funzini si omettono i parametri del rang la funzione lavora sull'intero archivio
no devi valorizzare l'array all'eelmento 1
poi chiamare la fuinzione
poi rivalorizzi larray ruote sempre all'elemento 1
poi richiaare la funzione
poi rivalorizzi larray ruote sempre all'elemento 1
poi richiaare la funzione
e cosi via
Dim k
Dim Classe
Dim aCol
ReDim aNum(90)
Dim i
Dim aRuote,nSorte,Fine
Dim aRuote1
Dim ColTot
ReDim aRuote1(1)
aRuote(1) = 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(1),aCol,nSorte,Fine)
If RetRit1 > 1830 Then
Call Scrivi(FormattaStringa(i,"00000") & " " & StringaNumeri(aCol) & "RA: " & RetRit1)
End If
Call Scrivi("--------------CAGLIARI---------------")
ReDim aRuote1(1)
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---------------")
ReDim aRuote1(1)
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
Call Messaggio("Colonna " & i)
If ScriptInterrotto Then Exit Do
Loop
End If
End Sub
alt .. .quando passi il vettore aRuote alla funzione Ritardo non dsevi mettere le parentesi ...
aRuote(1) no ... devi mettere aRuote
Dim k
Dim Classe
Dim aCol
ReDim aNum(90)
Dim i
Dim aRuote,nSorte,Fine
Dim aRuote1,aRuote2,aRuote3
Dim ColTot
ReDim aRuote1(1)
aRuote(1) = 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---------------")
ReDim aRuote1(1)
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---------------")
ReDim aRuote1(1)
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 AvanzamentoElab(0,UBound(aCol),k) //QUESTO E' IL TENTATIVO PER LA PROGRESS BAR
Call Messaggio("Colonna " & i)
If ScriptInterrotto Then Exit Do
Loop
End If
End Sub