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
    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