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
    martedì 15 settembre 2026
    Bari
    03
    02
    53
    44
    29
    Cagliari
    85
    81
    31
    53
    23
    Firenze
    27
    40
    34
    71
    81
    Genova
    55
    62
    72
    63
    27
    Milano
    79
    09
    49
    80
    68
    Napoli
    58
    90
    88
    77
    50
    Palermo
    45
    39
    22
    08
    31
    Roma
    39
    41
    04
    54
    63
    Torino
    53
    08
    80
    58
    54
    Venezia
    63
    51
    69
    09
    74
    Nazionale
    16
    45
    75
    60
    18
    Estrazione Simbolotto
    Palermo
    44
    32
    03
    31
    15
Indietro
Alto