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
    sabato 18 gennaio 2025
    Bari
    24
    76
    02
    72
    12
    Cagliari
    21
    08
    77
    04
    17
    Firenze
    74
    84
    07
    12
    72
    Genova
    13
    07
    33
    47
    18
    Milano
    01
    34
    09
    55
    48
    Napoli
    46
    23
    25
    03
    06
    Palermo
    44
    07
    01
    46
    84
    Roma
    88
    78
    64
    74
    04
    Torino
    07
    87
    67
    38
    53
    Venezia
    31
    25
    04
    18
    02
    Nazionale
    49
    82
    59
    65
    67
    Estrazione Simbolotto
    Bari
    03
    13
    31
    23
    35
Indietro
Alto