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
    venerdì 12 dicembre 2025
    Bari
    70
    88
    19
    24
    79
    Cagliari
    76
    66
    38
    14
    29
    Firenze
    84
    71
    15
    87
    18
    Genova
    57
    25
    04
    45
    40
    Milano
    78
    60
    89
    19
    38
    Napoli
    18
    45
    63
    33
    65
    Palermo
    28
    76
    49
    38
    10
    Roma
    02
    40
    51
    85
    63
    Torino
    10
    75
    86
    39
    36
    Venezia
    40
    74
    90
    32
    50
    Nazionale
    36
    18
    54
    71
    01
    Estrazione Simbolotto
    Venezia
    24
    21
    18
    05
    16
Indietro
Alto