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
    lunedì 04 maggio 2026
    Bari
    22
    24
    23
    33
    09
    Cagliari
    40
    15
    22
    90
    51
    Firenze
    70
    02
    71
    41
    40
    Genova
    51
    80
    25
    69
    30
    Milano
    23
    28
    89
    02
    64
    Napoli
    16
    54
    41
    08
    56
    Palermo
    18
    25
    11
    66
    36
    Roma
    28
    07
    03
    47
    76
    Torino
    72
    24
    01
    07
    70
    Venezia
    10
    80
    17
    69
    13
    Nazionale
    06
    39
    41
    42
    38
    Estrazione Simbolotto
    Milano
    18
    31
    25
    04
    14
Indietro
Alto