Novità

Per dirla alla "Austin Powers" sarebbe...

silop2005

Advanced Member >PLATINUM<
LOGOSILOP.gif
Ciao i legend ,
ho avviato il tuo ultimo script quello delle ore 22:39 del 06/12/2015
con SPMT vers. 1.5.66 e plug in SVP vers. 1.0.50
=========================
lo script VA BENE non ci sono più quei numeri 27 e 28
poi ho capito anche che significa "valide 2"
sono le quantità trovate dallo script per TUTTE quelle combinazioni
che rispecchiano le TRE CONDIZIONI e anche questo VA BENE.
Poi bisogna aggiungere il +1 nell'output delle lunghette esaminate
io già l'ho fatto :
Scrivi "Lunghette esaminate : " & nTotLunghette + 1
=========================
stickman.gif
Quindi alla fine bisogna fare una sola modifica quella di togliere
la dicitura Numeri Reali (che io non ho mai chiesto)
e mettere la dicitura Numeri In Gioco con i relativi numeri convertiti.
=========================
Ti metto un piccolo esempio dell'elaborazione delle 4005 coppie per la sorte di estratto
sulla ruota di NAPOLI a partire dalla 3950 ad oggi
sul sistema D(13), prima con il tuo ultimo script di ieri sera:.
Questo è il tuo dove compaiono ancora i numeri reali :
===================================
Archivio : SVP D(13) ConFissi [3950]_P1
Range analisi : [00001] [ 37] 14.09.1946 - [05142] [146] 05.12.2015
Filtro Esaminato : aElencoIncrRitMax(nUpper) >= mIncrRitardoMaxSto
Lunghette esaminate : 4005 Valide : 2
Sorte : Estratto
Ruote : NA
Numero Minimo IncrRit : 00
Lunghette ordinate per incremento ritardo max
Numeri Formazione : .21.55 NumeriReali : 74.18
Ritardo : 62
RitMax : 62
Freq : 598
IncrRitMx : 16
IncrRitMaxSto : 14
strIncrementi : 14.10.16
Numero Incrementi : 3
===========================================
Numeri Formazione : .17.21 NumeriReali : 70.74
Ritardo : 56
RitMax : 56
Freq : 603
IncrRitMx : 12
IncrRitMaxSto : 12
strIncrementi : 02.08.12.01.01.03.07.12
Numero Incrementi : 8
=========================
stickman.gif
Questo è l'ultimo di LuigiB e Disaronno
con la mia aggiunta dei NUMERI IN GIOCO (in rosso) :
============================================
Archivio : SVP D(13) ConFissi [3950]_P1
Range analisi : [00001] [ 37] 14.09.1946-[05142] [146] 05.12.2015
Lunghette esaminate : 4005 Valide : 2
Sorte : Estratto
Ruote : NA
LunghettaV : .21.55_____NumInGioco : 87.31
Ritardo : 62
RitMax : 62
Freq : 598
IncrRitMx : 16
IncrRitMaxSto : 14
s incrementi : 14.10.16
LunghettaV : .17.21_____NumInGioco : 83.87
Ritardo : 56
RitMax : 56
Freq : 603
IncrRitMx : 12
IncrRitMaxSto : 12
s incrementi : 02.08.12.01.01.03.07.12
=========================
stickman.gif
Per quanto riguarda il sistema D(90) non bisogna fare niente
perché sono gli stessi numeri da mettere in gioco e che vengono analizzati dallo script.
=========================
stickman.gif
Per LuigiB volevo ricordare, quando a tempo, se può andare a leggere
il post #428 del 05/12/2015 che trovasi in questo thread sotto elencato :
http://forum.lottoced.com/forum/lottoced/area-download/1908977-svp-sistemi-virtuali-paralleli-x-ambata-semplice/page29
che ringrazio anticipatamente.
(forse lo hai già letto e fatte pure le aggiustature)
========================
stickman.gif
Buon pomeriggio a tutti.
A presto
Silop ;) ;) ;)
 

i legend

Premium Member
Ciao Silop Si;)
Perfavore verifica lo script e se ha delle criticità nel calcolo dei virtuali
e un altra cosa
"Poi ti avevo chiesto di mettere visto che già lo faceva lo script di LuigiB :
combinazioni presenti (59)_____combinazioni valide (4)"
Codice:
Archivio : Archivio lotto[/COLOR][/SIZE][/FONT] [FONT=Courier New][SIZE=2][COLOR=#000000]Range analisi : [00001] [ 1 ] 07.01.1871 - [09091] [146] 05.12.2015[/COLOR][/SIZE][/FONT]
[FONT=Courier New][SIZE=2][COLOR=#000000]Filtro Esaminato : aElencoIncrRitMax(nUpper)>= mIncrRitardoMaxSto[/COLOR][/SIZE][/FONT]
[U][FONT=Courier New][SIZE=2][COLOR=#000000]Lunghette esaminate : 4005 Valide : 6[/COLOR][/SIZE][/FONT][/U]
[FONT=Courier New][SIZE=2][COLOR=#000000]Sorte : Estratto[/COLOR][/SIZE][/FONT]
[FONT=Courier New][SIZE=2][COLOR=#000000]Ruote : MI[/COLOR][/SIZE][/FONT]
[FONT=Courier New][SIZE=2][COLOR=#000000]Numero Minimo IncrRit : 05
Credo siano la stessa voce
a dopo :)
 

i legend

Premium Member
Corretto nTotLunghette
Sul FileTxt
gli altri dovrebbero andare bene
sul casuale la voce nProdotte va bene perche se si exit prima tiene il conto reale e non quello iniziale richiesto
gli altri mi sembrano corretti ma bisogna controllare:)

Codice:
Option Explicit
' Script Da Verificare
' Eliminate i filtri di nClasse x sistemi casuali .Il P.C con un elevato numero di combinazioni
' potrebbe impallarsi, anzi lo farà sicuramente
' Inserita funzione per trasformare i numeri virtuali( forse e solo Parziale e non generale)
' Un Grande grazie a Tom Richiedente lo script
' Un Grande grazie a silop che ha ampliato la ricerca con le sue conoscenze
' Un Grandissimo grazie a Luigi per i suoi INSEGNAMENTI
' Un grande saluto da I Legend [ aiutante:)]

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
    'Private mDist,mbPrimaEstrFissa
    Public Property Get iNumIncrementi
        iNumIncrementi = UBound(aElencoIncrRitMax)
    End Property
    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(nIdFiltro,nQIncr)
        ' 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 And nUpper >= nQIncr Then
            Select Case nIdFiltro
            Case 0
                IsCondizioneRispettata =(aElencoIncrRitMax(nUpper) = mIncrRitardoMaxSto)
            Case 1
                IsCondizioneRispettata =(aElencoIncrRitMax(nUpper) >= mIncrRitardoMaxSto)
            Case 2
                IsCondizioneRispettata =(aElencoIncrRitMax(nUpper) <= mIncrRitardoMaxSto)
            End Select
        Else
            IsCondizioneRispettata = False
        End If
    End Function
    'Scrivo la funzione Importo i Parametri ma non li dichiaro private sono solo nella funzione
    
    Function TrasformaArrayNumVirToNumReal(iDist,bPrimaEstrFiss)
    ' bPrimaEstrFiss dovrebbe influenzare il conteggio di nTotEstr
    ' if bPrimaFissa=true then
    'nTotEstr =((mFine - mInizio) + 1)Mod 90
    'else
    'nTotEstr =((mFine - mInizio) )Mod 90
    'end if
    

        Dim k,nTotEstr,ValVirt
        Dim sNumreal
        sNumreal = ""
        nTotEstr =((mFine - mInizio) + 1)Mod 90
        ValVirt = Fuori90(nTotEstr *iDist)
        For k = 1 To UBound(aNumeri)
            sNumreal = sNumreal & Format2(Fuori90(aNumeri(k) + ValVirt)) & "."
        Next
        sNumreal = RimuoviLastChr(sNumreal,".")
        TrasformaArrayNumVirToNumReal = sNumreal
    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("Formaziione " & 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 sDir,Inizio,Fine,sFile,sFileCompleto,aRuote,Sorte
    Dim bOk,idFiltro,qIncr
    Dim bPrimaEstrFissa,nDistanza
    sDir = GetDirectoryAppData & "ArchiviVirtuali\"
    sFile = ScegliFileArchivioVirt(sDir)
    'preimposto a False x valutare qualsiasi sFile<>""
    bPrimaEstrFissa = False
    If sFile <> "" Then
        sFileCompleto = sDir & sFile & ".dat"
        bOk = ApriFileBaseDati(sFileCompleto)
        bPrimaEstrFissa = True
        nDistanza = GetValoreFraSeparatori(sFile,"(",")")
    Else
        bOk = True ' archivio normale
        nDistanza = 0 ' archivio Reale
    End If
    If bOk Then
        If ScegliRange(Inizio,Fine) Then
            Sorte = ScegliEsito
            Call ScegliRuote(aRuote,Nothing)
            ' decido il filtro in base al valore degli incrementi
            idFiltro = GetIdFiltro
            ' decido di filtrare in base al numero degli incrementi
            qIncr = GetQuantiIncrementi
            If(Fine > Inizio) And UBound(aRuote) > 0 And Sorte > 0 And idFiltro > - 1 Then
                Call Scrivi("Archivio : " & Iif(sFile <> "",sFile,"Archivio lotto"))
                Select Case ScegliTipoSviluppo
                Case 1
                    Call AnalisiLunghetteFromFileTxt(Inizio,Fine,aRuote,Sorte,idFiltro,qIncr,bPrimaEstrFissa,nDistanza)
                    Case 2
                    Call AnalisiLunghetteFromFileCol(Inizio,Fine,aRuote,Sorte,idFiltro,qIncr,bPrimaEstrFissa,nDistanza)

                Case 3
                    Call AnalisiLunghetteFromNumeriCasuali(Inizio,Fine,aRuote,Sorte,idFiltro,qIncr,bPrimaEstrFissa,nDistanza)
                Case 4
                    Call AnalisiLunghetteFromSceglinumeri(Inizio,Fine,aRuote,Sorte,idFiltro,qIncr,bPrimaEstrFissa,nDistanza)
                    
                End Select
            End If
        End If
    End If
End Sub
Function ScegliFileArchivioVirt(sDir)
    Dim i
    ReDim aFile(0)
    Call ElencoFileInDirectory(sDir,aFile,".dat")
    aFile(0) = "Archivio reale"
    i = ScegliOpzioneMenu(aFile,0,"Scegli archivio virtuale")
    If i > 0 Then
        ScegliFileArchivioVirt = aFile(i)
    Else
        ScegliFileArchivioVirt = ""
    End If
End Function
Function ScegliTipoSviluppo
    ReDim aVoci(4)
    aVoci(1) = "Da File .txt"
    aVoci(2) = "Da File .Col"

    aVoci(3) = "Da Selezione Casuale"
    aVoci(4) = "Da Selezione Utente"
    
    ScegliTipoSviluppo = ScegliOpzioneMenu(aVoci,1,"SelezionaSviluppo")
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
'Function GetIdFiltro
'Dim aFiltro
'aFiltro = Array("IncrRitMaxSto=UltimoIncrRitMax","IncrRitMaxSto<=UltimoIncrRitMax","IncrRitMaxSto>=UltimoIncrRitMax")
'GetIdFiltro = ScegliOpzioneMenu(aFiltro,0,"Select Filtro Condizione")
'End Function
Function GetIdFiltro
    Dim aFiltro(2)
    aFiltro(0) = "aElencoIncrRitMax(nUpper) = mIncrRitardoMaxSto"
    aFiltro(1) = "aElencoIncrRitMax(nUpper)>= mIncrRitardoMaxSto"
    aFiltro(2) = "aElencoIncrRitMax(nUpper)<= mIncrRitardoMaxSto"
    GetIdFiltro = ScegliOpzioneMenu(aFiltro,0,"Select Filtro Condizione")
End Function
Function ScriviFiltro(idFiltro)
    Select Case idFiltro
    Case 0
        ScriviFiltro =("aElencoIncrRitMax(nUpper) = mIncrRitardoMaxSto")
    Case 1
        ScriviFiltro =("aElencoIncrRitMax(nUpper)>= mIncrRitardoMaxSto")
    Case 2
        ScriviFiltro =("aElencoIncrRitMax(nUpper)<= mIncrRitardoMaxSto")
    End Select
End Function
Function GetQuantiIncrementi
    GetQuantiIncrementi = CInt(InputBox("qIncr>=(NumeroIncrementiRitMaxFormazione)","Filtro Quantitaà Incrementi",5))
End Function
' Questa è la nuova routine che impedisce di scrivere i doppi
' ma non mpedisce di incrementare nTrov
'Sub AddLunghetta(collLunghette,clsL)
'On Error Resume Next
'collLunghette.Add clsL ,"k"&clsL.LunghettaString
'End Sub
Function AddLunghetta(collLunghette,clsL)
    On Error Resume Next
    collLunghette.Add clsL,"k" & clsL.LunghettaString
    If Err = 0 Then
        AddLunghetta = True
    Else
        AddLunghetta = False
    End If
    Err.Clear
End Function
Function GetValoreFraSeparatori(sFile,CharSep1,CharSep2)
    Dim k
    Dim i,f,sVal
    i = InStr(1,sFile,CharSep1) + 1
    f = InStr(i,sFile,CharSep2)
    GetValoreFraSeparatori = Int(Mid(sFile,i,f - i))
End Function
Sub AnalisiLunghetteFromFileTxt(Inizio,Fine,aRuote,Sorte,idFiltro,qIncr,bPrimaEstrFissa,nDistanza)
    Dim sFile,aLunghette,nTotLunghette
    Dim k,sChrSep,sNumReal
    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(idFiltro,qIncr) 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
            Scrivi "Range analisi         : " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(Fine)
            Scrivi "Filtro Esaminato      : " & ScriviFiltro(idFiltro)
            Scrivi "Lunghette esaminate   : " & nTotLunghette+1 & " Valide : " & collLunghette.count
            Scrivi "Sorte                 : " & NomeSorte(Sorte)
            Scrivi "Ruote                 : " & StringaRuote(aRuote)
            Scrivi "Numero Minimo IncrRit : " & Format2(qIncr)
            Scrivi
            Scrivi FormatSpace("Lunghette ordinate per incremento ritardo max",75),True,True,RGB(25,89,76),vbWhite

            Call Scrivi
            If collLunghette.count > 0 Then
                Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
                For Each clsL In collLunghette
                    If nDistanza = 0 Then
                        Call Scrivi("Numeri Formazione     : " & clsL.LunghettaString)
                    Else
                        sNumReal = clsL.TrasformaArrayNumVirToNumReal(nDistanza,bPrimaEstrFissa)
                        Call Scrivi("Numeri Formazione     : " & clsL.LunghettaString & "   " & "Numeri Verifica   : " & sNumReal)
                    End If
                    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("strIncrementi         : " & clsL.strIncRitMaxSto)
                    Call Scrivi("Numero Incrementi     : " & clsL.iNumIncrementi)
                    Call clsL.DisegnaGraficoIncrRitMax
                Next
            Else
                Scrivi "Nessuna lunghetta rispetta le condizioni"
                Scrivi "Lunghette esaminate " & nTotLunghette + 1
            End If
        End If
    End If
End Sub
Sub AnalisiLunghetteFromNumeriCasuali(Inizio,Fine,aRuote,Sorte,idFiltro,qIncr,bPrimaEstrFissa,nDistanza)
    Dim sFile,aLunghette,nTotLunghette,nClasse
    Dim nTrov,nProdotte,sNumReal
    Dim clsL,collLunghette,uLunghette
    ReDim aSelNum(0)
    Set collLunghette = GetNewCollection
    nTotLunghette = Int(InputBox("Quante lunghette devono essere prodotte ?",,10))
    uLunghette=nTotLunghette
    ScegliNumeri(aSelNum)
    nClasse = Int(InputBox("Quanti numeri nella lunghetta","Sorte analizzata" & NomeSorte(Sorte),2))
    If nTotLunghette > 0 And nClasse >= Sorte Then

        nTrov = 0
        nProdotte = 0
        Do While nTotLunghette > 0
            Set clsL = New clsLunghetta
            ReDim aNum(nClasse)
            Call GetColonnaCasuale(nClasse,aNum,aSelNum)
            nProdotte = nProdotte + 1
            Call clsL.Init(aNum,"",Inizio,Fine,aRuote,Sorte)
            If clsL.IsCondizioneRispettata(idFiltro,qIncr) Then
                Call clsL.EseguiStatistica
                If AddLunghetta(collLunghette,clsL) Then nTrov = nTrov + 1
            End If
            If nProdotte Mod 50 = 0 Then
                Call Messaggio("combinazioni esaminate " & nProdotte & " valide " & nTrov)
                Call AvanzamentoElab(1,uLunghette,nProdotte)
                Call DoEventsEx
                If ScriptInterrotto Then Exit Do
            End If
            nTotLunghette = nTotLunghette - 1
        Loop
        Scrivi "Range analisi         : " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(Fine)
        Scrivi "Filtro Esaminato      : " & ScriviFiltro(idFiltro)
        Scrivi "Lunghette esaminate   : " & nProdotte & " Valide : " & collLunghette.count
        Scrivi "Sorte                 : " & NomeSorte(Sorte)
        Scrivi "Ruote                 : " & StringaRuote(aRuote)
        Scrivi "Numero Minimo IncrRit : " & Format2(qIncr)
        Scrivi
        Scrivi FormatSpace("Lunghette ordinate per incremento ritardo max",75),True,True,RGB(25,89,76),vbWhite

        Call Scrivi
        If collLunghette.count > 0 Then
            Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
            For Each clsL In collLunghette
                If nDistanza = 0 Then
                    Call Scrivi("Numeri Formazione     : " & clsL.LunghettaString)
                Else
                    sNumReal = clsL.TrasformaArrayNumVirToNumReal(nDistanza,bPrimaEstrFissa)
                    Call Scrivi("Numeri Formazione     : " & clsL.LunghettaString & "   " & "Numeri Verifica   : " & sNumReal)
                End If
                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("strIncrementi         : " & clsL.strIncRitMaxSto)
                Call Scrivi("Numero Incrementi     : " & clsL.iNumIncrementi)
                Call clsL.DisegnaGraficoIncrRitMax
            Next
        Else
            Scrivi "Nessuna lunghetta rispetta le condizioni"
            Scrivi "Lunghette esaminate " & nProdotte
        End If
    End If
End Sub
Sub AnalisiLunghetteFromSceglinumeri(Inizio,Fine,aRuote,Sorte,idFiltro,qIncr,bPrimaEstrFissa,nDistanza)
    Dim nTotLunghette
    Dim k,sChrSep,nClasse,sNumReal
    ReDim aLunghette(0)
    Dim clsL,collLunghette,FiltroEsaminato
    Set collLunghette = GetNewCollection
    FiltroEsaminato = ScriviFiltro(idFiltro)
    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(idFiltro,qIncr) Then
            Call clsL.EseguiStatistica
            collLunghette.Add clsL
        End If
        If k Mod 50 = 0 Then
            Call Messaggio("Righe esaminate " & k & "  valide " & collLunghette. count)
            DoEventsEx
            Call AvanzamentoElab(1,nTotLunghette,k)
            If ScriptInterrotto Then Exit Do
        End If
    Loop
    Scrivi "Range analisi         : " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(Fine)
    Scrivi "Filtro Esaminato      : " & FiltroEsaminato
    Scrivi "Lunghette esaminate   : " & nTotLunghette & " Valide : " & collLunghette.count
    Scrivi "Sorte                 : " & NomeSorte(Sorte)
    Scrivi "Ruote                 : " & StringaRuote(aRuote)
    Scrivi "Numero Minimo IncrRit : " & Format2(qIncr)
    Scrivi
    Scrivi FormatSpace("Lunghette ordinate per incremento ritardo max",75),True,True,RGB(25,89,76),vbWhite

    Call Scrivi
    If collLunghette.count > 0 Then
        Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
        For Each clsL In collLunghette
            If nDistanza = 0 Then
                Call Scrivi("Numeri Formazione     : " & clsL.LunghettaString)
            Else
                sNumReal = clsL.TrasformaArrayNumVirToNumReal(nDistanza,bPrimaEstrFissa)
                Call Scrivi("Numeri Formazione     : " & clsL.LunghettaString & "   " & "Numeri Verifica   : " & sNumReal)
            End If
            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("strIncrementi         : " & clsL.strIncRitMaxSto)
            Call Scrivi("Numero Incrementi     : " & clsL.iNumIncrementi)
            Call clsL.DisegnaGraficoIncrRitMax
        Next
    Else
        Scrivi "Nessuna lunghetta rispetta le condizioni"
        Scrivi "Lunghette esaminate " & nTotLunghette
    End If
End Sub
Sub AnalisiLunghetteFromFileCol(Inizio,Fine,aRuote,Sorte,idFiltro,qIncr,bPrimaEstrFissa,nDistanza)
    Dim sFile,nTotLunghette
    Dim k,sChrSep,sNumReal
    Dim clsL,collLunghette
    sChrSep = " "
    Set collLunghette = GetNewCollection
    sFile = ScegliFile(GetDirectoryAppData & "SviluppiColonne",".col")
    If FileEsistente(sFile) Then
    ReDim alunghette(0)
        Call LeggiColonnaSistema(alunghette,1,sFile,,nTotLunghette)
        
        If nTotLunghette > 0 Then
            
            For k = 1 To nTotLunghette
            ReDim alunghette(0)
                Call LeggiColonnaSistema(alunghette,k,sFile)

                Set clsL = New clsLunghetta
                                
                Call clsL.Init(alunghette,sChrSep,Inizio,Fine,aRuote,Sorte)
                If clsL.IsCondizioneRispettata(idFiltro,qIncr) Then
                    Call clsL.EseguiStatistica
                    collLunghette.Add clsL
                End If
                If k Mod 50 = 0 Then
                    Call Messaggio("Colonne esaminate : " & k & "  Valide : " & collLunghette.count)
                    Call AvanzamentoElab(1,nTotLunghette,k)
                    If ScriptInterrotto Then Exit For
                End If
            Next
            Scrivi "Range analisi         : " & GetInfoEstrazione(Inizio) & " - " & GetInfoEstrazione(Fine)
            Scrivi "Filtro Esaminato      : " & ScriviFiltro(idFiltro)
            Scrivi "Lunghette esaminate   : " & nTotLunghette+1 & " Valide : " & collLunghette.count
            Scrivi "Sorte                 : " & NomeSorte(Sorte)
            Scrivi "Ruote                 : " & StringaRuote(aRuote)
            Scrivi "Numero Minimo IncrRit : " & Format2(qIncr)
            Scrivi
            Scrivi FormatSpace("Lunghette ordinate per incremento ritardo max",75),True,True,RGB(25,89,76),vbWhite
            Call Scrivi
            If collLunghette.count > 0 Then
                Call OrdinaItemCollection(collLunghette,"IncrRitMax",,,- 1)
                For Each clsL In collLunghette
                    If nDistanza = 0 Then
                        Call Scrivi("Numeri Formazione     : " & clsL.LunghettaString)
                    Else
                        sNumReal = clsL.TrasformaArrayNumVirToNumReal(nDistanza,bPrimaEstrFissa)
                        Call Scrivi("Numeri Formazione     : " & clsL.LunghettaString & " => " & "Numeri Verifica   : " & sNumReal)
                    End If
                    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("strIncrementi         : " & clsL.strIncRitMaxSto)
                    Call Scrivi("Numero Incrementi     : " & clsL.iNumIncrementi)
                    Call clsL.DisegnaGraficoIncrRitMax
                Next
            Else
                Scrivi "Nessuna lunghetta rispetta le condizioni"
                Scrivi "Lunghette esaminate " & nTotLunghette + 1
            End If
        End If
    End If
End Sub
 

silop2005

Advanced Member >PLATINUM<
LOGOSILOP.gif
Ciao i legend ,
si VA BENE la conversione dei NumV in NumInGioco
ho utilizzato il tuo ultimo script di oggi.
========================
Per l'altra cosa avevo interpretato male …..
VA BENE comunque solo la dicitura "valide"
========================
stickman.gif
Buon pomeriggio a tutti.
A presto
Silop ;) ;) ;)
 
L

LuigiB

Guest
SCiao Silop non mi ero accorto della tua segnslazione...dato che l ho letta ora mentre sto sul treno per tornare a casa non ti nego che la mia prima esclamazione sia stata : "ammazza che rottura de cojoni" spero che sia di facile risoluzione petche di sbattermi non mi va per niente....
 
L

LuigiB

Guest
certo treno regionale .. roma su roma .. mi fa piu comodo della metro al ritorno .. infatti prendo un po di metro e poi il treno ...

p.s .
devi considerare che almeno voi sieta appassionati di lotto ..io invece queste le considero tutte scemenze ....
 
Ultima modifica di un moderatore:

lotto_tom75

Advanced Premium Member
Allora ragazzi... , nonostante non mi senta troppo bene per mal di testa e dolori vari... , non ho potuto fare a meno di testare subito l'ultima opera del bravissimissimo i legend che, sotto la supervisione del Maestro number 1 LuigiB, ha saputo realizzare una chicca informatica che credo sia uno dei migliori script realizzati per complessità praticità e funzionalità... (almeno questo è il mio personalissimo parere) . Lo ringrazio. insieme al grande Maestro Luigi, ancora una volta per tutta l'energia e il tempo spesi nel realizzare le idee che via via ci venivano durante il proseguire del progetto. Mi auguro di cuore che questo script "scopadelico" :p possa portare altre vincite interessanti e faccia vincere anche i 2 programmatori che l'hanno realizzato che sono ancora adesso iper scettici sul fatto di poter battere qualche volta la l8matica :D . Confermo che adesso almeno per me (non so per silop) sembra andare tutto alla grandissima! Addirittura ho provato a testare qualcosa tipo 9 mld di 10ine (e anche classi maggiori...) random e va come se si trattasse di poche colonne! I legend ti nomino mio secondo Maestro di programmazione ufficiale. Il secondo posto è dovuto solo al fatto che ovviamente al 1° ci sta il creatore di Spaziometria LuigiB che con i suoi fantastici superpoteri di umiltà, bravura, rapidità e generosità da diversi anni ci ha fatto e continua a farci... sognare... e toccare con mano... il fatto che se uno vuole e indirizza il suo laser... della concentrazione e della volontà e dell'azione verso un qualunque obiettivo... quest ultimo dopo tot tempo..., studio..., e azione... prende inesorabilmente forma. Good Luck a tutti/e noi e Namastè ;)
 
Ultima modifica:

i legend

Premium Member
Ciao tom grazie:)
Allora aspettiamo che luigi confermi se la funzione dei virtuali è corretta e poi possiamo annunciare lo script chiuso ufficialmente :)
A dopo
 
L

LuigiB

Guest
ciao Legend .. le conferme che vagono di piu sono quelle degli utilizzatori ..io posso solo parlare a livello tecnico .. sono contento che ti sei saputo districare , spero di averti trasmesso la logica perche è quella che sta alla base d ogni script le istruzioni intese come parole chiave sono sempre quelle...
Ora non ho capito bene il funzionamento della sub che trasforma i numeri bastava sommare la distanza al numero reale da quanto mi ricordo ad ogni modo se i numeri corretti che voleva Silop sono quelli va benissimo ...
 

i legend

Premium Member
OK Allora abbiamo finito:)
Vediamo se tutto questo lavoro può servire o come dice Luigi se cose so tutte ........... un bel passatempo;)

La prima formazione è prossima al suo IncrMaxSto, Estrapolata utilizzando l opzione sistemi virtuali
una cinquina per ambo e terno su tutte x due colpi
No previsione ma verifica statistica:)
image_12065.jpg

Chiedo Perdono a Luigi ma ho apicizzato ;) il grafico
 
L

LuigiB

Guest
caro legend nel tuo caso ti rimane il fatto di aver imparato qualcosa...a prescindere ...
 

FREK50

Junior Member
Ciao i legend ai fatto un bellissimo lavoro ti chiedo una cortesia : puoi mettere passo passo i vari passaggi per raggiungere il tuo risultato ottenuto dalla dimostrazione dell' immagine che ai inserito sul commento 659 , per voi che avete creato questa bellissima cosa è semplice, ma per me è un po' complicato .ti ringrazio
 

janez57

Super Member >GOLD<
Buon pomeriggio a tutti/e
Volevo chiedere gentilmente a chi mi può rispondere alcune delucidazioni.
Io ho 15 trentine fisse che mi danno sempre minimo 10 ambi a ruota oppure 3 terni e cinque ambi,
oppure una quaterna due terni e cinque ambi e a volte la cinquina e 4 quaterne.
La mia domanda è la seguente si può ridurre le stringhe di 30 numeri con questo script?.e portarle
al giocato con massimo 10 numeri?. Se la risposta è si una volta ridotta a 10 numeri alla prossima estrazione se vado a ridurla nuovamente (la stringa di 30 numeri) mi rimangono gli stessi numeri oppure variano?.
Grazie di una vostra risposta.
Janez
 

janez57

Super Member >GOLD<
01.07.15.19.26.31.37.45.49.56.61.67.75.79.86.02.09.14.21.25.32.39.44.51.55.62.69.74.81.85
01.07.15.19.26.31.37.45.49.56.61.67.75.79.86.05.11.16.24.29.35.41.46.54.59.65.71.76.84.89
01.07.15.19.26.31.37.45.49.56.61.67.75.79.86.03.08.12.20.27.33.38.42.50.57.63.68.72.80.87
01.07.15.19.26.31.37.45.49.56.61.67.75.79.86.06.10.17.23.28.36.40.47.53.58.66.70.77.83.88
04.13.18.22.30.34.43.48.52.60.64.73.78.82.90.02.09.14.21.25.32.39.44.51.55.62.69.74.81.85
04.13.18.22.30.34.43.48.52.60.64.73.78.82.90.05.11.16.24.29.35.41.46.54.59.65.71.76.84.89
04.13.18.22.30.34.43.48.52.60.64.73.78.82.90.03.08.12.20.27.33.38.42.50.57.63.68.72.80.87
04.13.18.22.30.34.43.48.52.60.64.73.78.82.90.06.10.17.23.28.36.40.47.53.58.66.70.77.83.88
02.09.14.21.25.32.39.44.51.55.62.69.74.81.85.05.11.16.24.29.35.41.46.54.59.65.71.76.84.89
02.09.14.21.25.32.39.44.51.55.62.69.74.81.85.03.08.12.20.27.33.38.42.50.57.63.68.72.80.87
02.09.14.21.25.32.39.44.51.55.62.69.74.81.85.06.10.17.23.28.36.40.47.53.58.66.70.77.83.88
05.11.16.24.29.35.41.46.54.59.65.71.76.84.89.03.08.12.20.27.33.38.42.50.57.63.68.72.80.87
05.11.16.24.29.35.41.46.54.59.65.71.76.84.89.06.10.17.23.28.36.40.47.53.58.66.70.77.83.88
03.08.12.20.27.33.38.42.50.57.63.68.72.80.87.06.10.17.23.28.36.40.47.53.58.66.70.77.83.88
01.07.15.19.26.31.37.45.49.56.61.67.75.79.86.04.13.18.22.30.34.43.48.52.60.64.73.78.82.90
Ciao Legend.Queste sono le 15 trentine di cui vorrei ridurle al giocato . Vorrei vedere portandole
in 15 decine cosa si riesce mantenere come punteggio sia su ruota secca a scelta che eventualmente
a tutte le ruote-
Sempre se iltutto è possibile.
Grazie
Janez
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 09 maggio 2024
    Bari
    85
    27
    28
    56
    83
    Cagliari
    29
    34
    75
    82
    18
    Firenze
    16
    74
    36
    55
    64
    Genova
    77
    57
    29
    34
    05
    Milano
    69
    33
    28
    18
    21
    Napoli
    69
    10
    03
    05
    12
    Palermo
    06
    34
    69
    38
    13
    Roma
    35
    86
    69
    16
    06
    Torino
    08
    56
    04
    26
    23
    Venezia
    27
    84
    28
    13
    68
    Nazionale
    68
    21
    64
    11
    07
    Estrazione Simbolotto
    Milano
    40
    18
    20
    15
    37

Ultimi Messaggi

Alto