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
    sabato 01 agosto 2026
    Bari
    46
    54
    36
    47
    01
    Cagliari
    77
    30
    04
    79
    18
    Firenze
    84
    76
    10
    27
    44
    Genova
    32
    13
    71
    38
    46
    Milano
    10
    23
    18
    20
    03
    Napoli
    73
    36
    10
    90
    07
    Palermo
    61
    46
    24
    57
    32
    Roma
    89
    78
    23
    07
    35
    Torino
    21
    59
    34
    73
    86
    Venezia
    74
    01
    30
    46
    54
    Nazionale
    71
    65
    17
    09
    20
    Estrazione Simbolotto
    Nazionale
    03
    09
    37
    30
    39

Ultimi Messaggi

Indietro
Alto