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ì 17 settembre 2026
    Bari
    11
    37
    71
    88
    54
    Cagliari
    66
    38
    51
    42
    69
    Firenze
    51
    02
    79
    25
    75
    Genova
    49
    66
    84
    51
    08
    Milano
    25
    02
    85
    90
    05
    Napoli
    56
    64
    84
    41
    33
    Palermo
    35
    21
    11
    64
    72
    Roma
    83
    36
    81
    10
    22
    Torino
    68
    07
    03
    37
    27
    Venezia
    81
    31
    61
    33
    06
    Nazionale
    73
    45
    69
    48
    34
    Estrazione Simbolotto
    Palermo
    11
    35
    06
    40
    45
Indietro
Alto