Novità

Indice Mensile - Impostarlo con input

Xeroxs

Advanced Member >PLATINUM<
Buongiorno a Tutti

Vorrei fare una piccola richiesta, ho creato uno script per testare dei sommativi o calcoli vari con la scelta dell'indice mensile
che vado ad impostare a seconda delle mie scelte con i codici soliti

If IsUltimaDelMese(es) Then in questo caso ultima del mese
If IndiceMensile(es) = 12 Then in questo caso la 12 estrazione del mese

abilitando nello script che andrò a postare di volta in volta o uno a l'altro.

Io Vorrei capire se è possibile in qualche modo con un case oppure altre scelte creare una scelta includendo anche la famosa ultima estrazione del mese senza dover intervenire manualmente. Io ho provato diverse soluzioni senza trovare una corretta soluzione sempre che si possa fare.

Intanto imposto un semplice script su dove vorrei intervenire per il mio scopo.

Codice:
Sub Main()
   Dim Ini,Fin,es,K
   Dim IM ' Indice Mensile
   Dim ruote(10)
   Dim numeri1(10)
   Dim Clp,posta(5)
   '
   posta(1) = 1
   'posta(2) = 1 ' Attiva se Giochi 2 Ambate
   ruote(1) = BA_
   'ruote(2) = VE_
   Clp = 10 ' Colpi di Gioco
   Ini = 10024 ' Prima Estrazione 2022
   Fin = EstrazioneFin
   '------------------------------------------------------------------------------------------------------- Scelgo Indice Mese
   ' Vorrei Impostando il Valore di IM (Indice Mese) fare la verifica
   IM = 12 ' Se Funziona Creo un Input
   'IM = 0 ' Così Potrebbe eseere Ultima Estrazione ----> Ma come lo Impongo?
   '-------------------------------------------------------------------------------------------------------------------------
   Scrivi String(108,"-") & " By Xeroxs " & "-----"
   Scrivi String(48," ") & "****** Resoconto ****** ",1,,,7
   Scrivi String(48," ") & DataEstrazione(Ini) & " - " & DataEstrazione(Fin),1,,,1
   Scrivi String(45," ") & " Ambata Frequente - Su Bari ",1,,,1
   Scrivi String(124,"-")
   For es = Ini To EstrazioneFin
      '------------------------------------------- Imposto L'Indice Mensile
      'If IsUltimaDelMese(es) Then
      'If IndiceMensile(es) = 12 Then ' Lo Imposto manualmente
      If IndiceMensile(es) = IM Then
         '------------------------------------------------------------------------------
         Messaggio "Elaborazione estrazioni... [" &(es) & " ]   Script  by Xeroxs"
         AvanzamentoElab Ini,Fin,es
         'numeri1(1) = Fuori90(Estratto(es,NZ_,1) - Estratto(es,BA_,1) + 64)
         numeri1(1) = Fuori90(Estratto(es,GE_,1) + Estratto(es,RO_,3) + 85)
         'EliminaRipetuti numeri1
         ColoreTesto 1 : K = K + 1 : Scrivi "Estraz. " & Format2(es) & " ---> " & IndiceMensile(es) & "° Estrazione Mensile " & "[" & Format2(Mese(es)) & " - " & Anno(es) & "]  " & String(58,"*") & " Caso n° " & Format2(K),1,0
         Scrivi
         ColoreTesto 0
         Scrivi
         ImpostaGiocata 1,numeri1,ruote,posta,Clp
         'Gioca es
         Gioca es,True,,1
      End If ' Chiude Indice Mensile
   Next ' Chiude es
   Scrivi
   ScriviResoconto '1
End Sub

Sperando sia possibile Ringrazio come sempre.
 

i legend

Premium Member
Din aV(31)
Dim I
Av(0)="ultima del mese"
For I =1 to 31
Av(i)=i
Next
Idspia= Scegliopzionemenu ()
E qui scegli l indice
Non va messo nel ciclo for di ricerca

Poi fai una funzione
Function selidmese(idestr, idspia)
Qui usi selectscsse
End function

Finisci tu e poi fai vedere come hai risolto:)
 

Xeroxs

Advanced Member >PLATINUM<
Ciao, Premetto una cosa doverosa al di là delle castrofonate che scriverò, ma le function per me sono un mondo nuovo e sicuramente dovrò capirle in quanto anche nel nuovo progetto potrebbero essere utili anche per soluzioni varie ed utili ai nostri scopi.

intanto posto le modifiche fatte, bacchetta pure, sto cercando di entrare in questa visione, non è funzionante per ovvi motivi in quanto mi mancano le dinamiche tra script e funzione come appunto collegarle, ne avevo viste alcune ma sto cercando di ricordarne alcune dinamiche.


Codice:
Sub Main()
   Dim Ini,Fin,Idestr,K
   Dim IM ' Indice Mensile
   Dim ruote(10)
   Dim numeri1(10)
   Dim Clp,posta(5)
   '
   'Indice Mese
   Dim Av(31)
   Dim I
   Dim IdSpia
   Dim aIndici(15)
   '
   posta(1) = 1
   'posta(2) = 1 ' Attiva se Giochi 2 Ambate
   ruote(1) = BA_
   'ruote(2) = VE_
   Clp = 10 ' Colpi di Gioco
   Ini = 10024 ' Prima Estrazione 2022
   Fin = EstrazioneFin
   '------------------------------------------------------------------------------------------------------- Scelgo Indice Mese
   Av(0) = "Ultima Del Mese"
   For I = 1 To 31 ' Non Credo che siano i Giorni io li vdrò come indici max 15-16 con l'ultima del mese
   Av(I) = I
   Next
   IdSpia = ScegliOpzioneMenu(Av,12,"Quale Indice Vuoi Analizzare?")
  
  
   ' Vorrei Impostando il Valore di IM (Indice Mese) fare la verifica
   'IM = 12 ' Se Funziona Creo un Input
   'IM = 0 ' Così Potrebbe eseere Ultima Estrazione ----> Ma come lo Impongo?
   '-------------------------------------------------------------------------------------------------------------------------
   Scrivi String(108,"-") & " By Xeroxs " & "-----"
   Scrivi String(48," ") & "****** Resoconto ****** ",1,,,7
   Scrivi String(48," ") & DataEstrazione(Ini) & " - " & DataEstrazione(Fin),1,,,1
   Scrivi String(45," ") & " Ambata Frequente - Su Bari ",1,,,1
   Scrivi String(124,"-")
   For Idestr = Ini To EstrazioneFin
      '------------------------------------------- Imposto L'Indice Mensile
      'If IsUltimaDelMese(Idestr) Then
      'If IndiceMensile(Idestr) = 12 Then ' Lo Imposto manualmente
      If IndiceMensile(Idestr) = IdSpia Then
         '------------------------------------------------------------------------------
         Messaggio "Elaborazione estrazioni... [" &(es) & " ]   Script  by Xeroxs"
         AvanzamentoElab Ini,Fin,Idestr
         'numeri1(1) = Fuori90(Estratto(es,NZ_,1) - Estratto(es,BA_,1) + 64)
         numeri1(1) = Fuori90(Estratto(es,GE_,1) + Estratto(es,RO_,3) + 85)
         'EliminaRipetuti numeri1
         ColoreTesto 1 : K = K + 1 : Scrivi "Estraz. " & Format2(Idestr) & " ---> " & IndiceMensile(Idestr) & "° Estrazione Mensile " & "[" & Format2(Mese(Idestr)) & " - " & Anno(Idestr) & "]  " & String(58,"*") & " Caso n° " & Format2(K),1,0
         Scrivi
         ColoreTesto 0
         Scrivi
         ImpostaGiocata 1,numeri1,ruote,posta,Clp
         'Gioca es
         Gioca es,True,,1
      End If ' Chiude Indice Mensile
   Next ' Chiude es
   Scrivi
   ScriviResoconto '1
End Sub
Function SelIdMese(idestr, idspia)
 Dim aV(31) 

'Qui usi selectscase x Il Test uso solo 2 casi
'
' devo Impostare qui un ciclo oppure sfrutto quello dello script
aV(0)  = "Ultima del Mese " & " ma come lo Imposto?  --->  If IsUltimaDelMese(idestr) Then"
aV(12) =  " ?" ' If IndiceMensile(idestr) = idspia Then
   Select Case aV(31)
   Case aV(0) = " ??"
   Case aV(12) = " ??"
   End Select
  SelIdMese = idspia
End Function


:eek::ROFLMAO::unsure::ROFLMAO:
 

i legend

Premium Member
Allora abbiamo caricato 31 indici perché ci sono giochi che hanno l estrazione giornaliera vedi il 5minuti

L ultima del mese può cadere a seconda della data in diverse estrazioni.
Perché scegliere l indice zero?
vBool=false
Select case idSpia
Case 0
vBool= isultima delmese(idestr)
Case 1,2,3,4,5,6,ecc.ecc. fino a 31
vBool= (indicemensile(idestr)=idspia)
End select
Selidmese=vBool
Metti questa nella function


Controlla se ho scritto bene.
Sono a pranzo dalla suocera, quindi scrivo da cellulare mentre aspetto il caffè ☕️
Oppure fai un if
If idspia=0 then
Bret= isultimadelmesr(idspia)
Else
Bret=( indicemensile(idestr)=idspia)
End if
Questa la potresti inserire nel ciclo senza fare la funzione.
Oppure prova anche così, da utilizzare anche il costruttore if
Verifica per favore e fammi sapere.
Non ricordo il valore che da il controllo chiuso
 
Ultima modifica:

joe

Advanced Member >PLATINUM PLUS<
Spaziometria calcola abbastanza bene quale sia l' "ultima del mese".

Codice:
Option Explicit
Sub Main
   Dim Es
   For Es = 10000 To EstrazioneFin
      If IsUltimaDelMese(Es) Then
         Scrivi GetInfoEstrazione(Es) & " " & IndiceMensile(Es) & "° di " & Left(MeseNome(Mese(Es)),3)
      End If
   Next
End Sub

"Manualmente" si può ma difficilmente si arriverà ad una precisione migliore o quella stessa del programma.

L'algoritmo considerato controlla se si è in prossimità della fine del mese e quale giorno della settimane è.

A seconda dei giorno in cui vi è l'estrazione si aggiungono 2 o 3 giorni e se si arriva al nuovo mese ...

significa che altre estrazioni non ce ne possono essere nel mese attuale.

Dunque quella considerata è "l'ultima".

:)
 

i legend

Premium Member
Ciao joe , è un codice per non dover sempre scrivere da codice l indice
For I =1 to estrazione fin
Bret = false
If idspia=0 then
Bret= isultimadelmese(idestr)
Else
Bret=(indicemensile(idestr)=idspia)
End if
If bret then
Scrivi idestr
End if
Next
Scusate da cell Non riesco ad indentare
 

Xeroxs

Advanced Member >PLATINUM<
Ciao, Joe
Grazie anche x il tuo intervento, so bene che in spaziometria l'ultima del mese è ben calcolata è non nessun problema ad usarla, in quanto ora so come attivarla o no con apice a in altro modo io sto cercando di capire se si può fare una sola soluzione x ogni indice in quanto volendo creare uno script per le verifiche non x me altri vanno in tilt ogni volta che devono cambiare da ultima ad altri indici.

e spero di trovare una soluzione che penso possa tornare utile a tutti, me compreso ovvio.

Ciao, I-Legend
ora sto cercando di capire come incastrare le soluzioni proposte da Te nello script x capire se riesco a farlo funzionare..
 

i legend

Premium Member
ciao vedi se è giusto quello che cercavi
Codice:
Option Explicit
' controllare che funzioni bene e non ci siano eccezioni da testare
Sub Main
    Dim i,idEstr,bRet
    Dim aV(31)
    aV(0) = "Ultima del Mese"
    For i = 1 To 31
        aV(i) = i & "°"
    Next
    Dim idSpia:idSpia = ScegliOpzioneMenu(aV,0,"Seleziona indice mensile")
    For idEstr = EstrazioneIni To EstrazioneFin
        bRet = False
        If idSpia = 0 Then
            bRet = IsUltimaDelMese(idEstr)
        Else
            bRet =(IndiceMensile(idEstr) = idSpia)
        End If
        If bRet Then Scrivi IndiceMensile(idEstr) & " | " & GetInfoEstrazione(idEstr)
    Next
End Sub
 

Xeroxs

Advanced Member >PLATINUM<
Ciao, Grazie I-Legend, dovrebbe essere perfetto ero sulla strada quasi buona ma con questo tuo intervento me lo hai completato, senza il tuo intervento non credo ci sarei arrivato. ora lo incastro nei miei test e poi lo posto come esito finale.

e credimi con quelle poche righe per te semplici mi apri un altro pezzo di mondo per capire.

Sempre utile e chiaro, + che bravo.

hai usato il "bret" l'ho visto usare solo da te in pratica cosa fa o impone.

Poi se hai voglia con calma mi puoi creare la versione con la function, penso che possa aiutarmi a capire molto per altre cose che ho in mente e se non le capisco non potrei riuscirci... non sentirti in obbligo già mi aiuti abbastanza.

Grazie.
 

i legend

Premium Member
bRet è solo una variabile, si poteva chiamare anche pippo
ritorna vero o falso

per quanto riguarda la funzione
hai il nome e i parametri basta scriverci il codice che ho postato dentro
lo script cosi è semplice semplice non necessita di altro
cmq controlla che sia tutto giusto, insomma fai dei test
ciao .
 

joe

Advanced Member >PLATINUM PLUS<
Per gli altri indici ...

... basta controllare se l'estrazione ha quell'indice e lo script è lo stesso di prima.

Però forse ancora una volta utilizzare le funzioni previste dal programma

è meglio che modificare script .

Codice:
Option Explicit
Sub Main
   Dim Es
   For Es = 10000 To EstrazioneFin
      If  IndiceMensile (Es) = 4 Then
         Scrivi GetInfoEstrazione(Es) & " " & IndiceMensile(Es) & "° di " & Left(MeseNome(Mese(Es)),3)
      End If
   Next
End Sub
 

Xeroxs

Advanced Member >PLATINUM<
Ecco il Risultato finale

Codice:
Option Explicit
Sub Main()
   Dim Ini,Fin,Idestr,K
   Dim IM ' Indice Mensile
   Dim ruote(10)
   Dim numeri1(10)
   Dim Clp,posta(5)
   '
   Dim Idspia,bRet,aV(31),i
   '
   posta(1) = 1
   'posta(2) = 1 ' Attiva se Giochi 2 Ambate
   ruote(1) = BA_
   'ruote(2) = VE_
   Clp = 10 ' Colpi di Gioco
   Ini = 10024 ' Prima Estrazione 2022
   Fin = EstrazioneFin
   '------------------------------------------------------------------------------------------------------- Scelgo Indice Mese
   aV(0) = "Ultima del Mese"
   For i = 1 To 31
      aV(i) = i & "°"
   Next
   Idspia = ScegliOpzioneMenu(aV,0,"Seleziona indice mensile")
   'Idspia = 12
   '-------------------------------------------------------------------------------------------------------------------------
   Scrivi String(108,"-") & " By Xeroxs " & "-----" & " Con L'Aiuto di I-Legend",1
   Scrivi String(48," ") & "****** Resoconto ****** ",1,,,7
   Scrivi String(48," ") & DataEstrazione(Ini) & " - " & DataEstrazione(Fin),1,,,1
   Scrivi String(45," ") & " Ambata Frequente - Su Bari ",1,,,1
   Scrivi String(124,"-")
   For Idestr = Ini To EstrazioneFin
      Messaggio "Elaborazione estrazioni... [" &(Idestr) & " ]   Script  by Xeroxs"
      AvanzamentoElab Ini,Fin,Idestr
      bRet = False
      If Idspia = 0 Then
         bRet = IsUltimaDelMese(Idestr)
      Else
         bRet =(IndiceMensile(Idestr) = Idspia)
      End If
      If bRet Then
         '-----------------------------------------------------------------------------------------------------
         'numeri1(1) = Fuori90(Estratto(es,NZ_,1) - Estratto(es,BA_,1) + 64)
         numeri1(1) = Fuori90(Estratto(Idestr,GE_,1) + Estratto(Idestr,RO_,3) + 85)
         'EliminaRipetuti numeri1
         '------------------------------------------------------------------------------------------------------
         ColoreTesto 1 : K = K + 1 : Scrivi "Estraz. " & Format2(Idestr) & " ---> " & IndiceMensile(Idestr) & "° Estrazione Mensile " & "[" & Format2(Mese(Idestr)) & " - " & Anno(Idestr) & "]  " & String(58,"*") & " Caso n° " & Format2(K),1,0
         Scrivi
         ColoreTesto 0
         Scrivi
         ImpostaGiocata 1,numeri1,ruote,posta,Clp
         'Gioca Idestr
         Gioca Idestr,True,,1
      End If ' Chiude Indice Mensile
   Next ' Chiude Idestr
   Scrivi
   ScriviResoconto '1
End Sub

👌 🙏
 

i legend

Premium Member
Ciao joe prova a lanciarlo , sono state utilizzate le funzioni di spaziomrtria.
Così non si deve modificare sempre da script l indice o richiamare l ultima del mese.
In pratica lo script lo può utilizzare anche chi con gli script non ha dimestichezza .
È solo un automazione.

X xerox se cerchi questa funzione l avevo già postato,
Mettendo l indice a zero le becchi tutte perché ultima del mese non ha un indice fisso.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 04 maggio 2024
    Bari
    02
    31
    81
    52
    21
    Cagliari
    39
    88
    84
    01
    67
    Firenze
    36
    30
    70
    06
    41
    Genova
    59
    23
    61
    22
    27
    Milano
    05
    17
    69
    57
    39
    Napoli
    81
    62
    82
    43
    50
    Palermo
    73
    55
    62
    45
    18
    Roma
    76
    70
    01
    64
    15
    Torino
    82
    55
    35
    70
    46
    Venezia
    58
    23
    61
    29
    21
    Nazionale
    10
    14
    01
    43
    09
    Estrazione Simbolotto
    Milano
    30
    01
    05
    32
    11
Alto