Novità

Subscript Of Range (dopo la fine di ogni primo giro di analisi) . Perchè?

lotto_tom75

Premium Member
Messaggi
8.176
Punti reazione
288
Punti
83
Codice:
Sub AnalisiLunghetteFromSceglinumeri(Inizio,Fine,aRuote,Sorte,idFiltro,qIncr,bPrimaEstrFissa,nDistanza)
Dim nTotLunghette
Dim k,sChrSep,nClasse,sNumReal,nClasseiniziale,nClassefinale
ReDim aLunghette(0)
Dim clsL,collLunghette,FiltroEsaminato
Set collLunghette = GetNewCollection
FiltroEsaminato = ScriviFiltro(idFiltro)
sChrSep = " "
ScegliNumeri(aLunghette)
'nClasse = CInt(InputBox(" classe sviluppo ",,2))
nClasseiniziale = CInt(InputBox(" classe sviluppo iniziale ",,10))
nClassefinale = CInt(InputBox(" classe sviluppo finale ",,3))

For nClasse = nClasseiniziale To nClassefinale Step - 1

nTotLunghette = InitSviluppoIntegrale(aLunghette,nClasse)
k = 0
Do While GetCombSviluppo(aLunghette)
k = k + 1
Set clsL = New clsLunghetta
Call clsL.Init(aLunghette,sChrSep,Inizio,Fine,aRuote,Sorte)
If clsL.IsCondizioneRispettata(idFiltro,qIncr) Then
Call clsL.EseguiStatistica
collLunghette.Add clsL
End If
If k Mod 50 = 0 Then
Call Messaggio("Riga " & k & "  valide " & collLunghette. count & " classe " & nClasse & " sorte " & Sorte & " ruote " & StringaRuote(aRuote) & " lung. totali " & nTotLunghette )

DoEventsEx
Call AvanzamentoElab(1,nTotLunghette,k)
If ScriptInterrotto Then Exit Do
End If
Loop

Call Scrivi
Call Scrivi("Elaborazione effettuata con archivio lotto aggiornato all'estrazione del: " & giorno(EstrazioneFin) & "-" & Mese(EstrazioneFin) & "-" & Anno(EstrazioneFin))
Call Scrivi


Scrivi "Range analisi         : " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(Fine)
Scrivi "Classe di sviluppo    : " & nClasse
Scrivi "Lunghette esaminate   : " & nTotLunghette & " Valide : " & collLunghette.count
Scrivi "Sorte                 : " & NomeSorte(Sorte)
Scrivi "Ruote                 : " & StringaRuote(aRuote)
Scrivi

Call Scrivi
If collLunghette.count > 0 Then
Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
For Each clsL In collLunghette
If nDistanza = 0 Then
Call Scrivi("Numeri Formazione     : " & clsL.LunghettaString)
Else
sNumReal = clsL.TrasformaArrayNumVirToNumReal(nDistanza,bPrimaEstrFissa)
Call Scrivi("Numeri Formazione     : " & clsL.LunghettaString & "   " & "Numeri Verifica   : " & sNumReal)
End If
Call Scrivi("Ritardo               : " & clsL.Ritardo)
Call Scrivi("RitMax                : " & clsL.RitardoMax)
Call Scrivi("Freq                  : " & clsL.Frequenza)
Next
Else
Scrivi "Nessuna lunghetta rispetta le condizioni"
Scrivi "Lunghette esaminate " & nTotLunghette
End If

Scrivi
Scrivi("Tempo trascorso: " & TempoTrascorso)

If ScriptInterrotto Then Exit For
Next

End Sub
Questo mio code mi da sempre errore Subscript Of Range dopo la prima analisi che porta a termine apparentemente senza errori. Il limite di classe per lo sviluppo di tipo integrale è attualmente 20. Perchè anche con classi nettamente inferiori (nell'es da 10 a 3) mi da lo stesso errore??? :unsure: Grazie

La riga cui si riferisce l'errore bloccante... è questa:

Codice:
 Do While GetCombSviluppo(aLunghette)
 
Ultima modifica:

lotto_tom75

Premium Member
Messaggi
8.176
Punti reazione
288
Punti
83
Ce l'ho fatta! :D

così :

Codice:
Dim counter
counter = 0

For nClasse = nClasseiniziale To nClassefinale Step 1

nTotLunghette = InitSviluppoIntegrale(aLunghette,nClasse)
k = 0
Do While counter < nTotLunghette '(aLunghette,nClasse)
counter = counter + 1
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 22 febbraio 2020
    Bari
    73
    49
    52
    41
    87
    Cagliari
    47
    45
    90
    78
    09
    Firenze
    25
    21
    27
    57
    37
    Genova
    57
    41
    26
    04
    73
    Milano
    03
    40
    14
    18
    80
    Napoli
    36
    50
    13
    41
    78
    Palermo
    60
    45
    47
    78
    30
    Roma
    73
    90
    15
    74
    38
    Torino
    77
    41
    13
    83
    63
    Venezia
    44
    05
    43
    26
    20
    Nazionale
    02
    80
    84
    59
    08
Alto