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
    martedì 16 dicembre 2025
    Bari
    78
    53
    62
    77
    16
    Cagliari
    15
    58
    32
    39
    24
    Firenze
    85
    20
    39
    32
    29
    Genova
    17
    60
    15
    33
    43
    Milano
    13
    39
    14
    15
    34
    Napoli
    82
    76
    15
    24
    73
    Palermo
    40
    55
    78
    26
    08
    Roma
    23
    41
    17
    53
    76
    Torino
    52
    20
    70
    59
    65
    Venezia
    43
    58
    19
    08
    09
    Nazionale
    71
    55
    60
    04
    35
    Estrazione Simbolotto
    Venezia
    28
    37
    27
    40
    10
Indietro
Alto