Novità

Per Joe o chi può

solare

Advanced Member >PLATINUM<
Ciao
mi serve un script in cui indico il numero per la ricerca il mese di ricerca e l' anno di ricerca.
lo script deve restituirmi dopo quante estrazioni e' uscito rispetto la prima estrazione del mese.
esempio nazionale nr 9 nel mese 07 dell' anno 2023 e' uscito alla prima estrazione
Grazie
 
ciao, prova questo script in attesa di meglio

non ha senso impostare l'anno e il mese perché ti darebbe un UNICO risultato riguardo SOLO a quell'anno e a quel mese

scegli la ruota
scegli il numero
scegli il mese
scegli i colpi

la ricerca è impostata per iniziare dall'anno 2000



Codice:
Option Explicit
Sub Main()
   Dim es,Ini,Fin,r,Tm,Clp,co,num,imese
   Dim ruota(11)
   Dim posta(10)
   Dim n(1)
   posta(1) = 1
   r = CInt(InputBox(" Scegli Ruota ",,"1"))
   num = CInt(InputBox(" Scegli Numero Ricerca ",,"1"))
   imese = CInt(InputBox(" Scegli il mese ",,"1"))
   Tm = CInt(InputBox(" Quando far partire l'analisi ? ",,"6876"))' Inizio anno 2000
   Clp = CInt(InputBox(" Per quanti colpi vuoi giocare ? ",,"18"))
   Ini = Tm
   Fin = EstrazioneFin
   co = 0
   For es = Ini To Fin
      Messaggio "elab. estr. [" &(es) & "] di " & DataEstrazione(es,1)
      Call AvanzamentoElab(Ini,Fin,es)
      If IndiceMensile(es) = 1 And Mese(es) = imese Then
         ruota(1) = r
         n(1) = num
         co = co + 1
         Scrivi String(100,"°") & " Caso n°" & co,1
         Scrivi DataEstrazione(es) & " -- " & SiglaRuota(r) & " Ambata :" & Format2(n(1)),1
         Scrivi String(100,"°"),1
         ImpostaGiocata 1,n,ruota,posta,Clp,1
         Gioca es,1,,1
      End If
      If ScriptInterrotto Then Exit For
   Next
   Scrivi
   Scrivi String(100,"*")
   ColoreTesto 2
   Scrivi" casi trovati : " & co,1
   ColoreTesto 0
   Scrivi String(100," * ")
   TestoInBandaPassante(" Idea di solare Script by BaffoBlù"),1,3,0
   ScriviResoconto
End Sub
 
Ciao non si capisce bene quali siano gli input e quali gli output.

Lo script (PER SPAZIOMETRIA) richiede: "Numero Mese Anno".

(SEPARATI DA UN PUNTO ".")

Il numero può avere Ritardo (Rc) o aver già terminato il suo ritardo.

Dunque lo script restituisce Ruota per Ruota e Tutte ... questi risultati.

Cioè sia l'eventuale attesa in colpi prima della caduta da inizio mese

sia il ritardo corrente (Rc) nelle singole ruote ed "a tutte".

Codice:
Option Explicit
Sub Main
   Dim I,D,Nu(1),Ru(1),S
   Dim Ini,Fin,Es,R : Ini = 1 : Fin = EstrazioneFin
   I = InputBox("Numero.Mese.Anno","Insreisci i dati","17.7.2024")
   D = Split("0." & I,".")
   Scrivi "Numero " & FormatSpace( Format2 (D(1)),4,1),1
   Scrivi "Mese " & FormatSpace(Format2 (D(2)),6,1),1
   Scrivi "Anno " & FormatSpace(D(3),6,1),1
   Scrivi
   For Es = Ini To Fin
      If Mese(Es) = CInt(D(2)) And Anno(Es) = CInt(D(3)) And IndiceMensile(Es) = 1 Then
         Scrivi "Dal " & DataEstrazione (Es,,,"/") & " al " & DataEstrazione (Fin,,,"/"),1
         Scrivi
         Nu(1) = CInt(D(1))
         For R = 1 To 12
            Ru(1) = R
            S = SeriePrima(Es,Fin,Nu,Ru,1) - Es
            Scrivi SiglaRuota(R) &  " ",1,0
            If S < 0 Then
          
             Scrivi "Rc" & FormatSpace(EstrattoRitardo (Ru(1),Nu(1),1,Fin),4,1)
            Else
            Scrivi FormatSpace( S+1,5,1) & "° Clp"
            End If
         Next
      End If
   Next
End Sub

Spero sia quanto hai chiesto.

:)
 
Ciao non si capisce bene quali siano gli input e quali gli output.

Lo script (PER SPAZIOMETRIA) richiede: "Numero Mese Anno".

(SEPARATI DA UN PUNTO ".")

Il numero può avere Ritardo (Rc) o aver già terminato il suo ritardo.

Dunque lo script restituisce Ruota per Ruota e Tutte ... questi risultati.

Cioè sia l'eventuale attesa in colpi prima della caduta da inizio mese

sia il ritardo corrente (Rc) nelle singole ruote ed "a tutte".

Codice:
Option Explicit
Sub Main
   Dim I,D,Nu(1),Ru(1),S
   Dim Ini,Fin,Es,R : Ini = 1 : Fin = EstrazioneFin
   I = InputBox("Numero.Mese.Anno","Insreisci i dati","17.7.2024")
   D = Split("0." & I,".")
   Scrivi "Numero " & FormatSpace( Format2 (D(1)),4,1),1
   Scrivi "Mese " & FormatSpace(Format2 (D(2)),6,1),1
   Scrivi "Anno " & FormatSpace(D(3),6,1),1
   Scrivi
   For Es = Ini To Fin
      If Mese(Es) = CInt(D(2)) And Anno(Es) = CInt(D(3)) And IndiceMensile(Es) = 1 Then
         Scrivi "Dal " & DataEstrazione (Es,,,"/") & " al " & DataEstrazione (Fin,,,"/"),1
         Scrivi
         Nu(1) = CInt(D(1))
         For R = 1 To 12
            Ru(1) = R
            S = SeriePrima(Es,Fin,Nu,Ru,1) - Es
            Scrivi SiglaRuota(R) &  " ",1,0
            If S < 0 Then
         
             Scrivi "Rc" & FormatSpace(EstrattoRitardo (Ru(1),Nu(1),1,Fin),4,1)
            Else
            Scrivi FormatSpace( S+1,5,1) & "° Clp"
            End If
         Next
      End If
   Next
End Sub

Spero sia quanto hai chiesto.

:)
Ciao Joe, grazie della risposta.
Probabilmente non mi sono spiegato bene.
A me serve sapere quanto segue:
Inserisco il mio numero "67" ruota di bari il listato deve dirmi nello scorso mese di luglio in quale indice mensile è sortito ?
a me risulta al 1 colpo, al 3 colpo, 4 colpo e 12 colpo queste sono le sortite del mese di luglio 2023.
 
Ok,

così, com'è lo script utilizzando SeriePrima restituisce "SOLO" il risultato utile.

In ogni caso sembra doversi intendere che se il risultato è alla prima estrazione mensile,

la giocata debba intendersi effettuata all'ultima del mese precedente.

Lo script che ti ho dato ... penso faccia appunto quello che chiedi.

Mancano i colpi successivi al primo.

:)
 
Ok,

così, com'è lo script utilizzando SeriePrima restituisce "SOLO" il risultato utile.

In ogni caso sembra doversi intendere che se il risultato è alla prima estrazione mensile,

la giocata debba intendersi effettuata all'ultima del mese precedente.

Lo script che ti ho dato ... penso faccia appunto quello che chiedi.

Mancano i colpi successivi al primo.

:)
Quando lancio il listato visualizza solo
Numero 67
Mese 07
Anno 2024


Non so la ruota e non so in quali colpi "O indice mensile" è sortito.
 
Scusami ho visto adesso il motivo della mancata visualizzazione
poi ti faccio sapere.
Grazie infinite
Numero 67
Mese 07
Anno 2024

Dal 02/07/2024 al 06/07/2024

BA
Rc 4
CA Rc 36
FI 1° Clp
GE Rc 15
MI 3° Clp
NA 3° Clp
PA Rc 6
RO Rc 5
TO Rc 23
VE Rc 4
TT 1° Clp
NZ Rc 11
 
Prova così :

Codice:
Option Explicit
Sub Main
   Dim I,D,Nu(1),Ru(1),S
   Dim Ini,Fin,Es,Rif,Ex,R : Ini = 1 : Fin = EstrazioneFin
   I = InputBox("Numero.Mese.Anno","Insreisci i dati","67.7.2023")
   D = Split("0." & I,".")
   Scrivi "Numero " & FormatSpace(Format2(D(1)),4,1),1
   Scrivi "Mese " & FormatSpace(Format2(D(2)),6,1),1
   Scrivi "Anno " & FormatSpace(D(3),6,1),1
   Scrivi
   For Es = Ini To Fin
      If Mese(Es) = CInt(D(2)) And Anno(Es) = CInt(D(3)) And IndiceMensile(Es) = 1 Then
         Rif = Es
         Scrivi "Dal " & DataEstrazione(Rif,,,"/")  ,1,0 
         For  Ex = Rif To Rif + 20 
         If IsUltimaDelMese (Ex) Then Scrivi " al " & DataEstrazione (Ex,,,"/"),1
         Next
         Scrivi
         Scrivi "Ruota   Risultati al colpo",1
         Scrivi 
         Nu(1) = CInt(D(1))
         For R = 1 To 12 : If R = 11 Then R = 12
            Scrivi SiglaRuota(R) & " ",1,0
            Ru(1) = R
            S = SeriePrima(Rif,Fin,Nu,Ru,1)
            If S > 0 Then
               For Ex = S To S + 20
                  If Mese(Ex) = CInt(D(2)) And Posizione(Ex,Ru(1),Nu(1)) > 0 Then Scrivi FormatSpace(Ex - Rif + 1,5,1) & "°",1,0
               Next
               Scrivi
            Else
               Scrivi "Rc" & FormatSpace(EstrattoRitardo(Ru(1),Nu(1),1,Fin),4,1)
            End If
         Next
      End If
   Next
End Sub
 
Prova così :

Codice:
Option Explicit
Sub Main
   Dim I,D,Nu(1),Ru(1),S
   Dim Ini,Fin,Es,Rif,Ex,R : Ini = 1 : Fin = EstrazioneFin
   I = InputBox("Numero.Mese.Anno","Insreisci i dati","67.7.2023")
   D = Split("0." & I,".")
   Scrivi "Numero " & FormatSpace(Format2(D(1)),4,1),1
   Scrivi "Mese " & FormatSpace(Format2(D(2)),6,1),1
   Scrivi "Anno " & FormatSpace(D(3),6,1),1
   Scrivi
   For Es = Ini To Fin
      If Mese(Es) = CInt(D(2)) And Anno(Es) = CInt(D(3)) And IndiceMensile(Es) = 1 Then
         Rif = Es
         Scrivi "Dal " & DataEstrazione(Rif,,,"/")  ,1,0
         For  Ex = Rif To Rif + 20
         If IsUltimaDelMese (Ex) Then Scrivi " al " & DataEstrazione (Ex,,,"/"),1
         Next
         Scrivi
         Scrivi "Ruota   Risultati al colpo",1
         Scrivi
         Nu(1) = CInt(D(1))
         For R = 1 To 12 : If R = 11 Then R = 12
            Scrivi SiglaRuota(R) & " ",1,0
            Ru(1) = R
            S = SeriePrima(Rif,Fin,Nu,Ru,1)
            If S > 0 Then
               For Ex = S To S + 20
                  If Mese(Ex) = CInt(D(2)) And Posizione(Ex,Ru(1),Nu(1)) > 0 Then Scrivi FormatSpace(Ex - Rif + 1,5,1) & "°",1,0
               Next
               Scrivi
            Else
               Scrivi "Rc" & FormatSpace(EstrattoRitardo(Ru(1),Nu(1),1,Fin),4,1)
            End If
         Next
      End If
   Next
End Sub
Ottimo Joe........grazie infinite
 
Ottimo o non ottimo, questo è dilemma.

Ogni script (specie poi quando è nelle versioni di prova) può essere ottimizzato.

Nel funzionamento, nella velocità, nella struttura, nell'output.

Dunque quello, mal concepito, perché ho mal interpretato la richiesta è un chiaro esempio

di cosa non si dovrebbe esistere e di cosa non si dovrebbe fare.

Non spiegare bene la richiesta, non capire bene la richiesta, non avere esempi ...

Pubblicare un lavoro mal fatto, e vederlo duplicato ove non lo si può più correggere.

Ma è così che va il mondo !

Dunque :

Ho rimodulato, un pò il tutto, eliminato molte variabili e molti calcoli inutili

eliminato alcune storture presenti a recuperare le malefatte ...

eliminato buona parte del codice forse anche migliorando la leggibilità dei risultati.

Codice:
Option Explicit
Sub Main
   Dim N,I,F,D,P : I = 1 : F = EstrazioneFin
   Dim Ini,Fin,Es,R
   N = InputBox("Numero.Mese.Anno","Insreisci i dati","67.7.2024")
   D = Split("0." & N,".")
   Scrivi "Numero " & FormatSpace(Format2(D(1)),4,1),1
   Scrivi "Mese " & FormatSpace(Format2(D(2)),6,1),1
   Scrivi "Anno " & FormatSpace(D(3),6,1),1
   Scrivi
   For Es = I To F
      If Mese(Es) = CInt(D(2)) And Anno(Es) = CInt(D(3)) And IndiceMensile(Es) = 1 Then Ini = Es
      If Mese(Es) = CInt(D(2)) And Anno(Es) = CInt(D(3)) And(IsUltimaDelMese(Es) Or Es = F) Then Fin = Es
   Next
   Scrivi "Dal " & DataEstrazione(Ini,,,"/") & " al " & DataEstrazione(Fin,,,"/"),1
   Scrivi
   Scrivi "RU  [Rc] Risultati al colpo",1
   Scrivi
   For R = 1 To 12
      Scrivi SiglaRuota(R) & " ",1,0
      Scrivi FormatSpace(EstrattoRitardo(R,CInt(D(1)),1,Fin),4,1),0,0,,2
      For Es = Ini To Fin
         P = Posizione(Es,R,D(1))
         If P > 0 Then Scrivi FormatSpace(Es - Ini + 1,5,1) & "°",1,0
      Next
      Scrivi
   Next
End Sub

:)
 
Ottimo o non ottimo, questo è dilemma.

Ogni script (specie poi quando è nelle versioni di prova) può essere ottimizzato.

Nel funzionamento, nella velocità, nella struttura, nell'output.

Dunque quello, mal concepito, perché ho mal interpretato la richiesta è un chiaro esempio

di cosa non si dovrebbe esistere e di cosa non si dovrebbe fare.

Non spiegare bene la richiesta, non capire bene la richiesta, non avere esempi ...

Pubblicare un lavoro mal fatto, e vederlo duplicato ove non lo si può più correggere.

Ma è così che va il mondo !

Dunque :

Ho rimodulato, un pò il tutto, eliminato molte variabili e molti calcoli inutili

eliminato alcune storture presenti a recuperare le malefatte ...

eliminato buona parte del codice forse anche migliorando la leggibilità dei risultati.

Codice:
Option Explicit
Sub Main
   Dim N,I,F,D,P : I = 1 : F = EstrazioneFin
   Dim Ini,Fin,Es,R
   N = InputBox("Numero.Mese.Anno","Insreisci i dati","67.7.2024")
   D = Split("0." & N,".")
   Scrivi "Numero " & FormatSpace(Format2(D(1)),4,1),1
   Scrivi "Mese " & FormatSpace(Format2(D(2)),6,1),1
   Scrivi "Anno " & FormatSpace(D(3),6,1),1
   Scrivi
   For Es = I To F
      If Mese(Es) = CInt(D(2)) And Anno(Es) = CInt(D(3)) And IndiceMensile(Es) = 1 Then Ini = Es
      If Mese(Es) = CInt(D(2)) And Anno(Es) = CInt(D(3)) And(IsUltimaDelMese(Es) Or Es = F) Then Fin = Es
   Next
   Scrivi "Dal " & DataEstrazione(Ini,,,"/") & " al " & DataEstrazione(Fin,,,"/"),1
   Scrivi
   Scrivi "RU  [Rc] Risultati al colpo",1
   Scrivi
   For R = 1 To 12
      Scrivi SiglaRuota(R) & " ",1,0
      Scrivi FormatSpace(EstrattoRitardo(R,CInt(D(1)),1,Fin),4,1),0,0,,2
      For Es = Ini To Fin
         P = Posizione(Es,R,D(1))
         If P > 0 Then Scrivi FormatSpace(Es - Ini + 1,5,1) & "°",1,0
      Next
      Scrivi
   Next
End Sub

:)
Ottimo grazie, si in effett
i meglio così
 
Una soluzione veloce è quella di eseguire lo script ...

enne volte cambiando di volta in volta l'anno

Per non dover fare tutto a mano ho tolto gli inputbox

e trasformato il resto del programma in una funzione richiamata dalla Sub Main

con i valori di Numero / Mese / Anno (dove l' Anno cambia di volta in volta)

Codice:
Option Explicit
Sub Main
   Dim A,D(3)
   D(1) = 67 ' Numero
   D(2) = 7 ' Mese
   For A = 2020 To 2024
      D(3) = A ' Anno
      Call Cerca(D)
      Scrivi  String (30,"="),1,1,,1 
   Next
End Sub
Sub Cerca(D)
   Dim N,I,F,P : I = 1 : F = EstrazioneFin
   Dim Ini,Fin,Es,R
   Scrivi "Numero " & FormatSpace(Format2(D(1)),4,1),1
   Scrivi "Mese " & FormatSpace(Format2(D(2)),6,1),1
   Scrivi "Anno " & FormatSpace(D(3),6,1),1
   Scrivi
   For Es = I To F
      If Mese(Es) = CInt(D(2)) And Anno(Es) = CInt(D(3)) And IndiceMensile(Es) = 1 Then Ini = Es
      If Mese(Es) = CInt(D(2)) And Anno(Es) = CInt(D(3)) And(IsUltimaDelMese(Es) Or Es = F) Then Fin = Es
   Next
   Scrivi "Dal " & DataEstrazione(Ini,,,"/") & " al " & DataEstrazione(Fin,,,"/"),1
   Scrivi
   Scrivi "RU  [Rc] Risultati al colpo",1
   Scrivi
   For R = 1 To 12
      Scrivi SiglaRuota(R) & " ",1,0
      Scrivi FormatSpace(EstrattoRitardo(R,CInt(D(1)),1,Fin),4,1),0,0,,2
      For Es = Ini To Fin
         P = Posizione(Es,R,D(1))
         If P > 0 Then Scrivi FormatSpace(Es - Ini + 1,5,1) & "°",1,0
      Next
      Scrivi
   Next
End Sub

:)
 
In questa nuova versione, ho modificato l'input,

scambiando la richiesta dell'Anno con quella della Ruota.

Così cerca in tutti gli ultimi anni (20) evidenziando i risultati in tabella.

Codice:
Option Explicit
Sub Main
   Dim A,C,N,I,F,P : I = 1 : F = EstrazioneFin
   Dim D(3)
   Dim Ini,Fin,Es,R
   D(1) = InputBox("Inserisci NUMERO","RICERCA MENSILE",15)
   D(2) = InputBox("Inserisci MESE","RICERCA MENSILE",7)
   D(3) = InputBox("Inserisci RUOTA","RICERCA MENSILE",1)
   Dim T(26)
   R = CInt(D(3))
   Scrivi UCase(NomeRuota(R)) & Chr(13),1
   Scrivi "Numero " & FormatSpace(Format2(D(1)),4,1),1
   Scrivi "Mese " & FormatSpace(Format2(D(2)),6,1),1
   Scrivi
   T(1) = "Anno/Estr"
   For C = 1 To 25
      T(C + 1) = Format2(C) & "°"
   Next
   InitTabella(T)
   For A = Anno(EstrazioneFin) - 20 To Anno(EstrazioneFin) : D(3) = A
      AvanzamentoElab Anno(EstrazioneFin) - 20,Anno(EstrazioneFin),A
      Messaggio A
      ReDim V(31)
      V(1) = A
      For Es = I To F
         If Mese(Es) = CInt(D(2)) And Anno(Es) = CInt(D(3)) And IndiceMensile(Es) = 1 Then Ini = Es
         If Mese(Es) = CInt(D(2)) And Anno(Es) = CInt(D(3)) And(IsUltimaDelMese(Es) Or Es = F) Then Fin = Es
      Next
      For Es = Ini To Fin
         P = Posizione(Es,R,D(1))
         If P > 0 Then V(Es - Ini + 2) = "X"
      Next
      AddRigaTabella V
   Next
   CreaTabella
End Sub

:)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    martedì 08 luglio 2025
    Bari
    29
    56
    53
    47
    86
    Cagliari
    31
    25
    53
    71
    76
    Firenze
    24
    12
    70
    90
    16
    Genova
    84
    79
    48
    81
    51
    Milano
    54
    73
    46
    53
    64
    Napoli
    64
    48
    73
    81
    47
    Palermo
    05
    60
    43
    63
    33
    Roma
    15
    82
    55
    13
    68
    Torino
    83
    13
    39
    53
    74
    Venezia
    52
    66
    24
    08
    41
    Nazionale
    76
    14
    90
    09
    12
    Estrazione Simbolotto
    Nazionale
    33
    27
    20
    14
    11
Indietro
Alto