Novità

Per Tutti

Ciao a Tutti

Ho modificato quello di Joe, ho tolto le visualizzazioni e ho inserito
ImpostaGiocata, poi per poterla provare gli ho messo qualche estrazione
e una ruota e va bene

Lo script

Codice:
Option Explicit
Sub Main
   Dim Es,R1,ini,Fin,Ru(2),Posta(2),Ambo(2)
   Dim A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16
   Dim Re1,Re2,Re3,Re4,Re5,Re6,Re7,Re8,Re9,Re10,Re11,Re12,Re13,Re14,Re15,Re16
   Dim L(16),T(89,90)
   Dim I,K,Z,V,K1,Caso
   Dim Nu(2)
   R1 = BA_
   Ru(1) = R1 : Ru(2) = TT_
   Posta(2) = 1
   A1 = 63 : Re1 = 06
   A2 = 83 : Re2 = 88
   A3 = 35 : Re3 = 72
   A4 = 29 : Re4 = 40
   A5 = 06 : Re5 = 42
   A6 = 72 : Re6 = 70
   A7 = 33 : Re7 = 86
   A8 = 63 : Re8 = 06
   A9 = 06 : Re9 = 63
   A10 = 39 : Re10 = 64
   A11 = 59 : Re11 = 58
   A12 = 63 : Re12 = 06
   A13 = 30 : Re13 = 40
   A14 = 40 : Re14 = 28
   A15 = 10 : Re15 = 10
   A16 = 06 : Re16 = 62
   '  Scrivi " SITUAZIONE INIZIALE " & Chr(13),1
   L(1) = A1 & Re1
   L(2) = A2 & Re2
   L(3) = A3 & Re3
   L(4) = A4 & Re4
   L(5) = A5 & Re5
   L(6) = A6 & Re6
   L(7) = A7 & Re7
   L(8) = A8 & Re8
   L(9) = A9 & Re9
   L(10) = A10 & Re10
   L(11) = A11 & Re11
   L(12) = A12 & Re12
   L(13) = A13 & Re13
   L(14) = A14 & Re14
   L(15) = A15 & Re15
   L(16) = A16 & Re16
   ini = 10660
   Fin = EstrazioneFin
   For Es = ini To Fin
      Caso = Caso + 1
      Scrivi String(80,"*") & " Estrazione " &(Es) & " caso " & FormattaStringa(Caso,"0000"),1,,,1
      Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
      Scrivi "  " & SiglaRuota(R1) & " " & StringaEstratti(Es,R1),1,0
      For I = 1 To UBound(L)
         Nu(1) = CInt(Left(L(I),2))
         Nu(2) = CInt(Right(L(I),2))
         If Nu(1) <> Nu(2) Then
            '  Scrivi I & " ) " & StringaNumeri(Nu,,True)
            If T(Minimo(Nu(1),Nu(2)),Massimo(Nu(1),Nu(2))) = False Then K1 = K1 + 1
            T(Minimo(Nu(1),Nu(2)),Massimo(Nu(1),Nu(2))) = True
         Else
            Scrivi 'I & ") Scarto " & StringaNumeri(Nu)
         End If
      Next
      Scrivi
      ' Scrivi "Saranno " & K1,True
      Scrivi
      ' Scrivi "AMBI CORRETTI e ORDINATI " & Chr(13),1
      K = 0
      For V = 1 To 89
         For Z = V + 1 To 90
            If T(V,Z) = True Then
               K = K + 1
               '  Scrivi "Ambo(" & K & ") = """,0,0
               '    Scrivi Format2(V) & "." & Format2(Z) & """"
               Ambo(1) = V : Ambo(2) = Z
               ImpostaGiocata K,Ambo,Ru,Posta,10
               Gioca Es,1
            End If
         Next
      Next
   Next
End Sub

Tolgo le estrazioni, la ruota, la posta, anche la prima parte dove ci sono memorizzati i numeri
perche nell'altro script sono già memorizzati in A1 e Re1 ecc...

Lo lancio e mi esce questo errore

Cattura.PNG

Non sapendo dove intervenire Ho provato a fare qualche modifica
ma ho peggiorato lo script, se necessario posto lo script completo
 
Ultima modifica:
Ciao Salvo,

è quasi sicuramente dovuto ad un errore nel trasferire i numeri tra le varie parti dello script.

Penso tu abbia compreso come funziona quanto ti ho inviato.

Ti avevo proposto di utilizzare solo "la parte centrale" dello script.

Cioè nello stesso istante in cui convalidi l'Ambo effettui la giocata ed avendolo convalidato lo escludi.

Cioè facendo escludi gli ambi già utilizzati ... da ogni possibile convalida eventualmente successiva.

Ergo qualsiasi ambo lo potrai giocare una sola volta (per estrazione).

Però sarà necessario pulire la matrice ad ogni estrazione (con ReDim) riabilitando tutti gl Ambi possibili.

Per tentare una soluzione, al problema di funzionamento da te lamentato, si deve verificare se i dati che hai,

sono interfacciati e/o trasferiti correttamente, prima al convalidarli e giocarli.

Secondo me il problema è di incompatibilità tra le varie organizzazioni dei dati.

Giusto il consiglio di Franco riguardo all'organizzarli meglio.

Per ora ti propongo le modifiche appena suggerite.

Codice:
Option Explicit
Sub Main
   Dim Es,R1,ini,Fin,Ru(2),Posta(2),Ambo(2)
   Dim A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16
   Dim Re1,Re2,Re3,Re4,Re5,Re6,Re7,Re8,Re9,Re10,Re11,Re12,Re13,Re14,Re15,Re16
   Dim L(16)
   Dim I,K,Z,V,K1,Caso
   Dim Nu(2)
   R1 = BA_
   Ru(1) = R1 : Ru(2) = TT_
   Posta(2) = 1
   A1 = 63 : Re1 = 06
   A2 = 83 : Re2 = 88
   A3 = 35 : Re3 = 72
   A4 = 29 : Re4 = 40
   A5 = 06 : Re5 = 42
   A6 = 72 : Re6 = 70
   A7 = 33 : Re7 = 86
   A8 = 63 : Re8 = 06
   A9 = 06 : Re9 = 63
   A10 = 39 : Re10 = 64
   A11 = 59 : Re11 = 58
   A12 = 63 : Re12 = 06
   A13 = 30 : Re13 = 40
   A14 = 40 : Re14 = 28
   A15 = 10 : Re15 = 10
   A16 = 06 : Re16 = 62
   '  Scrivi " SITUAZIONE INIZIALE " & Chr(13),1
   L(1) = A1 & Re1
   L(2) = A2 & Re2
   L(3) = A3 & Re3
   L(4) = A4 & Re4
   L(5) = A5 & Re5
   L(6) = A6 & Re6
   L(7) = A7 & Re7
   L(8) = A8 & Re8
   L(9) = A9 & Re9
   L(10) = A10 & Re10
   L(11) = A11 & Re11
   L(12) = A12 & Re12
   L(13) = A13 & Re13
   L(14) = A14 & Re14
   L(15) = A15 & Re15
   L(16) = A16 & Re16
   ini = 10660
   Fin = EstrazioneFin
   For Es = ini To Fin
   ReDim T(90,90)
   K1 = 0
      Caso = Caso + 1
      Scrivi String(80,"*") & " Estrazione " &(Es) & " caso " & FormattaStringa(Caso,"0000"),1,,,1
      Scrivi(" Estrazione n." & Format2(Es) & " del " & DataEstrazione(Es)),1,0
      Scrivi "  " & SiglaRuota(R1) & " " & StringaEstratti(Es,R1),1,0
      For I = 1 To UBound(L)
         Nu(1) = CInt(Left(L(I),2))
         Nu(2) = CInt(Right(L(I),2))
         If Nu(1) <> Nu(2) Then
            Call OrdinaMatrice(Nu,1)
            If T(Nu(1),Nu(2)) = False Then
               K1 = K1 + 1
               T(Nu(1),Nu(2)) = True
               'Scrivi K & " " & StringaNumeri(Nu,,True)
               ImpostaGiocata K1 ,Nu,Ru,Posta,10
             
            End If
         End If
      
      Next
     If K1 >0 Then Gioca Es,True
   Next
End Sub

:)
 
Ultima modifica:
Ultima modifica:
Si nella primissima versione avevo dimensionato al matrice Ambi (89,90)

Perché è giusto che sia così.

Però se l'Ambo arriva capovolto (tipo 90.10) giustamente compare il messaggio di errore,

Che è relativo alla dimensione del contenitore che risulta troppo piccolo.

Per la giocata, avevi scritto Gioca Es per ogni singolo Ambo.

Io diversamente prima ho raccolto tutti i pronostici ed in ultimo eseguito una sola volta Gioca Es.

Invece delle 10/12/15 ovvero quante giocate possono essere.

In pratica per funzionare correttamente Gioca Es, deve avere la stessa indentazione,

cioè deve essere allo stesso livello e nello stesso ciclo primario del For Es = Ini to Fin / Next.

Altrimenti tutti i cicli più interni con maggiore indentazione escludono alcune delle giocate.

Sino ad arrivare all'ultimo dove se ne effettua una sola come avevi fatto tu.

:)

PS:

Per debuggare lo script e trovare l'errore ho inserito un msgbox.

Codice:
                                 ReDim T(90,90)
                                 ReDim Nu(2)
                                 K1 = 0
                                 For I = 1 To UBound(L)
                                    Nu(1) = CInt(Left(L(I),2))
                                    Nu(2) = CInt(Right(L(I),2))
                                    If Nu(1) <> Nu(2) Then
                                    MsgBox (StringaNumeri (Nu,,True))
                                       Call OrdinaMatrice(Nu,1)

Eseguendo lo script con archivio aggiornato all'Estrazione 10667,

dopo aver confermato il primo lotto di numeri, all'inizio del secondo,

appare un 97 e subito dopo lo script crolla.

:)
 
Ultima modifica:
Ok, devo mettere il fuori90

Ciao Salvo.

No la faccenda è più complicata.

Quando hai dato il primo elenco i numeri erano tutti in doppia cifra.

Eventualmente separati da uno spazio, un punto o quant'altro.

Quindi prendendo le primi 2 e le ultime cifre, della stringa che li rappresenta come Ambo ... funziona.

Se invece la stringa è di 3 cifre e se c'è un 9 centrale,

uno dei 2 numeri diventa maggiore di 90 ... e da questo dipende l'errore.

Dunque con il Fuori90, come sempre, si risolvono "problemi", creati altrove.

1750245735591.png
:)
 
Ok, Joe problema risolto io per il momento ho messo Fuori90 e va bene
un Grazie immenso a te
anche a Cinzia che specialmente nel suo secondo script
mi ha fatto capire perchè si può usare OrdinaMatrice
ed un grazie anche a FrancoBru che mi ha fatto capire
perchè gli ambi si devono invertire
 
Ultima modifica:

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 20 giugno 2025
    Bari
    33
    01
    29
    44
    22
    Cagliari
    44
    19
    09
    33
    01
    Firenze
    68
    14
    30
    61
    05
    Genova
    44
    53
    24
    79
    62
    Milano
    62
    72
    07
    21
    37
    Napoli
    48
    39
    29
    85
    11
    Palermo
    12
    50
    29
    76
    75
    Roma
    89
    02
    62
    78
    23
    Torino
    16
    45
    27
    23
    13
    Venezia
    36
    77
    81
    09
    73
    Nazionale
    17
    18
    01
    47
    88
    Estrazione Simbolotto
    Napoli
    15
    35
    27
    25
    14
Indietro
Alto