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ì 18 luglio 2025
    Bari
    48
    38
    01
    78
    24
    Cagliari
    87
    33
    22
    13
    19
    Firenze
    14
    27
    71
    11
    50
    Genova
    40
    14
    77
    76
    17
    Milano
    26
    17
    90
    64
    69
    Napoli
    40
    89
    06
    23
    84
    Palermo
    62
    51
    36
    86
    26
    Roma
    76
    33
    75
    83
    47
    Torino
    83
    19
    82
    79
    89
    Venezia
    20
    31
    13
    12
    87
    Nazionale
    74
    29
    28
    32
    78
    Estrazione Simbolotto
    Nazionale
    39
    18
    27
    28
    20
Indietro
Alto