Novità

Script da Sistemare

  • Creatore Discussione Creatore Discussione jure
  • Data di inizio Data di inizio

jure

Premium Member
Ho Trovato nel mio archivio questo Script che mi da errore
chi puo' sistemarlo ?

Sub Main()
Dim anum (7)
Dim numeri(2)
Dim anumx (3)
Dim pr,pp,cv,cm
Dim rt,ns
Dim rtx
dstart = 7000
'dend = 6877
dend = EstrazioneFin
For i = dstart To dend
AvanzamentoElab dstart,dend,i
For rt = 1 To 10
For rtx = 1 To 10
ImpostaRuota rtx,False
Next
ImpostaRuota rt,True
For xp = 1 To 5
anum (xp) = Estratto ( i , rt , xp )
Next
ds60 = False
ns = 1
While (( ns <= 4 ) And ( ds60 = False ))

x1 = Estratto ( i , rt,ns )
x2 = Estratto ( i , rt,ns + 1)
If Fuori90( Abs(x1 - x2)) = 60 Then
ds60 = True
numeri(1) = x1
numeri(2) = x2
anum(ns) = 0
anum(ns+1) = 0
End If
ns = ns + 1
Wend
If ds60 Then 'Si può partire con la giocata ....
' anum (6) = numeri(1)
' anum (7) = numeri(2)
' Si azzerano i numeri gi… contenuti nelle "n1" e "n2"
' EliminaRipetuti ( anum )
' Si ordinano i numeri in modo decrescente. Così nelle variabili
' "a1", "a2" e "a3" rimangono i restanti 3 numeri, cioè tutti tranne n1 e n2
OrdinaNumeriDec ( anum )
anumx(1) = anum(1)
anumx(2) = anum(2)
anumx(3) = anum(3)
' I numeri si ordinano in modo crescente
OrdinaNumeri ( anumx )
' ============ SI PREPARANO I NUMERI PER IL GIOCO ============
' Caso 1): il secondo numero è minore o uguale 30
If anumx(2) <= 30 Then
x1 = Fuori90(anumx(1) + 12 )
x2 = Fuori90(anumx(1) + 73 )
y1 = Fuori90(anumx(2) + 12 )
y2 = Fuori90(anumx(2) + 52 )
z1 = Fuori90(anumx(3) + 40 )
z2 = Fuori90(anumx(3) + 37 )
gio i , anumx, x1,x2,y1,y2,z1,z2, rt
ElseIf anumx(2) >= 61 Then ' Caso 2): il secondo numero è maggiore o uguale 61
z1 = Fuori90(anumx(3) + 69 )
z2 = Fuori90(anumx(3) + 48 )
y1 = Fuori90(anumx(2) + 49 )
y2 = Fuori90(anumx(2) + 68 )
x1 = Fuori90(anumx(1) + 78 )
x2 = Fuori90(anumx(1) + 86 )
gio i , anumx, x1,x2,y1,y2,z1,z2, rt
ElseIf anumx(2) <= 45 Then ' Caso 3): il secondo numero è maggiore o uguale 31 e minore o uguale 45
x1 = Fuori90(anumx(1) + 24 )
x2 = Fuori90(anumx(1) + 59 )
y1 = Fuori90(anumx(2) + 21 )
y2 = Fuori90(anumx(2) + 48 )
' al posto del terzo numero si mette la media
' del secondo e del terzo numero, trascurando la parte decimale
anumx(3) = CInt ((anumx(2)+anumx(3))\2)
z1 = Fuori90(anumx(3) + 81)
z2 = Fuori90(anumx(3) + 44)
gio i , anumx , x1,x2,y1,y2,z1,z2, rt
ElseIf anumx(2) >= 46 Then ' Caso 4): il secondo numero è maggiore o uguale 46 e minore o uguale 60
z1 = Fuori90(anumx(3) + 7)
z2 = Fuori90(anumx(3) + 25)
y1 = Fuori90(anumx(2) + 1 )
y2 = Fuori90(anumx(2) + 17 )
' al posto del primo numero si mette la media
' del primo e del secondo numero, trascurando la parte decimale
anumx(1) = CInt ((anumx(1)+anumx(2))\2)
x1 = Fuori90(anumx(1) + 54)
x2 = Fuori90(anumx(1) + 59)
gio i , anumx, x1,x2,y1,y2,z1,z2, rt
End If
End If
Next
Next
ScriviResoconto
End Sub
Function Gio ( i , anumx , x1,x2,y1,y2,z1,z2, rt)
Dim procedi
Dim gnum (10)
Dim giovar1 ( 6 )
Dim giovar2 ( 6 )
Dim poste(5)
Dim grt (1)
Dim nr (1)
Dim ux (5)
Dim durata
Dim sorteint
Dim crs
Dim igcnt
procedi = True
ResettaGiocate
' Nelle variabili "u1", "u2" e "u3" si memorizzano i ritardi di 3 numeri,
' riferiti all'estrazione precedente.
uxs = 0
For crs = 1 To 3
nr(1) = anumx(crs)
ux(crs) = Ritardo ( i-250 , i-1 , nr , 1 )
uxs = uxs + ux(crs)
Next
'Scrivi DataEstrazione(i)
'Scrivi CStr(anumx(1)) & "." & CStr(anumx(2)) & "." & CStr(anumx(3))
'Scrivi CStr(ux(1)) & "." & CStr(ux(2)) & "." & CStr(ux(3))
' I ritardi si ordinano in modo crescente
OrdinaNumeri ux
' Se la somma di tutti e 3 ritardi e minore o uguale a 10, oppure
' maggiore o uguale a 179 non si gioca
If ( uxs<=9 Or uxs>= 179 ) Then
procedi = False
End If
' Se la distanza tra il ritardo massimo "u3" e quello minore "u1"
' è maggiore o uguale a 90 non si gioca
If ux(3)-ux(1)>=90 Then
procedi = False
End If
If procedi Then
grt (1) = rt
durata = 6
sorteint = 1
poste(2) = 2000
minrit = 20
giovar1(1) = anumx(1)
giovar1(2) = anumx(1)
giovar1(3) = anumx(2)
giovar1(4) = anumx(2)
giovar1(5) = anumx(3)
giovar1(6) = anumx(3)
giovar2(1) = x1
giovar2(2) = x2
giovar2(3) = y1
giovar2(4) = y2
giovar2(5) = z1
giovar2(6) = z2
Scrivi DataEstrazione(i)
igcnt = 0
For cnt = 1 To 6
gnum(1) = giovar1(cnt)
gnum(2) = giovar2(cnt)
ritx = Ritardo ( i-20 , i-1, gnum, 2 )
Scrivi CStr(gnum(1)) & "." & CStr(gnum(2)) & " Rit. per ambo = " & CStr(ritx)
If ritx >= 10 Then
igcnt = igcnt + 1
ImpostaGiocata igcnt,gnum,grt,poste,durata,sorteint
End If
Next
Gioca i
End If
End Function
 
Te lo formattato un po senza stare a guardarlo troppo.

Comunque non è uno script nato in spaziometria........

ci vorrebbero diverse modifiche....




Codice:
Sub Main()
    Dim anum(7)
    Dim numeri(2)
    Dim anumx(3)
    Dim pr,pp,cv,cm
    Dim rt,ns
    Dim rtx
    dstart = 7000
    'dend = 6877
    dend = EstrazioneFin
    For i = dstart To dend
        AvanzamentoElab dstart,dend,i
        For rt = 1 To 10
            For rtx = 1 To 10
                ImpostaRuota rtx,False
            Next
            ImpostaRuota rt,True
            For xp = 1 To 5
                anum(xp) = Estratto(i,rt,xp)
            Next
            ds60 = False
            ns = 1
            While((ns <= 4) And(ds60 = False))
            x1 = Estratto(i,rt,ns)
            x2 = Estratto(i,rt,ns + 1)
            If Fuori90(Abs(x1 - x2)) = 60 Then
                ds60 = True
                numeri(1) = x1
                numeri(2) = x2
                anum(ns) = 0
                anum(ns + 1) = 0
            End If
            ns = ns + 1
        Wend
        If ds60 Then 'Si può partire con la giocata ....
            ' anum (6) = numeri(1)
            ' anum (7) = numeri(2)
            ' Si azzerano i numeri gi… contenuti nelle "n1" e "n2"
            ' EliminaRipetuti ( anum )
            ' Si ordinano i numeri in modo decrescente. Così nelle variabili
            ' "a1", "a2" e "a3" rimangono i restanti 3 numeri, cioè tutti tranne n1 e n2
            OrdinaNumeriDec(anum)
            anumx(1) = anum(1)
            anumx(2) = anum(2)
            anumx(3) = anum(3)
            ' I numeri si ordinano in modo crescente
            OrdinaNumeri(anumx)
            ' ============ SI PREPARANO I NUMERI PER IL GIOCO ============
            ' Caso 1): il secondo numero è minore o uguale 30
            If anumx(2) <= 30 Then
                x1 = Fuori90(anumx(1) + 12)
                x2 = Fuori90(anumx(1) + 73)
                y1 = Fuori90(anumx(2) + 12)
                y2 = Fuori90(anumx(2) + 52)
                z1 = Fuori90(anumx(3) + 40)
                z2 = Fuori90(anumx(3) + 37)
                Gio i,anumx,x1,x2,y1,y2,z1,z2,rt
            ElseIf anumx(2) >= 61 Then ' Caso 2): il secondo numero è maggiore o uguale 61
                z1 = Fuori90(anumx(3) + 69)
                z2 = Fuori90(anumx(3) + 48)
                y1 = Fuori90(anumx(2) + 49)
                y2 = Fuori90(anumx(2) + 68)
                x1 = Fuori90(anumx(1) + 78)
                x2 = Fuori90(anumx(1) + 86)
                Gio i,anumx,x1,x2,y1,y2,z1,z2,rt
            ElseIf anumx(2) <= 45 Then ' Caso 3): il secondo numero è maggiore o uguale 31 e minore o uguale 45
                x1 = Fuori90(anumx(1) + 24)
                x2 = Fuori90(anumx(1) + 59)
                y1 = Fuori90(anumx(2) + 21)
                y2 = Fuori90(anumx(2) + 48)
                ' al posto del terzo numero si mette la media
                ' del secondo e del terzo numero, trascurando la parte decimale
                anumx(3) = CInt((anumx(2) + anumx(3))\2)
                z1 = Fuori90(anumx(3) + 81)
                z2 = Fuori90(anumx(3) + 44)
                Gio i,anumx,x1,x2,y1,y2,z1,z2,rt
            ElseIf anumx(2) >= 46 Then ' Caso 4): il secondo numero è maggiore o uguale 46 e minore o uguale 60
                z1 = Fuori90(anumx(3) + 7)
                z2 = Fuori90(anumx(3) + 25)
                y1 = Fuori90(anumx(2) + 1)
                y2 = Fuori90(anumx(2) + 17)
                ' al posto del primo numero si mette la media
                ' del primo e del secondo numero, trascurando la parte decimale
                anumx(1) = CInt((anumx(1) + anumx(2))\2)
                x1 = Fuori90(anumx(1) + 54)
                x2 = Fuori90(anumx(1) + 59)
                Gio i,anumx,x1,x2,y1,y2,z1,z2,rt
            End If
        End If
    Next
Next
ScriviResoconto
End Sub
Function Gio(i,anumx,x1,x2,y1,y2,z1,z2,rt)
    Dim procedi
    Dim gnum(10)
    Dim giovar1(6)
    Dim giovar2(6)
    Dim poste(5)
    Dim grt(1)
    Dim nr(1)
    Dim ux(5)
    Dim durata
    Dim sorteint
    Dim crs
    Dim igcnt
    procedi = True
    ResettaGiocate
    ' Nelle variabili "u1", "u2" e "u3" si memorizzano i ritardi di 3 numeri,
    ' riferiti all'estrazione precedente.
    uxs = 0
    For crs = 1 To 3
        nr(1) = anumx(crs)
        ux(crs) = Ritardo(i - 250,i - 1,nr,1)
        uxs = uxs + ux(crs)
    Next
    'Scrivi DataEstrazione(i)
    'Scrivi CStr(anumx(1)) & "." & CStr(anumx(2)) & "." & CStr(anumx(3))
    'Scrivi CStr(ux(1)) & "." & CStr(ux(2)) & "." & CStr(ux(3))
    ' I ritardi si ordinano in modo crescente
    OrdinaNumeri ux
    ' Se la somma di tutti e 3 ritardi e minore o uguale a 10, oppure
    ' maggiore o uguale a 179 non si gioca
    If(uxs <= 9 Or uxs >= 179) Then
        procedi = False
    End If
    ' Se la distanza tra il ritardo massimo "u3" e quello minore "u1"
    ' è maggiore o uguale a 90 non si gioca
    If ux(3) - ux(1) >= 90 Then
        procedi = False
    End If
    If procedi Then
        grt(1) = rt
        durata = 6
        sorteint = 1
        poste(2) = 2000
        minrit = 20
        giovar1(1) = anumx(1)
        giovar1(2) = anumx(1)
        giovar1(3) = anumx(2)
        giovar1(4) = anumx(2)
        giovar1(5) = anumx(3)
        giovar1(6) = anumx(3)
        giovar2(1) = x1
        giovar2(2) = x2
        giovar2(3) = y1
        giovar2(4) = y2
        giovar2(5) = z1
        giovar2(6) = z2
        Scrivi DataEstrazione(i)
        igcnt = 0
        For cnt = 1 To 6
            gnum(1) = giovar1(cnt)
            gnum(2) = giovar2(cnt)
            ritx = Ritardo(i - 20,i - 1,gnum,2)
            Scrivi CStr(gnum(1)) & "." & CStr(gnum(2)) & " Rit. per ambo = " & CStr(ritx)
            If ritx >= 10 Then
                igcnt = igcnt + 1
                ImpostaGiocata igcnt,gnum,grt,poste,durata,sorteint
            End If
        Next
        Gioca i
    End If
End Function
 
Ultima modifica di un moderatore:

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 13 dicembre 2025
    Bari
    61
    81
    73
    68
    78
    Cagliari
    76
    59
    33
    78
    23
    Firenze
    10
    37
    58
    30
    71
    Genova
    17
    45
    37
    36
    72
    Milano
    10
    71
    70
    46
    87
    Napoli
    21
    11
    51
    68
    01
    Palermo
    84
    72
    26
    17
    79
    Roma
    39
    63
    46
    67
    50
    Torino
    35
    86
    79
    68
    85
    Venezia
    67
    68
    22
    77
    76
    Nazionale
    46
    12
    72
    65
    70
    Estrazione Simbolotto
    Venezia
    05
    13
    40
    35
    10
Indietro
Alto