Novità

Una cortesia per uno script , per salvo50 o altro generoso esperto

Matematico

Advanced Member >PLATINUM<
Ciao a tutti, mi servirebbe uno script che mi vada a ricercare a ritroso quante volte è sortito lo stesso ambo ripetuto anche non isotopo su due ruote:
Esempio reale: Imput box : inserisco l'ambo ripetuto 9-10 sortito a Ca-TO ...quindi lo script dovrà ricercare a ritroso lo stesso ambo ripetuto su qualsiasi coppia di ruote .

Grazie di cuore anticipatamente :-)
 
Ciao
Prova questo

Codice:
Option Explicit
Sub Main
   'https://forum.lottoced.com/threads/una-cortesia-per-uno-script-per-salvo50-o-altro-generoso-esperto.2193348/
   Dim aa,s,A,B,r,r1,es,ini,rit,t
   ini = CInt(InputBox("Numero estrazione iniziale ","INIZIO",3450))
   aa = InputBox("Inserisci l'ambo separato dal punto","AMBO","9.10")
   aa = "0." & aa
   s = Split(aa,"."):A = CInt(s(1)):B = CInt(s(2))
   t = Timer
   Scrivi "Ricerca Ambo " & A & "." & B & " Dal " & DataEstrazione(ini) & " al " & DataEstrazione(EstrazioneFin)
   For es = ini To EstrazioneFin : Messaggio es
      For r = 1 To 10
         For r1 = r + 1 To 12
            If r1 = 11 Then r1 = 12
            If((Posizione(es,r,A) > 0) And(Posizione(es,r,B) > 0))  Then
             If ((Posizione(es,r1,A) > 0) And(Posizione(es,r1,B) > 0)) Then
               Scrivi String(55,"-")
               Scrivi DataEstrazione(es) & " | " & SiglaRuota(r) & " " & StringaEstratti(es,r),1,0
               Scrivi "  |" & Space(2) & SiglaRuota(r1) & " " & StringaEstratti(es,r1),1
               rit = es
            End If
          End If
         Next
      Next
   Next
   Scrivi:Scrivi "Ritardo di " & EstrazioneFin - rit & " Estrazioni."
   Scrivi "Secondi elaborazione : " & Round(Timer - t)
End Sub
 
Ultima modifica:
Ciao
Prova questo

Codice:
Option Explicit
Sub Main
   'https://forum.lottoced.com/threads/una-cortesia-per-uno-script-per-salvo50-o-altro-generoso-esperto.2193348/
   Dim aa,s,A,B,r,r1,es,ini,rit,t
   ini = CInt(InputBox("Numero estrazione iniziale ","INIZIO",3450))
   aa = InputBox("Inserisci l'ambo separato dal punto","AMBO","9.10")
   aa = "0." & aa
   s = Split(aa,"."):A = CInt(s(1)):B = CInt(s(2))
   t = Timer
   Scrivi "Ricerca Ambo " & A & "." & B & " Dal " & DataEstrazione(ini) & " al " & DataEstrazione(EstrazioneFin)
   For es = ini To EstrazioneFin : Messaggio es
      For r = 1 To 10
         For r1 = r + 1 To 12
            If r1 = 11 Then r1 = 12
            If((Posizione(es,r,A) > 0) And(Posizione(es,r,B) > 0)) And((Posizione(es,r1,A) > 0) And(Posizione(es,r1,B) > 0)) Then
               Scrivi String(55,"-")
               Scrivi DataEstrazione(es) & " | " & SiglaRuota(r) & " " & StringaEstratti(es,r),1,0
               Scrivi "  |" & Space(2) & SiglaRuota(r1) & " " & StringaEstratti(es,r1),1
               rit = es
            End If
         Next
      Next
   Next
   Scrivi:Scrivi "Ritardo di " & EstrazioneFin - rit & " Estrazioni."
   Scrivi "Secondi elaborazione : " & Round(Timer - t)
End Sub
Grazie mille Master, ora lo provo e poi ti dico :)
 
Ciao Master.

Considerando che mi è molto facile leggere lo script che hai proposto

mi permetto di suggerire che se spezzi la linea :

If((Posizione(es,r,A) > 0) And(Posizione(es,r,B) > 0)) And((Posizione(es,r1,A) > 0) And(Posizione(es,r1,B) > 0)) Then

Negli "If" di cui si compone, ogni volta che la spezzi ... teoricamente aumenti (molto) la velocità dello script.

Sicuramente se la dividi almeno al centro (sul secondo and) dimezzi il tempo di elaborazione.

:)
 
Ciao Joe
Grazie per il suggerimento ( come sempre prezioso..e ben accetto ) ;)
modificato al volo ! il tempo si riduce ad un terzo.
Buona giornata
 
ciao
visto che si parla di ottimizzazione di codice
suggerisco un ulteriore variante a quella gia suggerita da Joe
il primo filtro lo inserisco subito dopo il primo ciclo di ruote
se la condizione è rispettata faccio partire il secondo ciclo
mi sembra che i risultati siano identici ,ma il tempo migliori sensibilmente
pero vi consiglio di fare le vostre verifiche
ecco la piccola modifica
Codice:
Option Explicit

   For es = ini To EstrazioneFin 
      For r = 1 To 10
         ' metto il primo filtro
         If((Posizione(es,r,A) > 0) And(Posizione(es,r,B) > 0)) Then
            ' se la condizione è rispettatta allora parte la ricerca sulla seconda ruota
          
            For r1 = r + 1 To 12
fate pure le prove cosi mi sapete dire se funzia
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 15 ottobre 2026
    Bari
    87
    43
    79
    90
    01
    Cagliari
    50
    81
    66
    56
    12
    Firenze
    25
    37
    26
    82
    81
    Genova
    43
    10
    47
    86
    75
    Milano
    14
    82
    85
    33
    69
    Napoli
    50
    65
    04
    28
    08
    Palermo
    33
    34
    69
    80
    14
    Roma
    08
    51
    61
    19
    16
    Torino
    59
    55
    78
    11
    01
    Venezia
    62
    07
    17
    01
    05
    Nazionale
    11
    67
    58
    51
    78
    Estrazione Simbolotto
    20
    40
    19
    39
    21
Indietro
Alto