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 10 ottobre 2026
    Bari
    16
    38
    53
    21
    55
    Cagliari
    21
    66
    30
    55
    62
    Firenze
    30
    75
    23
    10
    68
    Genova
    68
    31
    16
    64
    63
    Milano
    20
    05
    11
    17
    64
    Napoli
    30
    74
    82
    78
    77
    Palermo
    17
    15
    50
    80
    44
    Roma
    05
    32
    59
    39
    66
    Torino
    31
    59
    56
    29
    20
    Venezia
    11
    66
    07
    61
    88
    Nazionale
    18
    52
    01
    28
    13
    Estrazione Simbolotto
    34
    33
    05
    22
    14
Indietro
Alto