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 luglio 2025
    Bari
    22
    33
    04
    68
    47
    Cagliari
    09
    52
    27
    21
    47
    Firenze
    05
    33
    72
    17
    08
    Genova
    76
    67
    65
    68
    45
    Milano
    75
    52
    46
    34
    22
    Napoli
    40
    23
    71
    12
    22
    Palermo
    44
    89
    39
    01
    31
    Roma
    89
    04
    05
    82
    26
    Torino
    05
    59
    85
    88
    24
    Venezia
    69
    45
    75
    44
    30
    Nazionale
    28
    85
    16
    03
    83
    Estrazione Simbolotto
    Nazionale
    39
    26
    40
    23
    24
Indietro
Alto