Novità

tom's bakery

Script n. 8 ordina in modo crescente da sx a dx qualsiasi formazione numerica presente in un file txt by me

Codice:
Option Explicit
Sub Main
'tom's bakery script n.8 x ordinare qualsiasi gruppo di formazioni numeriche in ordine crescente da sx a dx nb:gli elementi delle formazioni devono essere necessariamente separati dal carattere punto (.)
   ReDim aRighebase(0)
   ReDim aNumbase(0)
   Dim b
   Dim filedaleggere
   Dim fileconelementidirigaordinati
   fileconelementidirigaordinati = ".\fileconelementidirigaordinati.txt"
   If FileEsistente(fileconelementidirigaordinati) Then
      Call EliminaFile(fileconelementidirigaordinati)
   End If
   filedaleggere = ScegliFile(".\",".txt","filedaleggere")
   Call LeggiRigheFileDiTesto(filedaleggere,aRighebase)
   For b = 0 To UBound(aRighebase)
      If aRighebase(b) <> "" Then
         Dim Stringa5
         If InStr(aRighebase(b)," ") Then
            Stringa5 = Replace(aRighebase(b)," ","")
         End If
         If InStr(aRighebase(b),"  ") Then
            Stringa5 = Replace(aRighebase(b),"  ","")
         End If
         Call LTrim(aRighebase(b))
         Dim tmp
         tmp = Trim(aRighebase(b))
         Dim matrimfunzionaono
         matrimfunzionaono = " prova rimozione spazi iniziali e finali "
         Call Trim(matrimfunzionaono)
         Call SplitByChar(aRighebase(b) & ".|"," ",aNumbase)
         Dim vettoreinteri,QNS
         Dim aNumbasestringa
         aNumbasestringa = StringaNumeri(aNumbase)
         Dim lenght2
         Dim captured_string
         Dim captured_string2
         captured_string = aNumbasestringa
         lenght2 = Len(captured_string)
         Dim Stringa3,Stringa4
         If InStr(captured_string,".|") Then
            Stringa3 = Replace(captured_string,".|","")
         End If
         If InStr(captured_string,"..|") Then
            Stringa3 = Replace(captured_string,"..|","")
         End If
         Dim vettorenumeripulitodaipunti
         Call SplitByChar(Stringa3,".",vettorenumeripulitodaipunti)
         aNumbasestringa = StringaNumeri(vettorenumeripulitodaipunti)
         Call Get_aNum(aNumbasestringa,vettoreinteri,QNS)
         Call Messaggio(StringaNumeri(vettoreinteri))
         Call OrdinaMatriceTurbo(vettoreinteri,1)
 
         Scrivi StringaNumeri(vettoreinteri)
 
         ScriviFile fileconelementidirigaordinati,StringaNumeri(vettoreinteri)
         Call CloseFileHandle(fileconelementidirigaordinati)
      End If
      Call AvanzamentoElab(1,UBound(aRighebase),b)
      If ScriptInterrotto Then Exit For
   Next
   Scrivi
   Scrivi "Fatto in Tt " & TempoTrascorso
   Scrivi
End Sub
Function Get_aNum(anumbasestringa,vettoreinteri,QNS)
   Dim i
   Dim aTemp:aTemp = Split("." & anumbasestringa,".")
   QNS = UBound(aTemp)
   ReDim vettoreinteri(QNS)
   For i = 0 To QNS
      vettoreinteri(i) =(aTemp(i))
   Next
   Call OrdinaMatriceTurbo(vettoreinteri,1)
End Function

nb: gli elementi delle formazioni che si desidera ordinare da sx a dx in ordine crescente devono essere necessariamente separati dal carattere punto (.)


Aggiungo che chiunque volesse contribuire ad allargare questa sezione (thread) con il suo know how riguardo script suoi o di terzi rispettando i punti a inizio thread può farlo a patto che segua possibilmente questa struttura ordinata di condivisione sotto riportata:

Script n. progressivo rispetto al precedente postato... (in grassetto) x (lotto, superenalotto, milion day o altro... es. utility for all) by scripter che lo ha realizzato (se lo si conosce ovviamente).

Poi il codice script relativo necessariamente incluso tra i rispettivi TAG code e /code rispettivamente tra parentesi quadre.

In alternativa al riportare il code tra i rispettivi tag, si può anche linkare il relativo post dove lo script che si intende condividere è presente.

Infine una breve spiegazione su cosa faccia.. e magari come lo si possa personalizzare per le proprie eventuali esigenze.

👋🙂
 
Ultima modifica:
Script n. 10 x sapere quante formazioni integrali si generano con qualsiasi gruppo numerico di base di partenza... by me

Codice:
'Il seguente script serve a visualizzare il numero di combinazioni integrali
'per qualsiasi classe di sviluppo e per qualsiasi numero di elementi del gruppo numerico di base.
' << l'apostrofo serve per commentare qualsiasi riga dello script che in tal modo resterà "invisibile" al comando esegui...
' per quanto riguarda l'esecuzione del resto del programma. I commenti servono a cercare di rendere
' + comprensibile il codice "attivo" ovvero la parte di codice che verrà effettivamente eseguita dal programma...
Option Explicit '<< questa riga di codice serve a rilevare se ci sono errori nell'attribuire i valori alle variabili.
' si può anche omettere ma in questo caso non si avrà un controllo sulle variabili utilizzate che pertanto potrebbero
' risultare anche errate...
Sub Main '<< tutte le funzioni "madri" per così dire sono chiamate Sub Main ovvero sub routine principale... appunto...
   Dim colonne '<< quando si utilizza Option Explicit le variabili andranno tutte "definite" con Dim altrimenti
   ' lo script ci segnalerà un errore relativo ad esse...
   Dim an
   Dim nclasse
   Dim numeri
   numeri = ScegliNumeri(an) '<< con questa funzione riconoscibile dal colore violetto è possibile
   ' caricare in un contenitore (vettore) i numeri voluti...
   Call Scrivi("con " & UBound(an) & " elementi si generano in modo integrale ") '<< con la funzione scrivi è possibile visualizzare
   ' l'output a video relativo... in questo caso ad esempio una frase fissa tra virgolette con l'elemento variabile Ubound(an) incluso.
   Scrivi
   For nclasse = 1 To UBound(an) ' << i cicli che possono essere di diversi tipi iniziano anche con for e si concludono con next
      colonne = InitSviluppoIntegrale(an,nclasse) '<< altra funzione (per adesso basta ricordare che si evidenzia in violetto)
      Call Scrivi(" x classe " & nclasse & " : " & colonne & " formazioni ")
      If ScriptInterrotto Then Exit For ' << funzione che interrompe il ciclo se viene premuto il tasto STOP.
   Next ' fine ciclo...
End Sub

lo script in questo caso è commentato e potrebbe essere utile anche per chi è agli inizi della programmazione script per cercare di comprenderne... le basi...
 
Script n. 11 x lotto "selettivo" rileva ritardi massimi in modalità random by joe ed esteso su + ruote by tom

Codice:
Option Explicit
Sub Main
   'tom's bakery script n.11 x lotto x analizzare in modo random iperfast ritardi max senza limiti di classe by joe esteso su tt sep by tom
   Dim nSorte,aRuote,Ini,fin,sMsg,nMoltip,nTrov,nNumSel
   Dim nCicloTeo,nRitMax,nRitMin,nClasseLunghetta,nRuoteSel,nLunghetteDaTrov
   Dim TimeStart
   Dim k,CollComb,cColonna
   Dim aN
   Dim TipoAlgo
   Dim RetRit,RetRitMax,RetIncrRitMax,RetFrq
   Dim nSuperficialita
   nTrov = 0 '
   nNumSel = ScegliNumeri(aN)
   nSorte = InputBox("sorte",,3)
   nClasseLunghetta = InputBox("classe ",,UBound(aN) - 1)
   TipoAlgo = 4
   nSuperficialita = 0
   Dim contatore
   contatore = 0
   Call Scrivi
   Call Scrivi("Elaborazione effettuata con archivio lotto aggiornato all'estrazione del: " & giorno(EstrazioneFin) & "-" & Mese(EstrazioneFin) & "-" & Anno(EstrazioneFin))
   Call Scrivi("Analisi effettuata a partire dalla estrazione " & GetInfoEstrazione(EstrazioneIni))
   Call Scrivi("Sorte ricercata: " & nSorte & " classe: " & nClasseLunghetta)
   Scrivi
   Dim r
   Dim ruotevolute
   Call ScegliRuote(ruotevolute)
   For r = 1 To UBound(ruotevolute)
      nRuoteSel = r : ReDim aRuote(r) : aRuote(r) = ruotevolute(r)
      nLunghetteDaTrov = 100000 ' cInt(InputBox("Lunghette random da elaborare (max 10.000)","Quantità lunghette random",10))
      ReDim Preserve aRuote(nRuoteSel)
      nCicloTeo = CicloTeorico(nClasseLunghetta,nSorte,UBound(aRuote))
      nMoltip = 1
      nRitMax = 0
      nRitMin = 0
      fin = EstrazioneFin
      Ini = fin - nRitMax
      If Ini <= 0 Then Ini = 1
      TimeStart = Timer
      Call GetLunghettePiuRitardate(aN,aRuote,nClasseLunghetta,nSorte,CollComb,EstrazioneIni,EstrazioneFin,nRitMin,nRitMax,nLunghetteDaTrov,TipoAlgo,nSuperficialita)
      Call OrdinaItemCollection(CollComb,"Ritardo",,,- 1)
      For Each cColonna In CollComb
         contatore = contatore + 1
         Call StatisticaFormazioneTurbo(cColonna.aNum,aRuote,nSorte,RetRit,RetRitMax,RetIncrRitMax,RetFrq,EstrazioneIni,EstrazioneFin)
         Dim diff
         diff = RetRitMax - RetRit
         Call Messaggio(NomeRuota(StringaNumeri(aRuote)))
         If(RetRit >= 0) Then
            Call Messaggio("trovata")
            Call Scrivi("Sorte ricercata: " & nSorte & " classe: " & nClasseLunghetta)
            Call Scrivi(SiglaRuota(aRuote(r)) & " " & cColonna.GetStringaNum & " Rit " & RetRit & " rit max " & RetRitMax & " incmax " & RetIncrRitMax & " frequenza " & RetFrq)
            Scrivi
            Scrivi cColonna.GetStringaNum
         End If
         If ScriptInterrotto Then Exit For
      Next
      Call Scrivi("------------------------------------------------------------------------------")
      If ScriptInterrotto Then Exit For
   Next
   Call Scrivi("Tempo di elaborazione : " & FormattaSecondi(Timer - TimeStart))
End Sub
Function ScegliClassseLunghetta
   Dim aVoci(30)
   Dim k,i
   For k = 2 To(2 - 1) + UBound(aVoci)
      i = i + 1
      aVoci(i) = k
   Next
   k = ScegliOpzioneMenu(aVoci,5,"Classe lunghetta")
   ScegliClassseLunghetta = Int(aVoci(k))
End Function
Function SelRuote(aRuote)
   Dim t,k,bTutte
   bTutte = False
   If bTutte Then
      ReDim aRuote(10)
      For k = 1 To 10
         aRuote(k) = k
      Next
      SelRuote = 10
   Else
      SelRuote = t
   End If
End Function
Function FormattaSecondi(s)
   Dim hh
   Dim Mm
   Dim Ss
   Dim TimeStr
   hh = s \ 3600
   Mm =(s Mod 3600) \ 60
   Ss = s -((hh * 3600) +(Mm * 60))
   TimeStr = Format2(hh) & ":" & Format2(Mm) & ":" & Format2(Ss)
   FormattaSecondi = TimeStr
End Function

Lo script elabora in modo molto veloce formazioni di qualsiasi classe per sorti da 1 a 2. Può elaborare in tempi + lunghi anche la sorte 3 ma non le sorti superiori.

 
Script n. 12 o per meglio dire funzione implementativa la voce di output. Con questo code è possibile letteralmente parlando... "dare voce" ai propri script. By LuigiB.

Codice:
Sub Main

Call PlayWav("C:\silenzio.wav",1,"qui ci puoi mettere il testo che preferisci riguardo l'output del tuo script")

End Sub

Sub PlayWav(sFile,nRepeat,sTesto)
   Dim oVoice,oSpFileStream
   Dim k
   Set oVoice = CreateObject("SAPI.SpVoice")
   Set oSpFileStream = CreateObject("SAPI.SpFileStream")
   For k = 1 To nRepeat
      oSpFileStream.Open sFile
      oVoice.SpeakStream oSpFileStream
      oSpFileStream.Close
   Next
   oVoice.Speak sTesto
End Sub

Ovviamente il richiamo alla funzione può essere inserito in qualunque punto del proprio script si desideri ottenere il rispettivo output vocale. Io ad esempio come già visto nel ralativo script precedente lo utilizzo per rilevare la classe di soglia minima con ironbot. E' necessario mettere nel primo parametro della function il percorso al file .wav desiderato, il quale per altro può essere anche del tutto silenziato.
 
Ciao Tom ...

... a quel tempo avevo chiesto a Luigi se fosse possibile tradurre "in suono" i nostri numeri.

Rispose all'incirca come hai proposto, con uno script simile . (Sul mio Pc quello del msg 25 non funziona).

Riporto dunque a seguito questo breve esempio alternativo e più semplice.

Codice:
Sub Main

Dim sapi
Set sapi = CreateObject("sapi.spvoice")
Set sapi.Voice = sapi.GetVoices.Item(1)
sapi.Speak "660 HZ"

End Sub

Come potrai udire e sai ... il risultato ... purtroppo NON è una nota musicale ed universale,

ma è la letture del testo: "660 Hertz" peraltro letto all'americana.

:)
 
Grazie per i like e gli smiles friends :)

script n. 1 : filtro random per superenalotto by me

Breve spiegazione: così settato lo script estrapola e visualizza in output la formazione che nel range di estrazioni superenalotto volute ha rispettato il filtro x differenza (RS-RA=0) e incmax=0 e nel contempo filtra anche quella con ra maggiore indicando se vi sono o meno altre risultanze con ra massimi del tutto uguali.


Codice:
Sub Main
   Dim QuantitaNumeriScelti
   Dim sorte
   Dim ritardo,ritardomax,Incrritmax,frequenza,Inizio,fine
   Dim diff
   Dim valoreInizioelaborazione
   Dim valorefineelaborazione
   ReDim anum(0)
   Dim Classe
   ReDim aRetCol(0)
   Dim numerorisultanze
   numerorisultanze = 0
   Dim estr,Ini,fin,Tot
   Classe = CInt(InputBox("classe",,20))
   sorte = CInt(InputBox("sorte",,2))
   estr = InputBox("Quante estrazioni Analizzo",,9)
   fin = EstrazioniArchivioSE
   Ini = fin - estr
   Tot = fin - Ini '+ 1
   Dim ramaggiore
   ramaggiore = 0
   Dim FormazioneSErispettanteilfiltroeconramaggiore
   Dim dettagliparametriciformazioneSEeconramaggiore
   Dim numerorisultanzeconramaxidentico
   numerorisultanzeconramaxidentico = 0
   'by tom's bakery :)
   Scrivi "Filtro Random per Punti Voluti x Superenalotto in Periodi Temporali Prestabiliti"
   Scrivi
   Scrivi "Range Inizio  : " & DataEstrazioneSE(Ini)
   Scrivi "Range Fine    : " & DataEstrazioneSE(fin)
   Scrivi "Totali Estraz.: " & Tot
   Scrivi
   Scrivi "Classe esaminata: " & Classe
   Scrivi "Punti ricercati: " & sorte
   Call Scrivi("                                                             ")
   Call Scrivi("Id estrazione inizio analisi per superenalotto" & " " & Ini)
   Call Scrivi("Id estrazione fine analisi per superenalotto" & " " & fin)
   Call Scrivi("                                                             ")
   Call Scrivi("                                                             ")
   QuantitaNumeriScelti = ScegliNumeri(anum)
   valoreInizioelaborazione = 1
   valorefineelaborazione = 100000
   For k = valoreInizioelaborazione To valorefineelaborazione
      Call GetColonnaCasuale(Classe,aRetCol,anum)
      'Call Scrivi(StringaNumeri(aRetCol,,True))
      'sorte = 1
      Call StatisticaFormazioneSE(aRetCol,sorte,ritardo,ritardomax,Incrritmax,frequenza,Ini,fin)
      diff = ritardomax - ritardo
      'If(ritardo = 0 And ritardomax = 0) Then 'And diff=0) Then
      'If(ritardo >= 0) Then
      If diff = 0 And Incrritmax = 0 Then
         Call Scrivi(" Colonna: " & k & " " & StringaNumeri(aRetCol,,True) & " RA " & ritardo & " RS " & ritardomax & " INCMAX " & Incrritmax & " FQ " & frequenza & " diff " & diff & " risultanza n. " & numerorisultanze)
         numerorisultanze = numerorisultanze + 1
         If ritardo > ramaggiore Then
            ramaggiore = ritardo
            FormazioneSErispettanteilfiltroeconramaggiore = StringaNumeri(aRetCol)
            dettagliparametriciformazioneSEeconramaggiore = " RA " & ritardo & " RS " & ritardomax & " INCMAX " & Incrritmax & " FQ " & frequenza & " diff " & diff
            numerorisultanzeconramaxidentico = 0
         End If
         ' End If
         'Else
         If ritardo = ramaggiore Then
            numerorisultanzeconramaxidentico = numerorisultanzeconramaxidentico + 1
         End If
      End If
      Call AvanzamentoElab(valoreInizioelaborazione,valorefineelaborazione,k)
      Call Messaggio("numero risultanze trovate: " & numerorisultanze & " num. ra max identici: " & numerorisultanzeconramaxidentico)
      If ScriptInterrotto Then Exit For
   Next
   If numerorisultanze = 0 Then
      Scrivi "nessuna risultanza trovata :("
   End If
   Scrivi
   Scrivi "Formazione SE Top rispettante il filtro e con ra maggiore " & FormazioneSErispettanteilfiltroeconramaggiore
   Scrivi "Dettagli parametrici della formazione scelta ed estrapolata " & dettagliparametriciformazioneSEeconramaggiore
   Scrivi "Numero ra max identici " & numerorisultanzeconramaxidentico
End Sub


Ovviamente anche la riga filtro

Codice:
      If diff = 0 And Incrritmax = 0 Then

è customizzabile come uno preferisce...


Relativa spiegazione a voce by avatar 2d/3d🤖🗣️👂 In base al pubblico è possibile volendo anche tradurla in run time in quasi tutte le lingue 😱😄
Scusa ma mi dice:

Range Inizio : 05.11.2022
Range Fine : 26.11.2022

Totali Estraz.: 9

Classe esaminata: 20
Punti ricercati: 2

Id estrazione inizio analisi per superenalotto 3497 ?
Id estrazione fine analisi per superenalotto 3506 ?



nessuna risultanza trovata :( ?? ho immesso 20 numeri !!! dove ho errato,grazie

Formazione SE Top rispettante il filtro e con ra maggiore
Dettagli parametrici della formazione scelta ed estrapolata
Numero ra max identici 0
 
Ciao Tom ...

... a quel tempo avevo chiesto a Luigi se fosse possibile tradurre "in suono" i nostri numeri.

Rispose all'incirca come hai proposto, con uno script simile . (Sul mio Pc quello del msg 25 non funziona).

Riporto dunque a seguito questo breve esempio alternativo e più semplice.

Codice:
Sub Main

Dim sapi
Set sapi = CreateObject("sapi.spvoice")
Set sapi.Voice = sapi.GetVoices.Item(1)
sapi.Speak "660 HZ"

End Sub

Come potrai udire e sai ... il risultato ... purtroppo NON è una nota musicale ed universale,

ma è la letture del testo: "660 Hertz" peraltro letto all'americana.

:)

Ottimo joe 👋:)
 
Scusa ma mi dice:

Range Inizio : 05.11.2022
Range Fine : 26.11.2022

Totali Estraz.: 9

Classe esaminata: 20
Punti ricercati: 2

Id estrazione inizio analisi per superenalotto 3497 ?
Id estrazione fine analisi per superenalotto 3506 ?



nessuna risultanza trovata :( ?? ho immesso 20 numeri !!! dove ho errato,grazie

Formazione SE Top rispettante il filtro e con ra maggiore
Dettagli parametrici della formazione scelta ed estrapolata
Numero ra max identici 0

Ciao Alien :)
è normale che la riga filtro che per altro puoi modificare secondo le tue esigenze

Codice:
If diff = 0 And Incrritmax = 0 Then

spesso e volentieri non mostri in output alcun risultato... specialmente se si sta anlaizzando come nel tuo caso poche estrazioni e formazioni di classe ampia...

Comunque per vedere se dipende dallo script o dal filtro troppo "stringente"... prova in questi casi a mettere come filtro "aperto" qualcosa di questo tipo...

Codice:
if ritardo >= 0 then...

e vedi se ti mostra qualcosa in output o meno...

Se ti mostra tutte le righe prova a cambiare filtro con uno meno "chiuso" se al contrario continua a non mostrarti nulla allora il problema è dello script ma in questo caso non credo...

:)
 
Script n. 13 x superenalotto per analizzare qualsivoglia file txt con le proprie formazioni... di qualunque classe con report finale di c+ c- ca e crt min rispetto colpo massimo rilevato by tom

Codice:
Sub Main
   'tom's bakery script n. 13 x superenalotto x analisi file txt con c+ c- ca e crt min rispetto clpmax rilevato
   ReDim aNumeri(90)
   Dim k
   Dim sfile
   Dim Inizio
   Dim fine
   fine = EstrazioniArchivioSE
   Inizio = 1
   Dim estrazionidaverificare
   Dim Inizioverifica
   estrazionidaverificare = CInt(InputBox("estrazioni da verificare",,100))
   Inizioverifica = fine - estrazionidaverificare
   Dim nmatch
   nmatch = 0
   Dim sorte,entrocolpi,esitoverifica,alcolponumero,estrattisuperena,idesuscita
   sorte = CInt(InputBox("sorte",,3))
   entrocolpi = CInt(InputBox("colpi di ricerca",,estrazionidaverificare - 2))
   Dim colpomassimo
   Dim colpirimanentirispettocolpidiricerca
   Dim colpirimanentirispettocolpomassimo
   Dim colpirimanentiminimirispettocolpomassimo
   Dim colpirimanentiminimirispettocolpidiricerca
   Dim casipositivi
   Dim casinegativi
   Dim casincorso
   Dim casitotali
   Dim percpositiva
   Dim Formazioneconcolpirimanentiminimirispettocolpomassimo
   casipositivi = 0
   casinegativi = 0
   casincorso = 0
   colpirimanentirispettocolpomassimo = EstrazioniArchivioSE
   colpirimanentirispettocolpidiricerca = EstrazioniArchivioSE
   colpirimanentiminimirispettocolpomassimo = EstrazioniArchivioSE
   colpirimanentiminimirispettocolpidiricerca = EstrazioniArchivioSE
   colpomassimo = 0
   sfile = ScegliFile(".\",".txt","pippo.txt")
   Dim arighe
   Call LeggiRigheFileDiTesto(sfile,arighe)
   Dim contarighe
   For contarighe = 0 To UBound(arighe)
      Call SplitByChar(arighe(contarighe),".",aNumeri)
      Dim se
      For se = 1 To 90
         For k = Inizioverifica To fine
            If Fuori90(EstrattoSE(k,1) + EstrattoSE(k,2)) = se Then '30  se la somma del primo e secondo numero fa 30 gioco
               nmatch = nmatch + 1
               Call VerificaEsitoSE(aNumeri,k,sorte,entrocolpi,esitoverifica,alcolponumero,estrattisuperena,idesuscita)
               If esitoverifica <> "" Then
                  Scrivi "ok"
                  Scrivi "riga n. " & contarighe
                  Scrivi esitoverifica
                  Scrivi "estratti i numeri " & estrattisuperena
                  Scrivi "al colpo numero " & alcolponumero
                  Scrivi "su " & entrocolpi & " colpi di ricerca"
                  Scrivi "nell'es n. " & idesuscita
                  Scrivi "estrazioniarchivioSE " & EstrazioniArchivioSE
                  Scrivi "idestrazione " & k
                  Scrivi "estrazioniarchivioSE-idestrazione " & EstrazioniArchivioSE - k
                  If alcolponumero > colpomassimo Then
                     colpomassimo = alcolponumero
                  End If
                  casipositivi = casipositivi + 1
               Else
                  Scrivi
                  Scrivi "esito <font coor=blue>in corso</font> o <font color=red>negativo</font>"
                  Scrivi
                  colpirimanentirispettocolpidiricerca = entrocolpi -(EstrazioniArchivioSE - k)
                  colpirimanentirispettocolpomassimo = colpomassimo -(EstrazioniArchivioSE - k)
                  If colpirimanentirispettocolpidiricerca < 0 Then
                     casinegativi = casinegativi + 1
                     Scrivi "<font color=red>caso negativo :-("
                  Else
                     casincorso = casincorso + 1
                     If colpirimanentirispettocolpomassimo < 0 Then
                        casincorso = casincorso + 1
                        Scrivi "<font color=blue>caso in corso ma non ottimale... :-/"
                        Scrivi "colpi rimanenti rispetto colpi di ricerca " & colpirimanentirispettocolpidiricerca
                        Scrivi "colpi rimanenti rispetto colpo massimo  " & colpirimanentirispettocolpomassimo
                        Scrivi "formazione superena " & StringaNumeri(aNumeri)
                     End If
                     If colpirimanentirispettocolpomassimo > 0 Then
                        casincorso = casincorso + 1
                        Scrivi "<font color=green>caso in corso teoricamente ottimale... :-)"
                        Scrivi "colpi rimanenti rispetto colpi di ricerca " & colpirimanentirispettocolpidiricerca
                        Scrivi "colpi rimanenti rispetto colpo massimo  " & colpirimanentirispettocolpomassimo
                        Scrivi "formazione superena " & StringaNumeri(aNumeri)
                        If colpirimanentirispettocolpomassimo < colpirimanentiminimirispettocolpomassimo Then
                           colpirimanentiminimirispettocolpomassimo = colpirimanentirispettocolpomassimo
                           Scrivi "<font color=green>caso in corso teoricamente ottimale... :-)"
                           Scrivi "colpi rimanenti minimi rispetto colpi di ricerca " & colpirimanentiminimirispettocolpidiricerca
                           Scrivi "colpi rimanenti minimi rispetto colpo massimo  " & colpirimanentiminimirispettocolpomassimo
                           Scrivi "formazione superena " & StringaNumeri(aNumeri)
                           Formazioneconcolpirimanentiminimirispettocolpomassimo = StringaNumeri(aNumeri)
                        End If
                     End If
                  End If
               End If
            End If
            Call Messaggio("se " & se & " ides " & k & " s.r. " & Fuori90(EstrattoSE(k,1) + EstrattoSE(k,2)) & " riga n. " & contarighe & " n. match  " & nmatch & " c+ " & casipositivi & " c- " & casinegativi & " ca " & casincorso & " clpmax " & colpomassimo)
            If ScriptInterrotto Then Exit For
            Call AvanzamentoElab(Inizio,fine,k)
         Next
         If ScriptInterrotto Then Exit For
      Next ' x se
   Next ' x anumeri
   Scrivi
   Scrivi "n. ultime estrazioni analizzate  " & estrazionidaverificare
   Scrivi "sorte di ricerca " & sorte
   Scrivi "colpi di ricerca " & entrocolpi
   Scrivi "colpo massimo " & colpomassimo
   Scrivi "colpi rimamenti minimi rispetto colpo massimo " & colpirimanentiminimirispettocolpomassimo
   Scrivi "formazione con colpi rimanenti minimi rispetto colpo massimo " & Formazioneconcolpirimanentiminimirispettocolpomassimo
   Scrivi "casi positivi " & casipositivi
   Scrivi "casi negativi " & casinegativi
   Scrivi "casi in corso " & casincorso
   Scrivi "casitotali " & casipositivi + casincorso + casinegativi
   Scrivi
   Scrivi "Tt " & TempoTrascorso
   Scrivi
End Sub
 
Script n. 14 x superenalotto pochissime righe di codice sufficienti a visualizzarne l'intero archivio by tom

Codice:
Option Explicit
Sub Main
'tom's bakery script. n. 14  visualizza tutte le estrazioni superenalotto dopo averne aggiornato l'archivio dal programma.

   Dim Inizio
   Dim fine
   Dim esSE
   Inizio = 1
   fine = EstrazioniArchivioSE
   For esSE = Inizio To fine
      Scrivi GetInfoEstrazioneSE(esSE) & " estratti " & StringaEstrattiSE(esSE,".")
      If ScriptInterrotto Then Exit For
   Next
End Sub
 
Script n. 13 x superenalotto per analizzare qualsivoglia file txt con le proprie formazioni... di qualunque classe con report finale di c+ c- ca e crt min rispetto colpo massimo rilevato by tom

Codice:
Sub Main
   'tom's bakery script n. 13 x superenalotto x analisi file txt con c+ c- ca e crt min rispetto clpmax rilevato
   ReDim aNumeri(90)
   Dim k
   Dim sfile
   Dim Inizio
   Dim fine
   fine = EstrazioniArchivioSE
   Inizio = 1
   Dim estrazionidaverificare
   Dim Inizioverifica
   estrazionidaverificare = CInt(InputBox("estrazioni da verificare",,100))
   Inizioverifica = fine - estrazionidaverificare
   Dim nmatch
   nmatch = 0
   Dim sorte,entrocolpi,esitoverifica,alcolponumero,estrattisuperena,idesuscita
   sorte = CInt(InputBox("sorte",,3))
   entrocolpi = CInt(InputBox("colpi di ricerca",,estrazionidaverificare - 2))
   Dim colpomassimo
   Dim colpirimanentirispettocolpidiricerca
   Dim colpirimanentirispettocolpomassimo
   Dim colpirimanentiminimirispettocolpomassimo
   Dim colpirimanentiminimirispettocolpidiricerca
   Dim casipositivi
   Dim casinegativi
   Dim casincorso
   Dim casitotali
   Dim percpositiva
   Dim Formazioneconcolpirimanentiminimirispettocolpomassimo
   casipositivi = 0
   casinegativi = 0
   casincorso = 0
   colpirimanentirispettocolpomassimo = EstrazioniArchivioSE
   colpirimanentirispettocolpidiricerca = EstrazioniArchivioSE
   colpirimanentiminimirispettocolpomassimo = EstrazioniArchivioSE
   colpirimanentiminimirispettocolpidiricerca = EstrazioniArchivioSE
   colpomassimo = 0
   sfile = ScegliFile(".\",".txt","pippo.txt")
   Dim arighe
   Call LeggiRigheFileDiTesto(sfile,arighe)
   Dim contarighe
   For contarighe = 0 To UBound(arighe)
      Call SplitByChar(arighe(contarighe),".",aNumeri)
      Dim se
      For se = 1 To 90
         For k = Inizioverifica To fine
            If Fuori90(EstrattoSE(k,1) + EstrattoSE(k,2)) = se Then '30  se la somma del primo e secondo numero fa 30 gioco
               nmatch = nmatch + 1
               Call VerificaEsitoSE(aNumeri,k,sorte,entrocolpi,esitoverifica,alcolponumero,estrattisuperena,idesuscita)
               If esitoverifica <> "" Then
                  Scrivi "ok"
                  Scrivi "riga n. " & contarighe
                  Scrivi esitoverifica
                  Scrivi "estratti i numeri " & estrattisuperena
                  Scrivi "al colpo numero " & alcolponumero
                  Scrivi "su " & entrocolpi & " colpi di ricerca"
                  Scrivi "nell'es n. " & idesuscita
                  Scrivi "estrazioniarchivioSE " & EstrazioniArchivioSE
                  Scrivi "idestrazione " & k
                  Scrivi "estrazioniarchivioSE-idestrazione " & EstrazioniArchivioSE - k
                  If alcolponumero > colpomassimo Then
                     colpomassimo = alcolponumero
                  End If
                  casipositivi = casipositivi + 1
               Else
                  Scrivi
                  Scrivi "esito <font coor=blue>in corso</font> o <font color=red>negativo</font>"
                  Scrivi
                  colpirimanentirispettocolpidiricerca = entrocolpi -(EstrazioniArchivioSE - k)
                  colpirimanentirispettocolpomassimo = colpomassimo -(EstrazioniArchivioSE - k)
                  If colpirimanentirispettocolpidiricerca < 0 Then
                     casinegativi = casinegativi + 1
                     Scrivi "<font color=red>caso negativo :-("
                  Else
                     casincorso = casincorso + 1
                     If colpirimanentirispettocolpomassimo < 0 Then
                        casincorso = casincorso + 1
                        Scrivi "<font color=blue>caso in corso ma non ottimale... :-/"
                        Scrivi "colpi rimanenti rispetto colpi di ricerca " & colpirimanentirispettocolpidiricerca
                        Scrivi "colpi rimanenti rispetto colpo massimo  " & colpirimanentirispettocolpomassimo
                        Scrivi "formazione superena " & StringaNumeri(aNumeri)
                     End If
                     If colpirimanentirispettocolpomassimo > 0 Then
                        casincorso = casincorso + 1
                        Scrivi "<font color=green>caso in corso teoricamente ottimale... :-)"
                        Scrivi "colpi rimanenti rispetto colpi di ricerca " & colpirimanentirispettocolpidiricerca
                        Scrivi "colpi rimanenti rispetto colpo massimo  " & colpirimanentirispettocolpomassimo
                        Scrivi "formazione superena " & StringaNumeri(aNumeri)
                        If colpirimanentirispettocolpomassimo < colpirimanentiminimirispettocolpomassimo Then
                           colpirimanentiminimirispettocolpomassimo = colpirimanentirispettocolpomassimo
                           Scrivi "<font color=green>caso in corso teoricamente ottimale... :-)"
                           Scrivi "colpi rimanenti minimi rispetto colpi di ricerca " & colpirimanentiminimirispettocolpidiricerca
                           Scrivi "colpi rimanenti minimi rispetto colpo massimo  " & colpirimanentiminimirispettocolpomassimo
                           Scrivi "formazione superena " & StringaNumeri(aNumeri)
                           Formazioneconcolpirimanentiminimirispettocolpomassimo = StringaNumeri(aNumeri)
                        End If
                     End If
                  End If
               End If
            End If
            Call Messaggio("se " & se & " ides " & k & " s.r. " & Fuori90(EstrattoSE(k,1) + EstrattoSE(k,2)) & " riga n. " & contarighe & " n. match  " & nmatch & " c+ " & casipositivi & " c- " & casinegativi & " ca " & casincorso & " clpmax " & colpomassimo)
            If ScriptInterrotto Then Exit For
            Call AvanzamentoElab(Inizio,fine,k)
         Next
         If ScriptInterrotto Then Exit For
      Next ' x se
   Next ' x anumeri
   Scrivi
   Scrivi "n. ultime estrazioni analizzate  " & estrazionidaverificare
   Scrivi "sorte di ricerca " & sorte
   Scrivi "colpi di ricerca " & entrocolpi
   Scrivi "colpo massimo " & colpomassimo
   Scrivi "colpi rimamenti minimi rispetto colpo massimo " & colpirimanentiminimirispettocolpomassimo
   Scrivi "formazione con colpi rimanenti minimi rispetto colpo massimo " & Formazioneconcolpirimanentiminimirispettocolpomassimo
   Scrivi "casi positivi " & casipositivi
   Scrivi "casi negativi " & casinegativi
   Scrivi "casi in corso " & casincorso
   Scrivi "casitotali " & casipositivi + casincorso + casinegativi
   Scrivi
   Scrivi "Tt " & TempoTrascorso
   Scrivi
End Sub
Ciao Tom , lo script vuole "pippo" cioè l'archivio del superenalotto o che altro,grazie.
 
Ciao Tom , lo script vuole "pippo" cioè l'archivio del superenalotto o che altro,grazie.

Ciao alien, no pippo ovvero il file txt da caricare e' quello contenente le formazioni volute con i relativi elementi separati da carattere punto. L'archivio superena lo script lo analizza dalle variabili inizio e fine.
 
Ultima modifica:
Script n. 15 x lotto per analizzare qualsiasi tipo di file txt contenente le proprie formazioni desiderate in rapporto a qualsiasi sorte, singola ruota e range temporale voluti by tom

Codice:
Option Explicit
Sub Main
   ' tom's bakery script n. 15 x lotto per analisi file txt per qualsiasi sorte e ruota e range di estrazioni desiderato by tom
   Dim arighe
   Dim sfile
   Dim cr
   Dim anum
   Dim aruota(1)
   Dim sorte
   Dim que
   Dim rit,ritmax,incmax,frq,inizio,fine
   sorte = CInt(InputBox("sorte",,2))
   aruota(1) = ScegliRuota
   fine = EstrazioneFin
   que = CInt(InputBox("quante ultime estrazioni analizzare",,60))
   inizio = fine - que
   sfile = ScegliFile(".\",".txt","pippo.txt")
   Call LeggiRigheFileDiTesto(sfile,arighe)
   For cr = 0 To UBound(arighe)
      Call SplitByChar("."&arighe(cr)&".",".",anum)
      Call StatisticaFormazioneTurbo(anum,aruota,sorte,rit,ritmax,incmax,frq,inizio,fine)
      Scrivi StringaNumeri(anum) & " - r " & SiglaRuota(aruota(1)) & " s " & sorte & " rit " & rit & " ritmax " & ritmax & " incmax " & incmax & " frq " & frq & " inizio " & inizio & " fine " & fine
      'Scrivi arighe(cr)
      'Call Messaggio ("riga letta n. " & cr)
      'Call AvanzamentoElab(0,UBound(arighe),cr)
      If ScriptInterrotto Then Exit For
   Next
   Scrivi
   Scrivi "Utime estrazioni analizzate " & que
   Scrivi "Sorte di ricerca " & sorte
   Scrivi "Ruota di analisi " & SiglaRuota(aruota(1))
   Scrivi "Tt " & TempoTrascorso
End Sub

Abilitando le tre righe commentate di default e quindi inattive lo script rallenta un pò.. e quello che potrebbe fare in pochi secondi lo fa in un minuto o anche +...
 
Ultima modifica:
Ciao alien, no pippo ovvero il file txt da caricare e' quello contenente le formazioni volute con i relativi elementi separati da carattere punto. L'archivio superena lo script lo analizza dalle variabili inizio e fine.
Quindi devo avere una "cartella" archivio" superenalotto con i punti 4.7.78.. ecc?
 
Quindi devo avere una "cartella" archivio" superenalotto con i punti 4.7.78.. ecc?

No Alien :) l'archivio superena lo prende da solo...
Il file txt si riferisce a qualsiasi tuo eventuale file txt che contenga nelle sue poche o molte righe un qualsiasi gruppo di formazioni numeriche intervallate dal carattere punto.
 
Ultima modifica:
Script n. 16 x millionday - analisi iper veloce xE in classe 1 grazie alla speciale classe di sviluppo HSS.ClsHighSpeedStat. Script realizzato inizialmente dal grande scripter magia per il lotto inglese UK 49 e da me riadattato per il più italico millionday :)

Codice:
Option Explicit

'tom's bakery script n. 16 x millionday. Script del mitico scripter magia x il lotto 49uk da me riadattato per millionday

'ATTENZIONE PER USARE HSS.ClsHighSpeedStat
'
Dim clsHSS
'
Sub Main
   Dim Ini,Fin,Tot
   Dim k,sRecord
   Dim IniStart,FinEnd
   Dim bSvilVeloce
   '------------------------------------------------------------------------------------------------------------
   '
   'FUNZIONA CON L'ARHIVIO .TXT
   Dim sFileArchivio 'PER USARE FUNCTION FT
   sFileArchivio = ScegliFile(".\",".txt","archiviomillionday.txt") ' Archivio Million Day " ' GetDirectoryAppData & "Archivio Million Day" 'PER USARE FUNCTION FT
   If MsgBox("Sviluppo veloce ? ",vbQuestion + vbYesNo) = vbYes Then
      bSvilVeloce = True
   End If
   If ApriBaseDatiFT(sFileArchivio,5,",",55) Then 'PER USARE FUNCTION FT
      '
      'FUNZIONA CON L'ARHIVIO .CSV
      '------------------------------------------------------------------------------------------------------------
      'ATTENZIONE PER USARE HSS.ClsHighSpeedStat
      '
      If bSvilVeloce Then
         Set clsHSS = CreateObject("HSS.ClsHighSpeedStat")
         'Call clsHSS.Init(sFileArchivio,09,".")
         Call clsHSS.Init(sFileArchivio,09,",",07)
         MsgBox clsHSS.GetClasseTxt
      End If
      '
      '
      '------------------------------------------------------------------------------------------------------------
      IniStart = Timer
      Ini = 1
      Fin = EstrazioniArchivioFT
      Tot = Fin - Ini + 01
      Scrivi " Statistica dal " & DataEstrazioneFT(Ini) & " al " & DataEstrazioneFT(Fin) & " ",1,0,6
      Scrivi " Totale Estrazioni " & Format2(EstrazioniRicercaFT) & " ",1,- 1,4
      Scrivi
      sRecord = "L'archivio letto va da " & DataEstrazioneFT(Ini) & " a " & DataEstrazioneFT(Fin) '& Format2(vbCrLf)
      sRecord = sRecord & "e si compone di " & Format2(EstrazioniRicercaFT) & " estrazioni " '& Format2(vbCrLf)
      sRecord = sRecord & "di seguito la lista dei Ritardi,Frequenze ed Indici di Convenienza " & Format2(vbCrLf)
      Call Scrivi(sRecord)
      ReDim aTitoli(04)
      aTitoli(01) = " Numero "
      aTitoli(02) = " Ritardo "
      aTitoli(03) = " Frequenza "
      aTitoli(04) = " Indice Convenienza "
      Call InitTabella(aTitoli,1,,,5)
      For k = 01 To 55
         Call Messaggio(k)
         Call AvanzamentoElab(01,55,k)
         ReDim aValori(04)
         aValori(01) = Format2(k)
         If bSvilVeloce Then
            '------------------------------------------------------------------------------------
            'ATTENZIONE PER USARE HSS.ClsHighSpeedStat
            '
            aValori(02) = clsHSS.EstrattoRitardoTxt(k,Ini,Fin) 'PER USARE HSS.ClsHighSpeedStat
            aValori(03) = clsHSS.EstrattoFrequenzaTxt(k,Ini,Fin) 'PER USARE HSS.ClsHighSpeedStat
            Else'
            '------------------------------------------------------------------------------------
            '
            aValori(02) = EstrattoRitardoFT(k,Ini,Fin) 'PER USARE FUNCTION FT
            aValori(03) = EstrattoFrequenzaFT(k,Ini,Fin) 'PER USARE FUNCTION FT
            '
            '------------------------------------------------------------------------------------
         End If
         aValori(04) = Round(((aValori(03) / Tot) * aValori(02)),02)
         Call AddRigaTabella(aValori)
         If k = 01 Or k = 08 Or k = 15 Or k = 22 Or k = 29 Or k = 36 Or k = 43 Then Call(SetColoreCella(01,RGB(255,255,0))):End If
         If k = 02 Or k = 09 Or k = 16 Or k = 23 Or k = 30 Or k = 37 Or k = 44 Then Call(SetColoreCella(01,RGB(255,255,0))):End If
         If k = 03 Or k = 10 Or k = 17 Or k = 24 Or k = 31 Or k = 38 Or k = 45 Then Call(SetColoreCella(01,RGB(255,255,0))):End If
         If k = 04 Or k = 11 Or k = 18 Or k = 25 Or k = 32 Or k = 39 Or k = 46 Then Call(SetColoreCella(01,RGB(255,255,0))):End If
         If k = 05 Or k = 12 Or k = 19 Or k = 26 Or k = 33 Or k = 40 Or k = 47 Then Call(SetColoreCella(01,RGB(255,255,0))):End If
         If k = 06 Or k = 13 Or k = 20 Or k = 27 Or k = 34 Or k = 41 Or k = 48 Then Call(SetColoreCella(01,RGB(255,255,0))):End If
         If k = 07 Or k = 14 Or k = 21 Or k = 28 Or k = 35 Or k = 42 Or k = 49 Then Call(SetColoreCella(01,RGB(255,255,0))):End If
         If k = 50 Or k = 51 Or k = 52 Or k = 53 Or k = 54 Or k = 55 Then Call(SetColoreCella(01,RGB(255,255,0))):End If
      Next
      Call CreaTabella(04)
   End If
   FinEnd = Timer
   Call Scrivi("Tempo di elaborazione : " & FormattaSecondi((FinEnd + 01) - IniStart))
   Set clsHSS = Nothing
End Sub
Function FormattaSecondi(s)
   'Questa Function trasforma il numero di secondi passato come parametro in una stringa
   ' passando i secondi si ottengono ore  minuti e secondi  in formato hh:mm:ss
   ' s ---> Numero di secondi da formattare
   ' ritorna una stringa il cui formato è hh:mm:ss (la function non funziona se in totale abbiamo piu di 99 ore )
   Dim hh
   Dim Mm
   Dim Ss
   Dim TimeStr
   hh = s \ 3600
   Mm =(s Mod 3600) \ 60
   Ss = s -((hh * 3600) +(Mm * 60))
   TimeStr = Format2(hh) & ":" & Format2(Mm) & ":" & Format2(Ss)
   FormattaSecondi = TimeStr
End Function

Per essere utilizzato correttamente l'archivio millionday nel relativo file txt deve avere la seguente struttura... :

1,07/02/2018,16,7,43,44,51

ovvero...

numeroestrazioneprogressivo , dataestrazioneintervallatadabarraspaziatrice , i 5 numeri intervallati ognuno dal carattere virgola.

👋🙂
 
Ultima modifica:
Script n. 17 x lotto - generazione iper fast del tabellone analitico per singola ruota voluta. Originalmente creato da joe e da me ricomposto per l'estrapolazione su singola ruota desiderata.

Codice:
' tom's bakery script n. 17 x lotto - Tabellone Analitico by Joe riadattato da me per la scelta e visualizzazione su singola ruota scelta
Sub Main
   Dim Mx(10)
   '----------------------
   ReDim aRuote(1)
   '   aRuote(1) = 1
   '   aRuote(2) = 2
   '   aRuote(3) = 3
   '   aRuote(4) = 4
   '   aRuote(5) = 5
   '   aRuote(6) = 6
   '   aRuote(7) = 7
   '   aRuote(8) = 8
   '   aRuote(9) = 9
   aRuote(1) = ScegliRuota
   '   aRuote(11) = 11
   '   aRuote(12) = 12
   '
   Scrivi
   Scrivi "Tabellone analitico su singola ruota scelta <font color=red>" & NomeRuota(aRuote(1)) & "</font>"
   Scrivi "con archivio lotto aggiornato all'estrazione " & GetInfoEstrazione(EstrazioneFin)
   Scrivi
   Call GeneraAnaliticoRuote(EstrazioneFin,aRuote)
   Scrivi
   '----------------------
   For Rit = 0 To 230
      Scrivi " Rit " & FormatSpace(rit,4),0,0
      For R = aRuote(1) To aRuote(1)
         For P = 1 To 5
            Tmp = TabelloneAnaliticoRuote(Rit,R,P)
            If Tmp > 0 Then
               Scrivi Format2(tmp) & " ",0,0
            Else
               Scrivi "-- ",0,0
            End If
         Next
         Scrivi " | ",0,0
      Next
      Scrivi
   Next
   '--------------------
 
   Scrivi
   Scrivi "Tt " & TempoTrascorso
   Scrivi
 
End Sub
 
No Alien :) l'archivio superena lo prende da solo...
Il file txt si riferisce a qualsiasi tuo eventuale file txt che contenga nelle sue poche o molte righe un qualsiasi gruppo di formazioni numeriche intervallate dal carattere punto.
In genere non sono uno scocciatore ma dato che mi interessa dopo le varie richieste di input va direttamente sulle pagine del computer e scrive "PIPPO" da solo, come sta che porta le calze sopra le scarpe e pippo non lo sa ?:unsure:🤣
 
In genere non sono uno scocciatore ma dato che mi interessa dopo le varie richieste di input va direttamente sulle pagine del computer e scrive "PIPPO" da solo, come sta che porta le calze sopra le scarpe e pippo non lo sa ?:unsure:🤣

🤣

Tu ti stai riferendo alla finestra di scelta file txt. Ovvero ti chiede semplicemente quale file txt vuoi caricare e analizzare con le formazioni numeriche intervallate dal carattere punto.. del tipo...

file: pippo.txt

1.2.3.4.5.6.7.8.9.10
11.12.1.3.14.15.16.17.18
...
ecc...

😅

Se cambi il nome pippo con qualsiasi altro vedrai che cercherà di default quel nuovo nome 😆 Ad ogni modo indipendentemente dal nome iniziale "pippo, pluto e paperino..." puoi caricare qualsiasi file txt tu ritenga + adatto per le tue analisi superena ;)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 21 dicembre 2024
    Bari
    19
    41
    16
    20
    75
    Cagliari
    46
    61
    09
    35
    37
    Firenze
    74
    33
    69
    80
    30
    Genova
    74
    16
    18
    88
    52
    Milano
    25
    78
    10
    72
    77
    Napoli
    70
    87
    83
    34
    89
    Palermo
    12
    81
    47
    31
    60
    Roma
    45
    42
    89
    08
    40
    Torino
    74
    73
    56
    70
    85
    Venezia
    05
    31
    35
    33
    21
    Nazionale
    39
    19
    83
    06
    68
    Estrazione Simbolotto
    Venezia
    21
    44
    08
    30
    04

Ultimi Messaggi

Indietro
Alto