Novità

Per dirla alla "Austin Powers" sarebbe...

Bravo Di Saronno hai giustamente modificato il codice per la gestione del range analizzato ..EstrazioneIni ed EstrazioneFin non vanno bene se i file non hanno lo stesso numero di estrazioni di quello reale
 
ho notato che la sub che cerca le lunghette casuali si è persa qualcosa per strada .. non so da ce dipenda .. quella postata originariamente da me è questa

Codice:
Sub AnalisiLunghetteFromNumeriCasuali(Inizio,Fine,aRuote,Sorte)
    Dim sFile,aLunghette,nTotLunghette,nClasse
    Dim nTrov,nProdotte
    Dim clsL,collLunghette
    Set collLunghette = GetNewCollection
    nTotLunghette = Int(InputBox("Quante lunghette devono essere trovate ?",,10))
    nClasse = Int(InputBox("Quanti numeri nella lunghetta",,Sorte))
    If nTotLunghette > 0 And nClasse >= Sorte And nClasse <= 10 Then
        nTrov = 0
        nProdotte = 0
        Do While nTrov < nTotLunghette
            Set clsL = New clsLunghetta
            ReDim aNum(nClasse)
            Call GetColonnaCasuale(nClasse,aNum)
            nProdotte = nProdotte + 1
            Call clsL.Init(aNum,"",Inizio,Fine,aRuote,Sorte)
            If clsL.IsCondizioneRispettata Then
                Call clsL.EseguiStatistica
                collLunghette.Add clsL
                nTrov = nTrov + 1
            End If
            If nProdotte Mod 50 = 0 Then
                Call Messaggio("combinazioni esaminate " & nProdotte & " valide " & nTrov)
                Call DoEventsEx
                If ScriptInterrotto Then Exit Do
            End If
        Loop
        Scrivi "Range analisi       : " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(Fine)
        Scrivi "Lunghette esaminate : " & nTotLunghette & " Valide : " & collLunghette.count
        Scrivi "Sorte               : " & NomeSorte(Sorte)
        Scrivi "Ruote               : " & StringaRuote(aRuote)
        Scrivi
        Scrivi "Lunghette ordinate per incremento ritardo max",True,,vbYellow
        Call Scrivi
        If collLunghette.count > 0 Then
            Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
            For Each clsL In collLunghette
                Call Scrivi("Lunghetta : " & clsL.LunghettaString)
                Call Scrivi("Ritardo   : " & clsL.Ritardo)
                Call Scrivi("RitMax    : " & clsL.RitardoMax)
                Call Scrivi("Freq      : " & clsL.Frequenza)
                Call Scrivi("IncrRitMx : " & clsL.IncrRitMax)
                Call clsL.DisegnaGraficoIncrRitMax
            Next
        Else
            Scrivi "Nessuna lunghetta rispetta le condizioni"
            Scrivi "Lunghette esaminate " & nTotLunghette
        End If
    End If
End Sub
 
Ciao a tutti:)
Faccio i complimenti a disaronno unendosi a luigi:)
In realtà ero indeciso ma è uscito il biglietto con la scritta i legend.
Questa sera altro mitico classico.
Quello della forza di volonta:)
Bellissimo:)
Notte a tutti:)
 
GOOD LUCK FRIENDS :D e G R A Z I E di nuovo di cuore a tutti i partecipanti al mega progetto a cominciare ovviamente da Luigib e i legend! ;) :cool:

Ps: Come ciliegina di "platino" credo che mancherebbe solo la possibilità di poter modificare l'opzione "per poter scegliere di elaborare le analisi statistiche con o senza IncmaxAttuale >= IncMaxPassato" tramite finestra di dialogo e non da codice come è adesso...



Gia' credo che questa modifica implementazione chiesta da [TABLE="border: 1, cellpadding: 1, width: 500"]
[TR]
[TD]lotto_tom75[/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]Vada fatta![/TD]
[TD] [/TD]
[/TR]
[TR]
[TD]SAluti:)[/TD]
[TD] [/TD]
[/TR]
[/TABLE]
 
Ciao a tutti ,
è possibile implementare con i codici degli archivi virtuali, anche lo script sul "RITARDO CUMULATO" trattato in una mia discussione?
Ciao , a presto , con mie ultime , aggiornate.
 
Ciao ragazzi bellissimo
qualcuno può inserire passo passo il procedimento per raggiungere il tutto? e come recuperare i file txt vi ringrazio anticipatamente .purtroppo la vecchiaia è una brutta bestia (ci si perde)
 
Ciao e Grazie gentilissimo LuigiB questo non gira mi da erroe mi puoi aiutare grazie


Sub AnalisiLunghetteFromNumeriCasuali(Inizio,Fine,aRuote,Sorte)
Dim sFile,aLunghette,nTotLunghette,nClasse
Dim nTrov,nProdotte
Dim clsL,collLunghette
Set collLunghette = GetNewCollection
nTotLunghette = Int(InputBox("Quante lunghette devono essere trovate ?",,10))
nClasse = Int(InputBox("Quanti numeri nella lunghetta",,Sorte))
If nTotLunghette > 0 And nClasse >= Sorte And nClasse <= 10 Then
nTrov = 0
nProdotte = 0
Do While nTrov < nTotLunghette
Set clsL = New clsLunghetta
ReDim aNum(nClasse)
Call GetColonnaCasuale(nClasse,aNum)
nProdotte = nProdotte + 1
Call clsL.Init(aNum,"",Inizio,Fine,aRuote,Sorte)
If clsL.IsCondizioneRispettata Then
Call clsL.EseguiStatistica
collLunghette.Add clsL
nTrov = nTrov + 1
End If
If nProdotte Mod 50 = 0 Then
Call Messaggio("combinazioni esaminate " & nProdotte & " valide " & nTrov)
Call DoEventsEx
If ScriptInterrotto Then Exit Do
End If
Loop
Scrivi "Range analisi : " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(Fine)
Scrivi "Lunghette esaminate : " & nTotLunghette & " Valide : " & collLunghette.count
Scrivi "Sorte : " & NomeSorte(Sorte)
Scrivi "Ruote : " & StringaRuote(aRuote)
Scrivi
Scrivi "Lunghette ordinate per incremento ritardo max",True,,vbYellow
Call Scrivi
If collLunghette.count > 0 Then
Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
For Each clsL In collLunghette
Call Scrivi("Lunghetta : " & clsL.LunghettaString)
Call Scrivi("Ritardo : " & clsL.Ritardo)
Call Scrivi("RitMax : " & clsL.RitardoMax)
Call Scrivi("Freq : " & clsL.Frequenza)
Call Scrivi("IncrRitMx : " & clsL.IncrRitMax)
Call clsL.DisegnaGraficoIncrRitMax
Next
Else
Scrivi "Nessuna lunghetta rispetta le condizioni"
Scrivi "Lunghette esaminate " & nTotLunghette
End If
End If
End Sub
 
Ciao a tutti;)
Ciao luigi:)
Allora alcune ricerche:)
Vediamo a livello teorico se cade almeno un Ambata per coppia entro 4 colpi:)

BA:44.48
MI:30.71
VE:08.87
Sempre a livello teorico
Studio per ambo a tutte
25.77
62.86
No previsione
Parametri in fase test:)
Ciao e buon week end a tutti :)
 
Ultima modifica:
i legend;n1939419 ha scritto:
Ciao a tutti;)
Ciao luigi:)
Allora alcune ricerche:)
Vediamo a livello teorico se cade almeno un Ambata per coppia entro 4 colpi:)

BA:44.48
MI:30.71
VE:08.87
Sempre a livello teorico
Studio per ambo a tutte
25.77
62.86
No previsione
Parametri in fase test:)
Ciao e buon week end a tutti :)

Complimenti i legend convergo con BA e VE :)

Io nel frattempo... ho cercato di rispondermi... da solo... alla mia richiesta... postata sopra... e supportata anche dall'amico... LOTTOLEON :D e sono abbastanza orgoglioso del risultato... molto spartano... ma sembrerebbe funzionale al massimo... :p :rolleyes: :D . Ho implementato altri 6 casi possibili... e quindi la ciliegina al platino... me lo son posta... sulla mega torta "script" da solo (doppia se non tripla soddisfazione :p :)).

Qui un piccolo screen shot dell'upgrade appena finito di fare (caldo caldo...) ;) Vi gusta...? :rolleyes:


piccola-ulteriore-implementazione.jpg
 
Ottimo bravissimo tom:)
Personalmente preferisco fare come silop ossia metto e tolgo gli Apici direttamente da codice ma così aiuti chi è meno pratico magari
Ciao e buona serata a tutti :)
 
lotto_tom75;n1939480 ha scritto:
Complimenti i legend convergo con BA e VE :)

Io nel frattempo... ho cercato di rispondermi... da solo... alla mia richiesta... postata sopra... e supportata anche dall'amico... LOTTOLEON :D e sono abbastanza orgoglioso del risultato... molto spartano... ma sembrerebbe funzionale al massimo... :p :rolleyes: :D . Ho implementato altri 6 casi possibili... e quindi la ciliegina al platino... me lo son posta... sulla mega torta "script" da solo (doppia se non tripla soddisfazione :p :)).

Qui un piccolo screen shot dell'upgrade appena finito di fare (caldo caldo...) ;) Vi gusta...? :rolleyes:




Ciao grazie lotto_tom75

lo posterai o hai corretto quello precedente

saluti:D
 
Ciao tom bravo complimenti peccato per il -1 .
Perfavore se puoi posta quello con la modifica fatta da disaronno così silop può fare le ricerche sui sistemi virtuali:)
Domanda ma luigi non ha già implementato questa funzione nel plug in?
Ciao a tutti:)
 
i legend;n1939570 ha scritto:
Ciao tom bravo complimenti peccato per il -1 .
Perfavore se puoi posta quello con la modifica fatta da disaronno così silop può fare le ricerche sui sistemi virtuali:)
Domanda ma luigi non ha già implementato questa funzione nel plug in?
Ciao a tutti:)


Lo script è già pronto :p, purtroppo ho implementato quello "normale" non quello che gestisce anche i sistemi virtuali che non avevo nemmeno visto... :o , ma a quale plugin ti stai riferendo? :eek: :D

Ad ogni modo ecco lo script con la ciliegina di platino dopo la ciliegina di zaffiro del grande disaronno! Implementare comunque le mie 6 opzioni di sviluppo in più nella versione di disaronno non dovrebbe essere troppo difficile ;) basta copiare e incollare quello che ho fatto nel suo codice... nei punti giusti... Ora dovrebbe essere solo questione di precisione... e di pazienza... :rolleyes:

Codice:
'--------------------------------------------- G o o d  L u c k -----------------------------------------------------
'Script ideato e implementato da lotto_tom75 e realizzato magistralmente da LuigiB e i legend.
'L'esecuzione di questo script "scopadelico..." =) non 'garantisce in alcun modo alcuna vincita.
'Non è mai superfluo ricordare di giocare sempre con massima moderazione e senso di responsabilità
'e che il gioco è vietato ai minori di anni 18 e può causare grave dipendenza patologica.  
'Lo script consente di analizzare per qualsivoglia combinazione numerica vari aspetti statistici riguardanti
'i parametri ritardo attuale (RA), ritardo storico (RS), incremento massimo di ritardo (INCMAX) passato e attuale,
'permettendo di formulare all'utilizzatore anche delle relative ipotetiche previsioni (mai certe) per quanto riguarda
'eventuali sfaldamenti anche a colpo. Ideale per studio teorico lotto ludico.
'Lo script gira soltanto all'interno del meraviglioso programma realizzato dal grande LuigiB "Spaziometria"
'--------------------------------------------- G o o d  L u c k -----------------------------------------------------



Option Explicit
            Class clsLunghetta
             Private aNumeri ' contiene i numeri della lunghetta
             Private mInizio,mFine,aRuote,mSorte ' parametri per il range analisi
             Private mClasse ' contine la classe della lunghetta
             Private aElencoRit ' conterra l'elenco dei ritardi per la lunghetta
             Private aIdEstrElencoRit ' conterra l'elenco dei ritardi per la lunghetta
             Private aElencoIncrRitMax ' contiene l'elnco degli incrementi del ritardo max
             Private aIdEstrIncrRitMax ' conterra l'elenco degli id estrazione in
             ' cui si è registrato l'incremento del ritmax conosciuto
             Private aRitardiAllIncremento ' contiene il valore del ritardo all'idestrazione in cui
             ' si è verificato l'incremento
             Private mRitardo,mRitardoMax,mIncrRitMax,mFrequenza ' valori statistici
             Private mIncrRitardoMaxSto,mStrIncRitSto
             Public Property Get IncrRitMaxSto
             IncrRitMaxSto = mIncrRitardoMaxSto
             End Property
             Public Property Get strIncRitMaxSto
             strIncRitMaxSto = mStrIncRitSto
             End Property
             Public Property Get Ritardo
             Ritardo = mRitardo
             End Property
             Public Property Get RitardoMax
             RitardoMax = mRitardoMax
             End Property
             Public Property Get IncrRitMax
             IncrRitMax = mIncrRitMax
             End Property
             Public Property Get Frequenza
             Frequenza = mFrequenza
             End Property
             Public Property Get LunghettaString
             LunghettaString = StringaNumeri(aNumeri)
             End Property
             ' inizializza le proprietà dell'oggetto
             Sub Init(sLunghetta,sChrSep,RangeInizio,RangeFine,vetRuote,SorteInGioco)
             ' acquisisco i parametri per l'analisi
             mInizio = RangeInizio
             mFine = RangeFine
             aRuote = vetRuote
             mSorte = SorteInGioco
             ' alimento il vettore con i numeri della lunghetta
             Call AlimentaVettoreLunghetta(sLunghetta,sChrSep)
             ' calcolo l'elenco dei ritardi
             Call ElencoRitardiTurbo(aNumeri,aRuote,mSorte,mInizio,mFine,aElencoRit,aIdEstrElencoRit)
             ' alimento il vettore che contien l'elenco degli incrementi rit max
             Call AlimentaVettoreIncrRitMax
             End Sub
             ' esegue il calcolo dei valori statistici della lunghetta
             Sub EseguiStatistica
             Call StatisticaFormazioneTurbo(aNumeri,aRuote,mSorte,mRitardo,mRitardoMax,mIncrRitMax,mFrequenza,mInizio,mFine)
             End Sub
             Private Sub AlimentaVettoreLunghetta(sLunghetta,sChrSep)
             Dim k
             If IsArray(sLunghetta) Then
             ' se la lunghetta è gia un array lo copio nel vettore locale dei numeri
             ReDim aNumeri(UBound(sLunghetta))
             For k = 1 To UBound(sLunghetta)
             aNumeri(k) = sLunghetta(k)
             Next
             Else
             ' antepongo un carattere separatore per fare in modo che
             ' aNumeri si valorizzi dall'indice 1 (senno si sarebeb valorizzato dall'indice 0)
             Call SplitByChar((sChrSep & sLunghetta),sChrSep,aNumeri)
             End If
             ' valorizzo la classe della lunghetta
             mClasse = UBound(aNumeri)
             End Sub
             Private Sub AlimentaVettoreIncrRitMax
             Dim nRitMax,nIncr,nId,k
             nId = 0
             ' inizializzo il vettore a 0 elementi
             ReDim aElencoIncrRitMax(0)
             ReDim aIdEstrIncrRitMax(0)
             ReDim aRitardiAllIncremento(0)
             ' ciclo sul vettore dei ritardi
             For k = 1 To UBound(aElencoRit)
             ' se il ritardo corrente supera il ritmax attuale..
             If aElencoRit(k) > nRitMax Then
             If nRitMax > 0 Then
             ' se il ritmax attuale è >0 (ivvero ne esiste uno)
             ' calcolo di quanto si è incrementato
             nIncr = aElencoRit(k) - nRitMax
             ' incremento il contatore dei valori trovati
             nId = nId + 1
             ' ridimensiono il vettore mantenendo i valori precedenti ma
             ' aggiungendone uno
             ReDim Preserve aElencoIncrRitMax(nId)
             ' memorizzo il valore
             aElencoIncrRitMax(nId) = nIncr
             ' ridimensiono il vettore mantnendo i valori precedenti ma
             ' aggiungendone uno
             ReDim Preserve aIdEstrIncrRitMax(nId)
             ' memorizzo l'id dell'estrazione dove si è avuto l'incremento
             aIdEstrIncrRitMax(nId) = aIdEstrElencoRit(k)
             ' ridimensiono il vettore mantnendo i valori precedenti ma
             ' aggiungendone uno
             ReDim Preserve aRitardiAllIncremento(nId)
             ' memorizzo il valore del ritardo all'id dell'estrazione dove si è avuto l'incremento
             aRitardiAllIncremento(nId) = aElencoRit(k)
             End If
             nRitMax = aElencoRit(k)
             End If
             Next
             mStrIncRitSto = StringaNumeri(aElencoIncrRitMax,,True)
             End Sub
             Function IsCondizioneRispettata
             ' verifica che l'incremento dell'ultimo ritmax sia uguale al massimo incr rit max conosciuto.
             Dim nUpper
             nUpper = UBound(aElencoIncrRitMax)
             mIncrRitardoMaxSto = MassimoV(aElencoIncrRitMax,1,nUpper - 1)
             If aElencoRit(UBound(aElencoRit)) > 0 And aIdEstrIncrRitMax(nUpper) = mFine Then
             IsCondizioneRispettata =(aElencoIncrRitMax(nUpper) >= mIncrRitardoMaxSto)
             Else
             IsCondizioneRispettata = False
             End If
             End Function
             Sub DisegnaGraficoIncrRitMax
             Dim x,y,k
             Dim nValoreMaxX,nValoreMaxY,nValoreMinX
             Dim nStepX,nStepY
             Dim nUpperVetIncrRit
             nValoreMinX = MinimoV(aIdEstrIncrRitMax,1)
             nValoreMaxX = aIdEstrIncrRitMax(UBound(aIdEstrIncrRitMax))
             nValoreMaxY = MassimoV(aElencoRit,1)
             nStepX =(nValoreMaxX -(mInizio - 1)) \10
             nStepY = nValoreMaxY \10
             Call PreparaGrafico("Formazione " & StringaNumeri(aNumeri),nValoreMinX,nValoreMaxX,0,nValoreMaxY,nStepX,nStepY)
             nUpperVetIncrRit = UBound(aElencoIncrRitMax)
             ' linea dell'incremento rit max
             ReDim aV(nUpperVetIncrRit - 1,2)
             For k = 1 To nUpperVetIncrRit
             x = aIdEstrIncrRitMax(k)
             y = aElencoIncrRitMax(k)
             aV(k - 1,1) = x
             aV(k - 1,2) = y
             Next
             Call DisegnaLineaGrafico(aV,vbRed,"IncrRitMax")
             ' linea dell' rit max
             ReDim aV(nUpperVetIncrRit - 1,2)
             For k = 1 To nUpperVetIncrRit
             x = aIdEstrIncrRitMax(k)
             y = aRitardiAllIncremento(k)
             aV(k - 1,1) = x
             aV(k - 1,2) = y
             Next
             Call DisegnaLineaGrafico(aV,vbBlue,"RitMax")
             ' scrive grafico nell'output
             Call InserisciGrafico
             End Sub
            End Class
            Sub Main
             Dim Inizio,Fine,aRuote,Sorte
             Inizio = EstrazioneIni
             Fine = EstrazioneFin
             Sorte = ScegliEsito
             Call ScegliRuote(aRuote,Nothing)
            
             If(Fine > Inizio) And UBound(aRuote) > 0 And Sorte > 0 Then
            
            Select Case ScegliTipoSviluppo
            
             Case 1
             Call AnalisiLunghetteFromFileTxt1(Inizio,Fine,aRuote,Sorte)' con IncmaxPassato = IncmaxAttuale
             Case 2
             Call AnalisiLunghetteFromFileTxt2(Inizio,Fine,aRuote,Sorte)' con IncmaxPassato <= IncmaxAttuale
             Case 3
             Call AnalisiLunghetteFromFileTxt3(Inizio,Fine,aRuote,Sorte)' con IncmaxPassato >= IncmaxAttuale
             Case 4
             Call AnalisiLunghetteFromNumeriCasuali1(Inizio,Fine,aRuote,Sorte) ' con IncmaxPassato = IncmaxAttuale
             Case 5
             Call AnalisiLunghetteFromNumeriCasuali2(Inizio,Fine,aRuote,Sorte) ' con IncmaxPassato <= IncmaxAttuale
Case 6
             Call AnalisiLunghetteFromNumeriCasuali3(Inizio,Fine,aRuote,Sorte) ' con IncmaxPassato >= IncmaxAttuale
             Case 7
             Call AnalisiLunghetteFromSceglinumeri1(Inizio,Fine,aRuote,Sorte)' con IncmaxPassato = IncmaxAttuale
Case 8
             Call AnalisiLunghetteFromSceglinumeri2(Inizio,Fine,aRuote,Sorte)' con IncmaxPassato <= IncmaxAttuale
             Case 9
             Call AnalisiLunghetteFromSceglinumeri3(Inizio,Fine,aRuote,Sorte)' con IncmaxPassato >= IncmaxAttuale
            
                        
            End Select
            
            
            
'Select Case ScegliTipoVerifica
             'Case 1
             'Call
'IncMaxPassatoUgualeIncMaxAttuale(Inizio,Fine,aRuote,Sorte)
             'Case 2
             'Call
'IncMaxPassatoMinoreUgualeIncMaxAttuale(Inizio,Fine,aRuote,Sorte)
             'Case 3
             'Call
'IncMaxPassatoMaggioreUgualeIncMaxAttuale(Inizio,Fine,aRuote,Sorte)
             'End Select

            
            
            
            
            
             End If
            End Sub
            Function ScegliTipoSviluppo
             ReDim aVoci(9)
             aVoci(1) = "Da file txt con lunghette con IncMaxPassato = IncMaxAttuale"
             aVoci(2) = "Da file txt con lunghette con IncMaxPassato <= IncMaxAttuale"
             aVoci(3) = "Da file txt con lunghette con IncMaxPassato >= IncMaxAttuale"
             aVoci(4) = "Da numeri casuali con IncMaxPassato = IncMaxAttuale"
             aVoci(5) = "Da numeri casuali con IncMaxPassato <= IncMaxAttuale"
             aVoci(6) = "Da numeri casuali con IncMaxPassato >= IncMaxAttuale"
             aVoci(7) = "Da numeri scelti con IncMaxPassato = IncMaxAttuale"
             aVoci(8) = "Da numeri scelti con IncMaxPassato <= IncMaxAttuale"
             aVoci(9) = "Da numeri scelti con IncMaxPassato >= IncMaxAttuale"
             ScegliTipoSviluppo = ScegliOpzioneMenu(aVoci,1)
            End Function
            
            
            
            

            
            
            Function GetChrSepFromRiga(sRiga)
             Dim k,schr
             schr = ""
             For k = 1 To Len(sRiga)
             schr = Mid(sRiga,k,1)
             If IsNumeric(schr) = False Then
             Exit For
             End If
             Next
             GetChrSepFromRiga = schr
            End Function
            
            
            'CASO 1 (su 9 possibili)
            
            Sub AnalisiLunghetteFromFileTxt1(Inizio,Fine,aRuote,Sorte)
             Dim sFile,aLunghette,nTotLunghette
             Dim k,sChrSep
             Dim clsL,collLunghette
             Set collLunghette = GetNewCollection
             sFile = ScegliFile(GetDirectoryAppData,".txt")
             If FileEsistente(sFile) Then
             Call LeggiRigheFileDiTesto(sFile,aLunghette)
             nTotLunghette = UBound(aLunghette)
             If nTotLunghette > 0 Then
             sChrSep = GetChrSepFromRiga(aLunghette(1))
             For k = 0 To nTotLunghette
             Set clsL = New clsLunghetta
             Call clsL.Init(aLunghette(k),sChrSep,Inizio,Fine,aRuote,Sorte)
             If clsL.IsCondizioneRispettata Then
             Call clsL.EseguiStatistica
             collLunghette.Add clsL
             End If
             If k Mod 50 = 0 Then
             Call Messaggio("Righe esaminate : " & k)
             Call AvanzamentoElab(1,nTotLunghette,k)
             If ScriptInterrotto Then Exit For
             End If
             Next
            
            'prova report solo per casi con incmaxsto = incmax
            
            'If (clsL.IncrRitMax = clsL.IncrRitMaxSto) Then
            ' Call Scrivi(" IncrRitMaxSto : " & clsL.IncrRitMaxSto)
            
             Scrivi "Range analisi : " & GetInfoEstrazione(Inizio) & "-" & GetInfoEstrazione(Fine)
             Scrivi "Lunghette da esaminare : " & nTotLunghette + 1
             Scrivi "Sorte : " & NomeSorte(Sorte)
             Scrivi "Ruote : " & StringaRuote(aRuote)
             Scrivi
             Call Scrivi
             If collLunghette.count > 0 Then
             Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
             For Each clsL In collLunghette
            
            If(clsL.IncrRitMax - clsL.IncrRitMaxSto = 0) Then '  con IncmaxPassato = IncmaxAttuale  da file txt
            
            Scrivi "Lunghette Valide : " & collLunghette.count
                    
             Call Scrivi("Lunghetta : " & clsL.LunghettaString)
             Call Scrivi("Ritardo : " & clsL.Ritardo)
             Call Scrivi("RitMax : " & clsL.RitardoMax)
             Call Scrivi("Freq : " & clsL.Frequenza)
             Call Scrivi("IncrRitMx : " & clsL.IncrRitMax)
             Call Scrivi(" IncrRitMaxSto : " & clsL.IncrRitMaxSto)
             Call Scrivi(" s incrementi : " & clsL.strIncRitMaxSto)
             Call clsL.DisegnaGraficoIncrRitMax
            
            End If
            
             Next
             Else
             Scrivi "Nessuna lunghetta rispetta le condizioni"
             Scrivi "Lunghette esaminate " & nTotLunghette + 1
             End If
             End If
             End If
            
            'End If
            'fine prova selezione report solo per i casi voluti...
            
            End Sub
            
            '------------fine CASO 1
            
            
            
            'CASO 2 (su 9 possibili)
            
            Sub AnalisiLunghetteFromFileTxt2(Inizio,Fine,aRuote,Sorte)
             Dim sFile,aLunghette,nTotLunghette
             Dim k,sChrSep
             Dim clsL,collLunghette
             Set collLunghette = GetNewCollection
             sFile = ScegliFile(GetDirectoryAppData,".txt")
             If FileEsistente(sFile) Then
             Call LeggiRigheFileDiTesto(sFile,aLunghette)
             nTotLunghette = UBound(aLunghette)
             If nTotLunghette > 0 Then
             sChrSep = GetChrSepFromRiga(aLunghette(1))
             For k = 0 To nTotLunghette
             Set clsL = New clsLunghetta
             Call clsL.Init(aLunghette(k),sChrSep,Inizio,Fine,aRuote,Sorte)
             If clsL.IsCondizioneRispettata Then
             Call clsL.EseguiStatistica
             collLunghette.Add clsL
             End If
             If k Mod 50 = 0 Then
             Call Messaggio("Righe esaminate : " & k)
             Call AvanzamentoElab(1,nTotLunghette,k)
             If ScriptInterrotto Then Exit For
             End If
             Next
            
            'prova report solo per casi con incmaxsto = incmax
            
            'If (clsL.IncrRitMax = clsL.IncrRitMaxSto) Then
            ' Call Scrivi(" IncrRitMaxSto : " & clsL.IncrRitMaxSto)
            
             Scrivi "Range analisi : " & GetInfoEstrazione(Inizio) & "-" & GetInfoEstrazione(Fine)
             Scrivi "Lunghette da esaminare : " & nTotLunghette + 1
             Scrivi "Sorte : " & NomeSorte(Sorte)
             Scrivi "Ruote : " & StringaRuote(aRuote)
             Scrivi
             Call Scrivi
             If collLunghette.count > 0 Then
             Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
             For Each clsL In collLunghette
            
            If(clsL.IncrRitMax - clsL.IncrRitMaxSto >= 0) Then '  con IncmaxPassato <= IncmaxAttuale  da file txt
            
            Scrivi "Lunghette Valide : " & collLunghette.count
                    
             Call Scrivi("Lunghetta : " & clsL.LunghettaString)
             Call Scrivi("Ritardo : " & clsL.Ritardo)
             Call Scrivi("RitMax : " & clsL.RitardoMax)
             Call Scrivi("Freq : " & clsL.Frequenza)
             Call Scrivi("IncrRitMx : " & clsL.IncrRitMax)
             Call Scrivi(" IncrRitMaxSto : " & clsL.IncrRitMaxSto)
             Call Scrivi(" s incrementi : " & clsL.strIncRitMaxSto)
             Call clsL.DisegnaGraficoIncrRitMax
            
            End If
            
             Next
             Else
             Scrivi "Nessuna lunghetta rispetta le condizioni"
             Scrivi "Lunghette esaminate " & nTotLunghette + 1
             End If
             End If
             End If
            
            'End If
            'fine prova selezione report solo per i casi voluti...
            
            End Sub
            
            '------------fine CASO 2
            
            
            'CASO 3 (su 9 possibili)
            
            Sub AnalisiLunghetteFromFileTxt3(Inizio,Fine,aRuote,Sorte)
             Dim sFile,aLunghette,nTotLunghette
             Dim k,sChrSep
             Dim clsL,collLunghette
             Set collLunghette = GetNewCollection
             sFile = ScegliFile(GetDirectoryAppData,".txt")
             If FileEsistente(sFile) Then
             Call LeggiRigheFileDiTesto(sFile,aLunghette)
             nTotLunghette = UBound(aLunghette)
             If nTotLunghette > 0 Then
             sChrSep = GetChrSepFromRiga(aLunghette(1))
             For k = 0 To nTotLunghette
             Set clsL = New clsLunghetta
             Call clsL.Init(aLunghette(k),sChrSep,Inizio,Fine,aRuote,Sorte)
             If clsL.IsCondizioneRispettata Then
             Call clsL.EseguiStatistica
             collLunghette.Add clsL
             End If
             If k Mod 50 = 0 Then
             Call Messaggio("Righe esaminate : " & k)
             Call AvanzamentoElab(1,nTotLunghette,k)
             If ScriptInterrotto Then Exit For
             End If
             Next
            
            'prova report solo per casi con incmaxsto = incmax
            
            'If (clsL.IncrRitMax = clsL.IncrRitMaxSto) Then
            ' Call Scrivi(" IncrRitMaxSto : " & clsL.IncrRitMaxSto)
            
             Scrivi "Range analisi : " & GetInfoEstrazione(Inizio) & "-" & GetInfoEstrazione(Fine)
             Scrivi "Lunghette da esaminare : " & nTotLunghette + 1
             Scrivi "Sorte : " & NomeSorte(Sorte)
             Scrivi "Ruote : " & StringaRuote(aRuote)
             Scrivi
             Call Scrivi
             If collLunghette.count > 0 Then
             Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
             For Each clsL In collLunghette
            
            If(clsL.IncrRitMax - clsL.IncrRitMaxSto <= 0) Then '  con IncmaxPassato >= IncmaxAttuale  da file txt
            
            Scrivi "Lunghette Valide : " & collLunghette.count
                    
             Call Scrivi("Lunghetta : " & clsL.LunghettaString)
             Call Scrivi("Ritardo : " & clsL.Ritardo)
             Call Scrivi("RitMax : " & clsL.RitardoMax)
             Call Scrivi("Freq : " & clsL.Frequenza)
             Call Scrivi("IncrRitMx : " & clsL.IncrRitMax)
             Call Scrivi(" IncrRitMaxSto : " & clsL.IncrRitMaxSto)
             Call Scrivi(" s incrementi : " & clsL.strIncRitMaxSto)
             Call clsL.DisegnaGraficoIncrRitMax
            
            End If
            
             Next
             Else
             Scrivi "Nessuna lunghetta rispetta le condizioni"
             Scrivi "Lunghette esaminate " & nTotLunghette + 1
             End If
             End If
             End If
            
            'End If
            'fine prova selezione report solo per i casi voluti...
            
            End Sub
            
            '------------fine CASO 3
            
            'CASO 4 (su 9 possibili)
            
            Sub AnalisiLunghetteFromNumeriCasuali1(Inizio,Fine,aRuote,Sorte)
             Dim sFile,aLunghette,nTotLunghette,nClasse
             Dim nTrov,nProdotte
             Dim clsL,collLunghette
             Set collLunghette = GetNewCollection
             nTotLunghette = Int(InputBox("Quante lunghette devono essere trovate ?",,10))
             nClasse = Int(InputBox("Quanti numeri nella lunghetta",,Sorte))
             If nTotLunghette > 0 And nClasse >= Sorte And nClasse Then
             Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
             For Each clsL In collLunghette
            
            
            If(clsL.IncrRitMax - clsL.IncrRitMaxSto = 0) Then ' con IncmaxPassato = IncmaxAttuale  da numeri casuali
            
            Scrivi "Lunghette Valide : " & collLunghette.count
            
             Call Scrivi("Lunghetta : " & clsL.LunghettaString)
             Call Scrivi("Ritardo : " & clsL.Ritardo)
             Call Scrivi("RitMax : " & clsL.RitardoMax)
             Call Scrivi("Freq : " & clsL.Frequenza)
             Call Scrivi("IncrRitMx : " & clsL.IncrRitMax)
             Call Scrivi(" IncrRitMaxSto : " & clsL.IncrRitMaxSto)
             Call Scrivi(" s incrementi : " & clsL.strIncRitMaxSto)
             Call clsL.DisegnaGraficoIncrRitMax
            
            
            End If
            
             Next
             Else
             Scrivi "Nessuna lunghetta rispetta le condizioni"
             Scrivi "Lunghette esaminate " & nTotLunghette
             End If
             'End If
            End Sub
            
            '------------fine CASO 4




'CASO 5 (su 9 possibili)
            
            Sub AnalisiLunghetteFromNumeriCasuali2(Inizio,Fine,aRuote,Sorte)
             Dim sFile,aLunghette,nTotLunghette,nClasse
             Dim nTrov,nProdotte
             Dim clsL,collLunghette
             Set collLunghette = GetNewCollection
             nTotLunghette = Int(InputBox("Quante lunghette devono essere trovate ?",,10))
             nClasse = Int(InputBox("Quanti numeri nella lunghetta",,Sorte))
             If nTotLunghette > 0 And nClasse >= Sorte And nClasse Then
             Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
             For Each clsL In collLunghette
            
            
            If(clsL.IncrRitMax - clsL.IncrRitMaxSto >= 0) Then ' con IncmaxPassato <= IncmaxAttuale  da numeri casuali
            
            Scrivi "Lunghette Valide : " & collLunghette.count
            
             Call Scrivi("Lunghetta : " & clsL.LunghettaString)
             Call Scrivi("Ritardo : " & clsL.Ritardo)
             Call Scrivi("RitMax : " & clsL.RitardoMax)
             Call Scrivi("Freq : " & clsL.Frequenza)
             Call Scrivi("IncrRitMx : " & clsL.IncrRitMax)
             Call Scrivi(" IncrRitMaxSto : " & clsL.IncrRitMaxSto)
             Call Scrivi(" s incrementi : " & clsL.strIncRitMaxSto)
             Call clsL.DisegnaGraficoIncrRitMax
            
            
            End If
            
             Next
             Else
             Scrivi "Nessuna lunghetta rispetta le condizioni"
             Scrivi "Lunghette esaminate " & nTotLunghette
             End If
             'End If
            End Sub
            
            '------------fine CASO 5



'CASO 6 (su 9 possibili)
            
            Sub AnalisiLunghetteFromNumeriCasuali3(Inizio,Fine,aRuote,Sorte)
             Dim sFile,aLunghette,nTotLunghette,nClasse
             Dim nTrov,nProdotte
             Dim clsL,collLunghette
             Set collLunghette = GetNewCollection
             nTotLunghette = Int(InputBox("Quante lunghette devono essere trovate ?",,10))
             nClasse = Int(InputBox("Quanti numeri nella lunghetta",,Sorte))
             If nTotLunghette > 0 And nClasse >= Sorte And nClasse Then
             Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
             For Each clsL In collLunghette
            
            
            If(clsL.IncrRitMax - clsL.IncrRitMaxSto <= 0) Then ' con IncmaxPassato >= IncmaxAttuale  da numeri casuali
            
            Scrivi "Lunghette Valide : " & collLunghette.count
            
             Call Scrivi("Lunghetta : " & clsL.LunghettaString)
             Call Scrivi("Ritardo : " & clsL.Ritardo)
             Call Scrivi("RitMax : " & clsL.RitardoMax)
             Call Scrivi("Freq : " & clsL.Frequenza)
             Call Scrivi("IncrRitMx : " & clsL.IncrRitMax)
             Call Scrivi(" IncrRitMaxSto : " & clsL.IncrRitMaxSto)
             Call Scrivi(" s incrementi : " & clsL.strIncRitMaxSto)
             Call clsL.DisegnaGraficoIncrRitMax
            
            
            End If
            
             Next
             Else
             Scrivi "Nessuna lunghetta rispetta le condizioni"
             Scrivi "Lunghette esaminate " & nTotLunghette
             End If
             'End If
            End Sub
            
            '------------fine CASO 6



'CASO 7 (su 9 possibili)


Sub AnalisiLunghetteFromSceglinumeri1(Inizio,Fine,aRuote,Sorte)
Dim nTotLunghette
Dim k,sChrSep,nClasse
ReDim aLunghette(0)
Dim clsL,collLunghette
Set collLunghette = GetNewCollection
sChrSep = " "
ScegliNumeri(aLunghette)
nClasse = CInt(InputBox(" classe sviluppo ",,2))
nTotLunghette = InitSviluppoIntegrale(aLunghette,nClasse)
k = 0
Do While GetCombSviluppo(aLunghette)
k = k + 1
Set clsL = New clsLunghetta
Call clsL.Init(aLunghette,sChrSep,Inizio,Fine,aRuote,Sorte)
If clsL.IsCondizioneRispettata Then
Call clsL.EseguiStatistica
collLunghette.Add clsL
End If
If k Mod 50 = 0 Then
Call Messaggio("Righe esaminate " & k)
DoEventsEx
Call AvanzamentoElab(1,nTotLunghette,k)
If ScriptInterrotto Then Exit Do
End If
Loop

Scrivi "Range analisi       : " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(Fine)
Scrivi "Lunghette da esaminare : " & nTotLunghette
Scrivi "Sorte               : " & NomeSorte(Sorte)
Scrivi "Ruote               : " & StringaRuote(aRuote)
Scrivi
Scrivi "Lunghette ordinate per incremento ritardo max",True,,vbYellow
Call Scrivi

If collLunghette.count > 0 Then

Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
For Each clsL In collLunghette

If(clsL.IncrRitMax - clsL.IncrRitMaxSto = 0) Then 'con IncmaxPassato = IncmaxAttuale  da scegli numeri



'Scrivi "Lunghette Valide : " & collLunghette.count
Call Messaggio("Righe valide trovate " & collLunghette.count - 1)

Call Scrivi("Lunghetta : " & clsL.LunghettaString)
Call Scrivi("Ritardo   : " & clsL.Ritardo)
Call Scrivi("RitMax    : " & clsL.RitardoMax)
Call Scrivi("Freq      : " & clsL.Frequenza)
Call Scrivi("IncrRitMx : " & clsL.IncrRitMax)
Call Scrivi(" IncrRitMaxSto : " & clsL.IncrRitMaxSto)
Call Scrivi(" s incrementi : " & clsL.strIncRitMaxSto)
Call clsL.DisegnaGraficoIncrRitMax

End If

Next
Else
Scrivi "Nessuna lunghetta rispetta le condizioni"
Scrivi "Lunghette esaminate " & nTotLunghette
End If
'End If
'End If
End Sub

'------------fine CASO 7



'CASO 8 (su 9 possibili)


Sub AnalisiLunghetteFromSceglinumeri2(Inizio,Fine,aRuote,Sorte)
Dim nTotLunghette
Dim k,sChrSep,nClasse
ReDim aLunghette(0)
Dim clsL,collLunghette
Set collLunghette = GetNewCollection
sChrSep = " "
ScegliNumeri(aLunghette)
nClasse = CInt(InputBox(" classe sviluppo ",,2))
nTotLunghette = InitSviluppoIntegrale(aLunghette,nClasse)
k = 0
Do While GetCombSviluppo(aLunghette)
k = k + 1
Set clsL = New clsLunghetta
Call clsL.Init(aLunghette,sChrSep,Inizio,Fine,aRuote,Sorte)
If clsL.IsCondizioneRispettata Then
Call clsL.EseguiStatistica
collLunghette.Add clsL
End If
If k Mod 50 = 0 Then
Call Messaggio("Righe esaminate " & k)
DoEventsEx
Call AvanzamentoElab(1,nTotLunghette,k)
If ScriptInterrotto Then Exit Do
End If
Loop

Scrivi "Range analisi       : " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(Fine)
Scrivi "Lunghette da esaminare : " & nTotLunghette
Scrivi "Sorte               : " & NomeSorte(Sorte)
Scrivi "Ruote               : " & StringaRuote(aRuote)
Scrivi
Scrivi "Lunghette ordinate per incremento ritardo max",True,,vbYellow
Call Scrivi

If collLunghette.count > 0 Then

Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
For Each clsL In collLunghette

If(clsL.IncrRitMax - clsL.IncrRitMaxSto >= 0) Then 'con IncmaxPassato <= IncmaxAttuale  da scegli numeri



'Scrivi "Lunghette Valide : " & collLunghette.count
Call Messaggio("Righe valide trovate " & collLunghette.count - 1)

Call Scrivi("Lunghetta : " & clsL.LunghettaString)
Call Scrivi("Ritardo   : " & clsL.Ritardo)
Call Scrivi("RitMax    : " & clsL.RitardoMax)
Call Scrivi("Freq      : " & clsL.Frequenza)
Call Scrivi("IncrRitMx : " & clsL.IncrRitMax)
Call Scrivi(" IncrRitMaxSto : " & clsL.IncrRitMaxSto)
Call Scrivi(" s incrementi : " & clsL.strIncRitMaxSto)
Call clsL.DisegnaGraficoIncrRitMax

End If

Next
Else
Scrivi "Nessuna lunghetta rispetta le condizioni"
Scrivi "Lunghette esaminate " & nTotLunghette
End If
'End If
'End If
End Sub

'------------fine CASO 8




'CASO 9 (su 9 possibili)


Sub AnalisiLunghetteFromSceglinumeri3(Inizio,Fine,aRuote,Sorte)
Dim nTotLunghette
Dim k,sChrSep,nClasse
ReDim aLunghette(0)
Dim clsL,collLunghette
Set collLunghette = GetNewCollection
sChrSep = " "
ScegliNumeri(aLunghette)
nClasse = CInt(InputBox(" classe sviluppo ",,2))
nTotLunghette = InitSviluppoIntegrale(aLunghette,nClasse)
k = 0
Do While GetCombSviluppo(aLunghette)
k = k + 1
Set clsL = New clsLunghetta
Call clsL.Init(aLunghette,sChrSep,Inizio,Fine,aRuote,Sorte)
If clsL.IsCondizioneRispettata Then
Call clsL.EseguiStatistica
collLunghette.Add clsL
End If
If k Mod 50 = 0 Then
Call Messaggio("Righe esaminate " & k)
DoEventsEx
Call AvanzamentoElab(1,nTotLunghette,k)
If ScriptInterrotto Then Exit Do
End If
Loop

Scrivi "Range analisi       : " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(Fine)
Scrivi "Lunghette da esaminare : " & nTotLunghette
Scrivi "Sorte               : " & NomeSorte(Sorte)
Scrivi "Ruote               : " & StringaRuote(aRuote)
Scrivi
Scrivi "Lunghette ordinate per incremento ritardo max",True,,vbYellow
Call Scrivi

If collLunghette.count > 0 Then

Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
For Each clsL In collLunghette

If(clsL.IncrRitMax - clsL.IncrRitMaxSto = 0) Then 'con IncmaxPassato >= IncmaxAttuale  da scegli numeri



'Scrivi "Lunghette Valide : " & collLunghette.count
Call Messaggio("Righe valide trovate " & collLunghette.count - 1)

Call Scrivi("Lunghetta : " & clsL.LunghettaString)
Call Scrivi("Ritardo   : " & clsL.Ritardo)
Call Scrivi("RitMax    : " & clsL.RitardoMax)
Call Scrivi("Freq      : " & clsL.Frequenza)
Call Scrivi("IncrRitMx : " & clsL.IncrRitMax)
Call Scrivi(" IncrRitMaxSto : " & clsL.IncrRitMaxSto)
Call Scrivi(" s incrementi : " & clsL.strIncRitMaxSto)
Call clsL.DisegnaGraficoIncrRitMax

End If

Next
Else
Scrivi "Nessuna lunghetta rispetta le condizioni"
Scrivi "Lunghette esaminate " & nTotLunghette
End If
'End If
'End If
End Sub

'------------fine CASO 9


X i legend o LuigiB


Lunghetta : 19.44
Ritardo : 51
RitMax : 51
Freq : 609
IncrRitMx : 13
IncrRitMaxSto : 13
s incrementi : 03.01.13.02.02.02.02.13 <--- questi valori come si fanno a gestire??? :eek: :)

Ovvero sarebbe interessante implementare ulteriormente lo script dando la possibilità di scegliere e visualizzare solo le formazioni con TOT singoli incrementi... (s incrementi) ma non riesco a trovare le variabili relative da mettere in un opportuno if... :rolleyes:THANKS! :)

Ora per natale.. abbiamo fatto questo... script scopadelico x il LOTTO... :D . Per la befana ci state a realizzare la versione per SUPERENALOTTO? :p :D . Credo basti... cambiare l'archivio e aggiungere un estratto... nella verifica..., ma forse, quasi sicuramente..., sto minimizzando eccessivamente la relativa difficoltà di realizzazione... :cool:

'notte a tutti/e
 
Ultima modifica:
Tom credo che anziché scrivere 9 sub sarebbe bastato passare un parametro All interno della funzione isCondizioneRispettata e fare un select case
Ma non ne sono sicuro , non ci ho provato.
Forse sto dicendo una fesseria:)
X silop ricopia lo script di disaronno e fammi sapere per favore:)
X luigi
Domanda
Se decido di utilizzare una classe per le property
Ho un dubbio.
È più corretto
Fare
Codice:
Private mValore 
Public property get  Valore
Valore=mvalore 
End property
Mvalore=funzione X
Function funzione X
Codice
End function
Oppure
Codice:
Public property get Valore
Valore= funzioneX
End property 
Function funzioneX
Codice 
End function
Da un punto di vista sintattico e di ottimizzazione quale dei due è più corretto
Sempre che almeno uno dei due sia corretto
Se hai voglia e tempo ti va di bissare ancora la costruzione di una routine con l utilizzo delle classi?
Anche se non fossi io a partecipare direttamente potrebbe essere utile per tutti :)
Oppure se suggerisci qualcosa im modo da poterci esercitare per padroneggiare con dimestichezza e disinvoltura questo Step
Ps
Scherzo, sulla disinvoltura , ma sulla esercizio purtroppo no:)
Ciao e grazie mille:)
Ovviamente quando hai voglia e tempo :)
Ciaoooo; )
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 23 novembre 2024
    Bari
    33
    80
    86
    52
    25
    Cagliari
    67
    57
    59
    05
    80
    Firenze
    31
    32
    58
    88
    77
    Genova
    40
    39
    23
    36
    81
    Milano
    28
    58
    45
    25
    38
    Napoli
    20
    82
    23
    44
    57
    Palermo
    76
    56
    88
    62
    31
    Roma
    12
    81
    59
    74
    72
    Torino
    46
    53
    72
    45
    23
    Venezia
    04
    12
    42
    64
    20
    Nazionale
    63
    44
    78
    10
    55
    Estrazione Simbolotto
    Torino
    43
    42
    12
    39
    22
Indietro
Alto