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
    martedì 15 settembre 2026
    Bari
    03
    02
    53
    44
    29
    Cagliari
    85
    81
    31
    53
    23
    Firenze
    27
    40
    34
    71
    81
    Genova
    55
    62
    72
    63
    27
    Milano
    79
    09
    49
    80
    68
    Napoli
    58
    90
    88
    77
    50
    Palermo
    45
    39
    22
    08
    31
    Roma
    39
    41
    04
    54
    63
    Torino
    53
    08
    80
    58
    54
    Venezia
    63
    51
    69
    09
    74
    Nazionale
    16
    45
    75
    60
    18
    Estrazione Simbolotto
    Palermo
    44
    32
    03
    31
    15

Ultimi Messaggi

Indietro
Alto