Novità

Errore a quanto pare con i cicli

  • Creatore Discussione Creatore Discussione skox
  • Data di inizio Data di inizio

skox

Junior Member
Ciao a tutti:) Sono nuovo ma mi sto dilettando con spaziometria.
A tal proposito, ho un problema. Ho creato lo script in basso partendo da una base. Dovrebbe in teoria raccogliermi i massimi ritardi storici, ma non va. FUnziona se non inserisco i cicli, ma appena ne metto uno o due per loopare per tutte le ruote le tabelle sono sballate. Le ruote cambiano, i numeri anche ma i ritardi no. Qual'è l'errore?
Grazie

Codice:
[FONT=Verdana]Option Explicit[/FONT]Sub Main


    
    Dim nClasse
    Dim nGaranzia
    Dim k,j,r1,r2
    Dim sNumeri
    Dim idComb
    Dim nInizio,nFine
    Dim idValoreDaAna
    Dim sValoreUsato
    Dim CombTot
    


    ReDim aCombMigliori(5,4)
    
    nGaranzia = ScegliGaranzia
    idValoreDaAna = ScegliValoreDaAnalizzare(sValoreUsato)
    nClasse = ScegliClasse
    nInizio = EstrazioneIni    
nFine = EstrazioneFin


Call Scrivi("CLASSE " & nClasse & " GARANZIA " & nGaranzia)
        Call Scrivi("IN BASE A " & sValoreUsato)
        Call Scrivi("Range analizzato " & GetInfoEstrazione(nInizio) & " fino a " & GetInfoEstrazione(nFine))
        Call Scrivi("Estrazioni analizzate totali : " &(nFine + 1) - nInizio)
        Call Scrivi




    
Dim aRuote(2)
        
    For r1 = 1 To 2
     r2 = r1 + 1
        
aRuote(1) = r1
aRuote(2) = r2


    
    If nClasse > 0 And nGaranzia > 0 And nGaranzia <= nClasse And idValoreDaAna > 0 Then
        Call Messaggio("Sviluppo combinazioni di classe " & nClasse)
        CombTot = InitSviluppaComb(nClasse)
        
        Call Messaggio("Statistica combinazioni in corso ")
        
        
        ReDim aCol(nClasse)
        Do While GetCombSviluppo(aCol) = True
            Call AnalisiComb(aCol,aRuote,nGaranzia,aCombMigliori,nInizio,nFine,idValoreDaAna)
            k = k + 1
            If k Mod 20 = 0 Then
                Call Messaggio("Statistica combinazioni in corso " & k & " di " & CombTot)
        
                Call AvanzamentoElab(1,CombTot,k)
                
                If ScriptInterrotto Then Exit Do
            End If
        Loop
        Call Messaggio("")


        ReDim aTitoli(5)
        aTitoli(1) = "Combinazione"
        aTitoli(2) = "Frequenza"
        aTitoli(3) = "Ritardo"
        aTitoli(4) = "RitardoMax"
        aTitoli(5) = "Ruote"
        
        
        
        


        Call InitTabella(aTitoli)


        For k = 1 To UBound(aCombMigliori)
            
            
            ReDim ADati(5)
            ADati(1) = aCombMigliori(k,4)
            ADati(2) = aCombMigliori(k,1)
            ADati(3) = aCombMigliori(k,2)
            ADati(4) = aCombMigliori(k,3)
            ADati(5) = GetRuoteUsate(aRuote)
            Call AddRigaTabella(ADati)             


        Next


        Call CreaTabella
    
    Else
        MsgBox "Selezionare la classe di sviluppo e la garanzia , " & _
        "si ricorda che la garanzia non puo essere maggiore della classe di sviluppo " & _
        "e che bisogna scegliere quale valore statistico considerare per " & _
        "alimentare la lista delle prime 100 Combinazioni "
        End If
        
    
        Next
        




End Sub
Sub AnalisiComb(aNum,aRuote,Garanzia,aCombMig,nInizio,nFine,idValoreDaAna)
    
    Dim k,j
    
    Dim Rit
    Dim RitMax
    Dim Freq
    Dim Valore
    
    
    
    
    
    Call StatisticaFormazione(aNum,aRuote,Garanzia,Rit,RitMax,0,Freq,nInizio,nFine)
    Select Case idValoreDaAna
    Case 1
        Valore = Freq
    Case 2
        Valore = Rit
    Case 3
        Valore = RitMax
    End Select
    For k = 1 To UBound(aCombMig)
        
        If Valore >= aCombMig(k,0) Then
            
            For j = UBound(aCombMig) To(k + 1) Step - 1
                aCombMig(j,0) = aCombMig(j - 1,0)
                aCombMig(j,1) = aCombMig(j - 1,1)
                aCombMig(j,2) = aCombMig(j - 1,2)
                aCombMig(j,3) = aCombMig(j - 1,3)
                aCombMig(j,4) = aCombMig(j - 1,4)
                


            Next
            aCombMig(k,0) = Valore
            aCombMig(k,1) = Freq
            aCombMig(k,2) = Rit
            aCombMig(k,3) = RitMax
            aCombMig(k,4) = StringaNumeri(aNum)
            
            
            Exit For
                
        End If
    Next
End Sub
Function InitSviluppaComb(Classe)
    
    Dim k
    ReDim aNum(90)


    For k = 1 To 90
        aNum(k) = k
    Next
    
    InitSviluppaComb = InitSviluppoIntegrale(aNum,Classe)
    
End Function


Function ScegliClasse()
    ReDim aVoci(3)
    
    aVoci(0) = "Estratto"
    aVoci(1) = "Ambo"
    aVoci(2) = "Terno"
    aVoci(3) = "Quaterna"
    
    
    ScegliClasse = ScegliOpzioneMenu(aVoci,2,"Secegli tipo combinazione") + 1
End Function


Function ScegliGaranzia()


    ReDim aVoci(3)
    
    aVoci(0) = "Estratto"
    aVoci(1) = "Ambo"
    aVoci(2) = "Terno"
    aVoci(3) = "Quaterna"
    
    
    ScegliGaranzia = ScegliOpzioneMenu(aVoci,2,"Secegli garanzia") + 1
End Function


Function ScegliValoreDaAnalizzare(sValore)


    ReDim aVoci(2)
    Dim i
    
    aVoci(0) = "Frequenza"
    aVoci(1) = "Ritardo"
    aVoci(2) = "Ritardo massimo"
    
    
    
    i = ScegliOpzioneMenu(aVoci,0,"Quale valore considerare per l'ordinamento ? ")
    sValore = aVoci(i)
    ScegliValoreDaAnalizzare = i + 1
End Function


Function GetRuoteUsate(aRuote)


    Dim k
    Dim s
    
    
    For k = 1 To UBound(aRuote)
        s = s & SiglaRuota(aRuote(k)) & " "
    Next
    GetRuoteUsate = Trim(s)
End Function



CLASSE 2 GARANZIA 2IN BASE A Ritardo massimoRange analizzato [00015] [ 15] 16.04.1871 fino a [08673] [ 41] 04.04.2013Estrazioni analizzate totali : 8659

[TD="bgcolor: #ffffff, align: center"] Combinazione [/TD]
[TD="bgcolor: #ffffff, align: center"] Frequenza [/TD]
[TD="bgcolor: #ffffff, align: center"] Ritardo [/TD]
[TD="bgcolor: #ffffff, align: center"] RitardoMax [/TD]
[TD="bgcolor: #ffffff, align: center"] Ruote [/TD]

[TD="bgcolor: #ffffff, align: center"] 57.73 [/TD]
[TD="bgcolor: #ffffff, align: center"] 33 [/TD]
[TD="bgcolor: #ffffff, align: center"] 268 [/TD]
[TD="bgcolor: #ffffff, align: center"] 3506 [/TD]
[TD="bgcolor: #ffffff, align: center"] BA CA [/TD]

[TD="bgcolor: #ffffff, align: center"] 11.77 [/TD]
[TD="bgcolor: #ffffff, align: center"] 26 [/TD]
[TD="bgcolor: #ffffff, align: center"] 140 [/TD]
[TD="bgcolor: #ffffff, align: center"] 3504 [/TD]
[TD="bgcolor: #ffffff, align: center"] BA CA [/TD]

[TD="bgcolor: #ffffff, align: center"] 27.46 [/TD]
[TD="bgcolor: #ffffff, align: center"] 28 [/TD]
[TD="bgcolor: #ffffff, align: center"] 146 [/TD]
[TD="bgcolor: #ffffff, align: center"] 3439 [/TD]
[TD="bgcolor: #ffffff, align: center"] BA CA [/TD]

[TD="bgcolor: #ffffff, align: center"] 52.86 [/TD]
[TD="bgcolor: #ffffff, align: center"] 31 [/TD]
[TD="bgcolor: #ffffff, align: center"] 496 [/TD]
[TD="bgcolor: #ffffff, align: center"] 3335 [/TD]
[TD="bgcolor: #ffffff, align: center"] BA CA [/TD]

[TD="bgcolor: #ffffff, align: center"] 23.67 [/TD]
[TD="bgcolor: #ffffff, align: center"] 24 [/TD]
[TD="bgcolor: #ffffff, align: center"] 97 [/TD]
[TD="bgcolor: #ffffff, align: center"] 3156 [/TD]
[TD="bgcolor: #ffffff, align: center"] BA CA [/TD]



[TD="bgcolor: #ffffff, align: center"] Combinazione [/TD]
[TD="bgcolor: #ffffff, align: center"] Frequenza [/TD]
[TD="bgcolor: #ffffff, align: center"] Ritardo [/TD]
[TD="bgcolor: #ffffff, align: center"] RitardoMax [/TD]
[TD="bgcolor: #ffffff, align: center"] Ruote [/TD]

[TD="bgcolor: #ffffff, align: center"] 54.70 [/TD]
[TD="bgcolor: #ffffff, align: center"] 28 [/TD]
[TD="bgcolor: #ffffff, align: center"] 38 [/TD]
[TD="bgcolor: #ffffff, align: center"] 4025 [/TD]
[TD="bgcolor: #ffffff, align: center"] CA FI [/TD]

[TD="bgcolor: #ffffff, align: center"] 57.73 [/TD]
[TD="bgcolor: #ffffff, align: center"] 33 [/TD]
[TD="bgcolor: #ffffff, align: center"] 268 [/TD]
[TD="bgcolor: #ffffff, align: center"] 3506 [/TD]
[TD="bgcolor: #ffffff, align: center"] CA FI [/TD]

[TD="bgcolor: #ffffff, align: center"] 11.77 [/TD]
[TD="bgcolor: #ffffff, align: center"] 26 [/TD]
[TD="bgcolor: #ffffff, align: center"] 140 [/TD]
[TD="bgcolor: #ffffff, align: center"] 3504 [/TD]
[TD="bgcolor: #ffffff, align: center"] CA FI [/TD]

[TD="bgcolor: #ffffff, align: center"] 27.46 [/TD]
[TD="bgcolor: #ffffff, align: center"] 28 [/TD]
[TD="bgcolor: #ffffff, align: center"] 146 [/TD]
[TD="bgcolor: #ffffff, align: center"] 3439 [/TD]
[TD="bgcolor: #ffffff, align: center"] CA FI [/TD]

[TD="bgcolor: #ffffff, align: center"] 52.86 [/TD]
[TD="bgcolor: #ffffff, align: center"] 31 [/TD]
[TD="bgcolor: #ffffff, align: center"] 496 [/TD]
[TD="bgcolor: #ffffff, align: center"] 3335 [/TD]
[TD="bgcolor: #ffffff, align: center"] CA FI [/TD]


Vedete la colonna ritardomax. Si vede già così che è completamente sballata
 
Ultima modifica:

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 22 agosto 2025
    Bari
    77
    43
    54
    27
    51
    Cagliari
    22
    61
    76
    27
    13
    Firenze
    75
    82
    78
    15
    80
    Genova
    18
    28
    60
    37
    50
    Milano
    84
    06
    90
    36
    40
    Napoli
    47
    09
    53
    65
    14
    Palermo
    74
    29
    40
    50
    30
    Roma
    79
    05
    15
    08
    26
    Torino
    03
    02
    60
    27
    26
    Venezia
    59
    14
    32
    70
    36
    Nazionale
    48
    09
    04
    88
    52
    Estrazione Simbolotto
    Nazionale
    07
    24
    42
    16
    03
Indietro
Alto