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ì 13 gennaio 2026
    Bari
    75
    49
    05
    28
    85
    Cagliari
    85
    12
    67
    01
    71
    Firenze
    57
    03
    62
    72
    21
    Genova
    03
    12
    52
    30
    81
    Milano
    68
    02
    79
    08
    06
    Napoli
    60
    23
    16
    29
    19
    Palermo
    48
    89
    53
    15
    50
    Roma
    59
    21
    69
    15
    48
    Torino
    59
    74
    26
    85
    21
    Venezia
    04
    16
    53
    72
    71
    Nazionale
    78
    38
    40
    23
    13
    Estrazione Simbolotto
    Bari
    26
    43
    03
    22
    42

Ultimi Messaggi

Indietro
Alto