Novità

con la nuova versione di spaziometria

L

LuigiB

Guest
Ciao a tutti , messaggio rivolto agli scripter ..
La nuova versioe di spaziometria installa un componente che puo essere utilizzato sia dagli script di spaziometria sia da quelli di altri software ad esempio lottodesk.
Questo componente è in grado di eseguire alcune fununzioni statistiche con un velocita superiore a quella del compilato vb6 e anche superiore (di poco) rispetto alle funzioni turbo gia presenti in spaziometria.
La cosa positiva è che mentre le funzioni turbo esistono solo per il lotto questo componente gestisce tuto perfino i file di testo.
Ora non so se qualcuno di voi lo vorra utilizzare xomunque io ne parlo avendolo fatto.
In verita volevo poter leggere direttasmente gli archivi degli altri software ma ahime l'impresa è troppo ardua , dato che il componente serve per eseguire funzioni statistiche è chiaro che deve poter leggere le estrazioni.
Nel caso di spaziometria le legge direttamente , se lo si volesse usare in altri ambienti le estrazioni andranno lette da un file di testo.
allego l'help di questo componente e uno script che ne mostra l'utilizzo comparando le funzioni interne , quelle turbo con le stesse implementate da questo nuovo componente che ho chiamato HSS HighSpeedStat... che fantasia eh :) ... la libreria è in fase di test a me sembra funzionare ... se qualcuno la volesse usare mi faccia sapere ..

ecco l'help
http://www.mediafire.com/download/b6...hSpeedStat.chm

questo un esempio di file txt (veramente è un csv ma è la stessa cosa) con le estrazioni (si possono leggere diversi tipi questo è nel formato esportato da spaziometria lo metto per fare un esempio visto che lo script di seguito lo prevede)
http://www.mediafire.com/download/wj...estrazioni.rar

questo è uno script che lavora sul lotto


Codice:
Option Explicit
Dim nVoltePerTest
Dim clsHSS
Dim aTempo(2)
Dim aLibreria
Dim aColore(1)
Dim idColore

Sub Main
    Dim Ini,Fin
    ReDim aNum(2)
    ReDim aRuote(1)
    Dim sFileBd
    Dim k
    
    aLibreria = Array("Interna","Turbo","LibEsterna")
    aColore(0) = vbCyan
    aColore(1) = vbGreen
    idColore = 1
    
    
    aNum(1) = 2
    aNum(2) = 10
    aRuote(1) = 1
    Ini = 1

    Fin = EstrazioneFin
    nVoltePerTest = 100
    
    
    ' imposto il percorso per il file della base dati da usare
    sFileBd = GetDirectoryAppData & "BaseDati.dat"
    'sFileBd = "c:\temp\estrazioni.csv" ' imposta il percorso per il file di testo delle estrazioni
    
    ' istanzio l'oggetto HSS    
    Set clsHSS = CreateObject("HSS.ClsHighSpeedStat")
    
    ' inizializzo l'archivio.N.B. E' la prima cosa da fare
    Call clsHSS.Init(sFileBd,1)' 1 indica che il file è l'archivio lotto di spaziometria
    'Call clsHSS.Init(sFileBd,5) ' parametro 5 indica file di testo in formato IdEstr-Data-EstrattiRuote
    
    
    Dim aTitoli
    aTitoli = Array("","Funzione","Tempo","","","Volte piu veloce della lib interna","","")
    
    ReDim aColSpan(7)
    aColSpan(1) = 1 :aColSpan(2) = 3 :aColSpan(3) = 0 :aColSpan(4) = 0 :aColSpan(5) = 3 :aColSpan(6) = 0 :aColSpan(7) = 0 :






    Call InitTabella     (aTitoli,vbBlue,,,vbWhite,,aColSpan)
    Dim aValori
    aValori = Array("","Libreria","Interna","Turbo","Estena","Interna","Turbo","Estena")
    Call AddRigaTabella(aValori,vbBlue,,,vbWhite)
    Call Scrivi(String(100,"-"))
    Call TestEstrattoRitardo(aNum,aRuote(1),Ini,Fin,1)
    Call TestEstrattoRitardo(aNum,aRuote(1),Ini,Fin,2)
    Call TestEstrattoRitardo(aNum,aRuote(1),Ini,Fin,0)
    Call InsRiga("EstrattoRitardo")
    
    
    
    
    Call Scrivi(String(100,"-"))
    Call TestEstrattoFrequenza(aNum,aRuote(1),Ini,Fin,1)
    Call TestEstrattoFrequenza(aNum,aRuote(1),Ini,Fin,2)
    Call TestEstrattoFrequenza(aNum,aRuote(1),Ini,Fin,0)
    Call InsRiga("EstrattoFrequenza")

    
    Call Scrivi(String(100,"-"))
    Call TestEstrattoStorico(aNum,aRuote(1),Ini,Fin,1)
    Call TestEstrattoStorico(aNum,aRuote(1),Ini,Fin,2)
    Call TestEstrattoStorico(aNum,aRuote(1),Ini,Fin,0)
    Call InsRiga("EstrattoStorico")

    
    Call Scrivi(String(100,"-"))
    Call TestEstrattoIncrStorico(aNum,aRuote(1),Ini,Fin,1)
    Call TestEstrattoIncrStorico(aNum,aRuote(1),Ini,Fin,2)
    Call TestEstrattoIncrStorico(aNum,aRuote(1),Ini,Fin,0)
    Call InsRiga("EstrattoIncrStorico")

    
    Call Scrivi(String(100,"-"))
    Call TestStatisticaFormazione(aNum,aRuote,Ini,Fin,1)
    Call TestStatisticaFormazione(aNum,aRuote,Ini,Fin,2)
    Call TestStatisticaFormazione(aNum,aRuote,Ini,Fin,0)
    Call InsRiga("StatisticaFormazione")


    
    Call Scrivi(String(100,"-"))
    Call TestRitardoCombinazione(aNum,aRuote,Ini,Fin,1)
    Call TestRitardoCombinazione(aNum,aRuote,Ini,Fin,2)
    Call TestRitardoCombinazione(aNum,aRuote,Ini,Fin,0)
    Call InsRiga("RitardoCombinazione")

    
    
    
        
    
    Call Scrivi(String(100,"-"))
    Call TestSerieRitardo(aNum,aRuote,Ini,Fin,2,1)
    Call TestSerieRitardo(aNum,aRuote,Ini,Fin,2,2)
    Call TestSerieRitardo(aNum,aRuote,Ini,Fin,2,0)
    Call InsRiga("SerieRitardo")

    
    
    
    
    
    
    Call Scrivi(String(100,"-"))
    Call TestSerieStorico(aNum,aRuote,Ini,Fin,2,1)
    Call TestSerieStorico(aNum,aRuote,Ini,Fin,2,2)
    Call TestSerieStorico(aNum,aRuote,Ini,Fin,2,0)
    Call InsRiga("SerieStorico")

    
    
    
    Call Scrivi(String(100,"-"))
    Call TestSerieFrequenza(aNum,aRuote,Ini,Fin,2,1)
    Call TestSerieFrequenza(aNum,aRuote,Ini,Fin,2,2)
    Call TestSerieFrequenza(aNum,aRuote,Ini,Fin,2,0)
    Call InsRiga("SerieFrequenza")

    
    
    
    
    Call Scrivi(String(100,"-"))
    Call TestAmboRitardo(aNum,aRuote(1),Ini,Fin,1)
    Call TestAmboRitardo(aNum,aRuote(1),Ini,Fin,2)
    Call TestAmboRitardo(aNum,aRuote(1),Ini,Fin,0)
    Call InsRiga("AmboRitardo")

    
    
    Call Scrivi(String(100,"-"))
    Call TestAmboFrequenza(aNum,aRuote(1),Ini,Fin,1)
    Call TestAmboFrequenza(aNum,aRuote(1),Ini,Fin,2)
    Call TestAmboFrequenza(aNum,aRuote(1),Ini,Fin,0)
    Call InsRiga("AmboFrequenza")

    
    Call Scrivi(String(100,"-"))
    Call TestAmboStorico(aNum,aRuote(1),Ini,Fin,1)
    Call TestAmboStorico(aNum,aRuote(1),Ini,Fin,2)
    Call TestAmboStorico(aNum,aRuote(1),Ini,Fin,0)
    Call InsRiga("AmboStorico")


    
    
    Call Scrivi(String(100,"-"))
    Call TestAmboIncrStorico(aNum,aRuote(1),Ini,Fin,1)
    Call TestAmboIncrStorico(aNum,aRuote(1),Ini,Fin,2)
    Call TestAmboIncrStorico(aNum,aRuote(1),Ini,Fin,0)
    Call InsRiga("AmboIncrStorico")

    
    
    Call Scrivi(String(100,"-"))
    Call TestVerificaEsito(1)
    Call TestVerificaEsito(2)
    Call TestVerificaEsito(0)
    Call InsRiga("VerificaEsito")

    

    
    Call CreaTabella
    
    
    
    

    
    
    
    
    
    Set clsHSS = Nothing
    
End Sub

Sub InsRiga(sNomeFunz)
    Dim k
    ReDim aValori(7)
    idColore = Iif(idColore = 0,1,0)
    
    
    
        aValori(1) = sNomeFunz
        aValori(2) = aTempo(0)
        aValori(3) = aTempo(1)
        aValori(4) = aTempo(2)
    
        aValori(5) = "1"
        aValori(6) = Round(Dividi(aTempo(0),aTempo(1)),3)

        aValori(7) = Round(Dividi(aTempo(0),aTempo(2)),3)

        
        
        Call AddRigaTabella(aValori,aColore(idColore))
    
    
End Sub
Sub ScriviRisultati(sNomeFunzione,rit,ritmax,Incrmax,freq,tt)
    Call Scrivi(sNomeFunzione & " secondi = " & tt,True)
    If rit >= 0 Then Call Scrivi("Rit    = " & rit)
    If ritmax >= 0 Then Call Scrivi("ritmax  = " & ritmax)
    If Incrmax >= 0 Then Call Scrivi("Incrmax = " & Incrmax)
    If freq >= 0 Then Call Scrivi("freq    = " & freq)
    Call Scrivi
End Sub
Sub TestStatisticaFormazione(aNum,aRuote,Ini,Fin,bTurbo)
    Dim rit,ritmax,Incrmax,freq
    Dim t,tt,k
    If bTurbo = 1 Then
        t = Timer
        For k = 1 To nVoltePerTest
            Call StatisticaFormazioneTurbo(aNum,aRuote,2,rit,ritmax,Incrmax,freq,Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("StatisticaFormazioneTurbo",rit,ritmax,Incrmax,freq,tt)
    ElseIf bTurbo = 0 Then
        t = Timer
        For k = 1 To nVoltePerTest
            Call StatisticaFormazione(aNum,aRuote,2,rit,ritmax,Incrmax,freq,Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("StatisticaFormazione",rit,ritmax,Incrmax,freq,tt)
    ElseIf bTurbo = 2 Then
        t = Timer
        For k = 1 To nVoltePerTest
            Call clsHSS.StatisticaFormazione(aNum,aRuote,2,rit,ritmax,Incrmax,freq,Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("clsHSS.StatisticaFormazione",rit,ritmax,Incrmax,freq,tt)
    End If
    aTempo(bTurbo) = tt
    
End Sub
Sub TestSerieRitardo(aNum,aRuote,Ini,Fin,Sorte,bTurbo)
    Dim rit,ritmax,Incrmax,freq
    Dim t,tt,k
    If bTurbo = 1 Then
        t = Timer
        For k = 1 To nVoltePerTest
            rit = SerieRitardoTurbo(Ini,Fin,aNum,aRuote,Sorte)
        Next
        tt = Timer - t
        Call ScriviRisultati("SerieRitardoTurbo",rit,- 1,- 1,- 1,tt)
    ElseIf bTurbo = 0 Then
        t = Timer
        For k = 1 To nVoltePerTest
            rit = SerieRitardo(Ini,Fin,aNum,aRuote,Sorte)
        Next
        tt = Timer - t
        Call ScriviRisultati("SerieRitardo",rit,- 1,- 1,- 1,tt)
    ElseIf bTurbo = 2 Then
        t = Timer
        For k = 1 To nVoltePerTest
            rit = clsHSS.SerieRitardo(Ini,Fin,aNum,aRuote,Sorte)
        Next
        tt = Timer - t
        Call ScriviRisultati("clsHSS.SerieRitardo",rit,- 1,- 1,- 1,tt)
        
    End If
    aTempo(bTurbo) = tt

End Sub
Sub TestSerieStorico(aNum,aRuote,Ini,Fin,Sorte,bTurbo)
    Dim rit,ritmax,Incrmax,freq
    Dim t,tt,k
    If bTurbo = 1 Then
        t = Timer
        For k = 1 To nVoltePerTest
            ritmax = SerieStoricoTurbo(Ini,Fin,aNum,aRuote,Sorte)
        Next
        tt = Timer - t
        Call ScriviRisultati("SerieStoricoTurbo",- 1,ritmax,- 1,- 1,tt)
    ElseIf bTurbo = 0 Then
        t = Timer
        For k = 1 To nVoltePerTest
            ritmax = SerieStorico(Ini,Fin,aNum,aRuote,Sorte)
        Next
        tt = Timer - t
        Call ScriviRisultati("SerieStorico",- 1,ritmax,- 1,- 1,tt)
    ElseIf bTurbo = 2 Then
        t = Timer
        For k = 1 To nVoltePerTest
            ritmax = clsHSS.SerieStorico(Ini,Fin,aNum,aRuote,Sorte)
        Next
        tt = Timer - t
        Call ScriviRisultati("clsHSS.SerieStorico",- 1,ritmax,- 1,- 1,tt)
    
    End If
    aTempo(bTurbo) = tt

End Sub
Sub TestSerieFrequenza(aNum,aRuote,Ini,Fin,Sorte,bTurbo)
    Dim rit,ritmax,Incrmax,freq
    Dim t,tt,k
    If bTurbo = 1 Then
        t = Timer
        For k = 1 To nVoltePerTest
            freq = SerieFreqTurbo(Ini,Fin,aNum,aRuote,Sorte)
        Next
        tt = Timer - t
        Call ScriviRisultati("SerieFrequenzaTurbo",- 1,- 1,- 1,freq,tt)
    ElseIf bTurbo = 0 Then
        t = Timer
        For k = 1 To nVoltePerTest
            freq = SerieFreq(Ini,Fin,aNum,aRuote,Sorte)
        Next
        tt = Timer - t
        Call ScriviRisultati("SerieFrequenza",- 1,- 1,- 1,freq,tt)
    ElseIf bTurbo = 2 Then
        t = Timer
        For k = 1 To nVoltePerTest
            freq = clsHSS.SerieFreq(Ini,Fin,aNum,aRuote,Sorte)
        Next
        tt = Timer - t
        Call ScriviRisultati("clsHSS.SerieFrequenza",- 1,- 1,- 1,freq,tt)

    End If
    aTempo(bTurbo) = tt

End Sub
Sub TestAmboRitardo(aNum,Ruota,Ini,Fin,bTurbo)
    Dim rit,ritmax,Incrmax,freq
    Dim t,tt,k
    If bTurbo = 1 Then
        t = Timer
        For k = 1 To nVoltePerTest
            rit = AmboRitardoTurbo(Ruota,aNum(1),aNum(2),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("AmboRitardoTurbo",rit,- 1,- 1,- 1,tt)
    ElseIf bTurbo = 0 Then
        t = Timer
        For k = 1 To nVoltePerTest
            rit = AmboRitardo(Ruota,aNum(1),aNum(2),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("AmboRitardo",rit,- 1,- 1,- 1,tt)
    ElseIf bTurbo = 2 Then
        t = Timer
        For k = 1 To nVoltePerTest
            rit = clsHSS.AmboRitardo(Ruota,aNum(1),aNum(2),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("clsHSS.AmboRitardo",rit,- 1,- 1,- 1,tt)

    End If
    aTempo(bTurbo) = tt

End Sub
Sub TestAmboFrequenza(aNum,Ruota,Ini,Fin,bTurbo)
    Dim rit,ritmax,Incrmax,freq
    Dim t,tt,k
    If bTurbo = 1 Then
        t = Timer
        For k = 1 To nVoltePerTest
            freq = AmboFrequenzaTurbo(Ruota,aNum(1),aNum(2),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("AmboFrequenzaTurbo",- 1,- 1,- 1,freq,tt)
    ElseIf bTurbo = 0 Then

        t = Timer
        For k = 1 To nVoltePerTest
            freq = AmboFrequenza(Ruota,aNum(1),aNum(2),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("AmboFrequenza",- 1,- 1,- 1,freq,tt)
    ElseIf bTurbo = 2 Then

        t = Timer
        For k = 1 To nVoltePerTest
            freq = clsHSS.AmboFrequenza(Ruota,aNum(1),aNum(2),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("clsHSS.AmboFrequenza",- 1,- 1,- 1,freq,tt)

    End If
    aTempo(bTurbo) = tt

End Sub
Sub TestAmboStorico(aNum,Ruota,Ini,Fin,bTurbo)
    Dim rit,ritmax,Incrmax,freq
    Dim t,tt,k
    If bTurbo = 1 Then
        t = Timer
        For k = 1 To nVoltePerTest
            ritmax = AmboStoricoTurbo(Ruota,aNum(1),aNum(2),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("AmboStoricoTurbo",- 1,ritmax,- 1,- 1,tt)
    ElseIf bTurbo = 0 Then
        t = Timer
        For k = 1 To nVoltePerTest
            ritmax = AmboStorico(Ruota,aNum(1),aNum(2),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("AmboStorico",- 1,ritmax,- 1,- 1,tt)
    ElseIf bTurbo = 2 Then
        t = Timer
        For k = 1 To nVoltePerTest
            ritmax = clsHSS.AmboStorico(Ruota,aNum(1),aNum(2),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("clsHSS.AmboStorico",- 1,ritmax,- 1,- 1,tt)
    
    End If
    aTempo(bTurbo) = tt

End Sub
Sub TestAmboIncrStorico(aNum,Ruota,Ini,Fin,bTurbo)
    Dim rit,ritmax,Incrmax,freq
    Dim t,tt,k
    If bTurbo = 1 Then
        t = Timer
        For k = 1 To nVoltePerTest
            Incrmax = AmboIncrStoricoTurbo(Ruota,aNum(1),aNum(2),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("AmboIncrStoricoTurbo",- 1,- 1,Incrmax,- 1,tt)
    ElseIf bTurbo = 0 Then
        t = Timer
        For k = 1 To nVoltePerTest
            Incrmax = AmboIncrStorico(Ruota,aNum(1),aNum(2),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("AmboIncrStorico",- 1,- 1,Incrmax,- 1,tt)
    ElseIf bTurbo = 2 Then
        t = Timer
        For k = 1 To nVoltePerTest
            Incrmax = clsHSS.AmboIncrStorico(Ruota,aNum(1),aNum(2),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("clsHSS.AmboIncrStorico",- 1,- 1,Incrmax,- 1,tt)
            
    End If
    aTempo(bTurbo) = tt

End Sub
Sub TestEstrattoRitardo(aNum,Ruota,Ini,Fin,bTurbo)
    Dim rit,ritmax,Incrmax,freq
    Dim t,tt,k
    If bTurbo = 1 Then
        t = Timer
        For k = 1 To nVoltePerTest
            rit = EstrattoRitardoTurbo(Ruota,aNum(1),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("EstrattoRitardoTurbo",rit,- 1,- 1,- 1,tt)
    ElseIf bTurbo = 0 Then
        t = Timer
        For k = 1 To nVoltePerTest
            rit = EstrattoRitardo(Ruota,aNum(1),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("EstrattoRitardo",rit,- 1,- 1,- 1,tt)
    ElseIf bTurbo = 2 Then
        t = Timer
        For k = 1 To nVoltePerTest
            rit = clsHSS.EstrattoRitardo(Ruota,aNum(1),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("clsHSS.EstrattoRitardo",rit,- 1,- 1,- 1,tt)

    End If
    aTempo(bTurbo) = tt

End Sub
Sub TestEstrattoFrequenza(aNum,Ruota,Ini,Fin,bTurbo)
    Dim rit,ritmax,Incrmax,freq
    Dim t,tt,k
    If bTurbo = 1 Then
        t = Timer
        For k = 1 To nVoltePerTest
            freq = EstrattoFrequenzaTurbo(Ruota,aNum(1),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("EstrattoFrequenzaTurbo",- 1,- 1,- 1,freq,tt)
    ElseIf bTurbo = 0 Then

        t = Timer
        For k = 1 To nVoltePerTest
            freq = EstrattoFrequenza(Ruota,aNum(1),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("EstrattoFrequenza",- 1,- 1,- 1,freq,tt)
    ElseIf bTurbo = 2 Then

        t = Timer
        For k = 1 To nVoltePerTest
            freq = clsHSS.EstrattoFrequenza(Ruota,aNum(1),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("clsHSS.EstrattoFrequenza",- 1,- 1,- 1,freq,tt)

    End If
    aTempo(bTurbo) = tt

End Sub
Sub TestEstrattoStorico(aNum,Ruota,Ini,Fin,bTurbo)
    Dim rit,ritmax,Incrmax,freq
    Dim t,tt,k
    If bTurbo = 1 Then
        t = Timer
        For k = 1 To nVoltePerTest
            ritmax = EstrattoStoricoTurbo(Ruota,aNum(1),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("EstrattoStoricoTurbo",- 1,ritmax,- 1,- 1,tt)
    ElseIf bTurbo = 0 Then

        t = Timer
        For k = 1 To nVoltePerTest
            ritmax = EstrattoStorico(Ruota,aNum(1),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("EstrattoStorico",- 1,ritmax,- 1,- 1,tt)
    ElseIf bTurbo = 2 Then

        t = Timer
        For k = 1 To nVoltePerTest
            ritmax = clsHSS.EstrattoStorico(Ruota,aNum(1),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("clsHSS.EstrattoStorico",- 1,ritmax,- 1,- 1,tt)
    End If
    aTempo(bTurbo) = tt

End Sub
Sub TestEstrattoIncrStorico(aNum,Ruota,Ini,Fin,bTurbo)
    Dim rit,ritmax,Incrmax,freq
    Dim t,tt,k
    If bTurbo = 1 Then
        t = Timer
        For k = 1 To nVoltePerTest
            Incrmax = EstrattoIncrStoricoTurbo(Ruota,aNum(1),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("EstrattoIncrStoricoTurbo",- 1,- 1,Incrmax,- 1,tt)
    ElseIf bTurbo = 0 Then

        t = Timer
        For k = 1 To nVoltePerTest
            Incrmax = EstrattoIncrStorico(Ruota,aNum(1),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("EstrattoIncrStorico",- 1,- 1,Incrmax,- 1,tt)
    ElseIf bTurbo = 2 Then

        t = Timer
        For k = 1 To nVoltePerTest
            Incrmax = clsHSS.EstrattoIncrStorico(Ruota,aNum(1),Ini,Fin)
        Next
        tt = Timer - t
        Call ScriviRisultati("clsHSS.EstrattoIncrStorico",- 1,- 1,Incrmax,- 1,tt)
        
    End If
    aTempo(bTurbo) = tt

End Sub
Sub TestRitardoCombinazione(aNum,aRuote,Ini,Fin,bTurbo)
    Dim rit,ritmax,Incrmax,freq
    Dim t,tt,k
    If bTurbo = 1 Then
        t = Timer
        For k = 1 To nVoltePerTest
            rit = RitardoCombinazioneTurbo(aRuote,aNum,2,Fin,,,Ini)
        Next
        tt = Timer - t
        Call ScriviRisultati("RitardoCombinazioneTurbo",rit,- 1,- 1,- 1,tt)
    ElseIf bTurbo = 0 Then

        t = Timer
        For k = 1 To nVoltePerTest
            rit = RitardoCombinazione(aRuote,aNum,2,Fin,,,Ini)
        Next
        tt = Timer - t
        Call ScriviRisultati("RitardoCombinazione",rit,- 1,- 1,- 1,tt)
    ElseIf bTurbo = 2 Then

        t = Timer
        For k = 1 To nVoltePerTest
            rit = clsHSS.RitardoCombinazione(aRuote,aNum,2,Fin,,,Ini)
        Next
        tt = Timer - t
        Call ScriviRisultati("clsHSS.RitardoCombinazione",rit,- 1,- 1,- 1,tt)

    End If
    aTempo(bTurbo) = tt

End Sub
Sub TestVerificaEsito(bTurbo)
    ReDim aNum(4) ' array contenente il pronostico
    ReDim aRt(2) ' array contenente le ruote
    Dim idEstrInizio ' estrazione da dove comincia la verifica dell'esito
    Dim RetEsito ' torna il nome della sorte (estratto , ambo ...ecc)
    Dim RetColpi ' torna i colpi impiegti fino al raggiungimento dell'esito
    Dim RetEstratti ' torna i numeri estratti
    Dim RetIdEstr ' torna lidentificativo numerico dell'estrazione in cui si è avuto l'esito
    Dim k
    Dim Somma
    Dim bEsito
    Dim t,tt
    'imposto il pronostico da verificare
    aNum(1) = 4
    aNum(2) = 8
    aNum(3) = 12
    aNum(4) = 16
    ' imposto le ruote su cui giocare
    aRt(1) = BA_
    aRt(2) = RO_
    ' imposto l'estrazione da dove parte la verifica
    idEstrInizio = 5000
    t = Timer
    For k = 1 To nVoltePerTest
        If bTurbo = 1 Then
            bEsito = VerificaEsitoTurbo(aNum,aRt,idEstrInizio,3,,,RetEsito,RetColpi,RetEstratti,RetIdEstr)
        ElseIf bTurbo = 0 Then
            bEsito = VerificaEsito(aNum,aRt,idEstrInizio,3,,,RetEsito,RetColpi,RetEstratti,RetIdEstr)
        ElseIf bTurbo = 2 Then
            bEsito = clsHSS.VerificaEsito(aNum,aRt,idEstrInizio,3,,,RetEsito,RetColpi,RetEstratti,RetIdEstr)

        End If
    Next
    tt = Timer - t
    If bTurbo = 1 Then
        Call ScriviRisultati("VerificaEsitoTurbo",- 1,- 1,- 1,- 1,tt)
    ElseIf bTurbo = 0 Then
        Call ScriviRisultati("VerificaEsito",- 1,- 1,- 1,- 1,tt)
    ElseIf bTurbo = 2 Then
        Call ScriviRisultati("clsHSS.VerificaEsito",- 1,- 1,- 1,- 1,tt)
    End If
    If bEsito Then
        Call Scrivi(GetInfoEstrazione(RetIdEstr) & " " & RetEsito & " colpi : " & RetColpi & " " & RetEstratti)
    Else
        Call Scrivi("Esito negativo")
    End If
    aTempo(bTurbo) = tt

End Sub
Sub TestRitardoEstratto(aNum,Ruota,Ini,Fin,bTurbo)
    Dim rit,ritmax,Incrmax,freq
    Dim t,tt,k
    If bTurbo = 1 Then
        t = Timer
        For k = 1 To nVoltePerTest
            rit = RitardoEstrattoTurbo(aNum(1),Fin,Ruota,,,Ini)
        Next
        tt = Timer - t
        Call ScriviRisultati("RitardoEstrattoTurbo",rit,- 1,- 1,- 1,tt)
    ElseIf bTurbo = 0 Then
        t = Timer
        For k = 1 To nVoltePerTest
            rit = RitardoEstratto(aNum(1),Fin,Ruota,,,Ini)
        Next
        tt = Timer - t
        Call ScriviRisultati("RitardoEstratto",rit,- 1,- 1,- 1,tt)
    ElseIf bTurbo = 2 Then
        t = Timer
        For k = 1 To nVoltePerTest
            rit = clsHSS.RitardoEstratto(aNum(1),Fin,Ruota,,,Ini)
        Next
        tt = Timer - t
        Call ScriviRisultati("clsHSS.RitardoEstratto",rit,- 1,- 1,- 1,tt)

    End If
    aTempo(bTurbo) = tt

End Sub
 
Ultima modifica di un moderatore:

Mike58

Advanced Member >PLATINUM PLUS<
Ciao Luigi, intanto un grazie, per il continuo e prezioso lavoro sempre migliorativo.
Riassumento, visto che il file scaricato l'ho inserito direttamete nella directory di spaziometria con 'appositafunzione di richiamo Call clsHSS.StatisticaFormazione(aNum,aRuote,2,rit,ritmax,Incrmax,freq,Ini,Fin)

dovrebbe sempre interagire con l'archivio aggiornato oppure deve sempre istanziarlo con



sFileBd = GetDirectoryAppData & "BaseDati.dat"
'sFileBd = "c:\temp\estrazioni.csv" ' imposta il percorso per il file di testo delle estrazioni

' istanzio l'oggetto HSS
Set clsHSS = CreateObject("HSS.ClsHighSpeedStat")

' inizializzo l'archivio.N.B. E' la prima cosa da fare
Call clsHSS.Init(sFileBd,1)' 1 indica che il file è l'archivio lotto di spaziometria
'Call clsHSS.Init(sFileBd,5) ' parametro 5 indica file di testo in formato IdEstr-Data-EstrattiRuote


comunque altra perla ecco i miei risultati.
Funzione Tempo Volte piu veloce della lib interna
Libreria Interna Turbo Estena Interna Turbo Estena
EstrattoRitardo 0 0 0,0078125 1 0 0
EstrattoFrequenza 0,4375 0,046875 0,046875 1 9,333 9,333
EstrattoStorico 0,4375 0,046875 0,046875 1 9,333 9,333
EstrattoIncrStorico 0,4375 0,046875 0,046875 1 9,333 9,333
StatisticaFormazione 0,5 0,0546875 0,0390625 1 9,143 12,8
RitardoCombinazione 0,0078125 0,0078125 0 1 1 0
SerieRitardo 0 0 0,0078125 1 0 0
SerieStorico 0,4765625 0,046875 0,046875 1 10,167 10,167
SerieFrequenza 0,4765625 0,046875 0,046875 1 10,167 10,167
AmboRitardo 0,0078125 0,0078125 0 1 1 0
AmboFrequenza 0,5 0,046875 0,046875 1 10,667 10,667
AmboStorico 0,5 0,046875 0,0390625 1 10,667 12,8
AmboIncrStorico 0,5 0,046875 0,046875 1 10,667 10,667
VerificaEsito 0,3125 0,3203125 0,3046875 1 0,976 1,026
 
R

Roby

Guest
dato che il componente serve per eseguire funzioni statistiche è chiaro che deve poter leggere le estrazioni.
Nel caso di spaziometria le legge direttamente , se lo si volesse usare in altri ambienti le estrazioni andranno lette da un file di testo.


grazie, provo a studiarci sopra per capire qualcosa.
 

Allegati

  • Catturax.JPG
    Catturax.JPG
    78,5 KB · Visite: 0
L

LuigiB

Guest
Ciao ragazzi ,sono content che voi scripter apprezziate :)
Intanto voglio diere che ho visto i vostri test , nello script di test per farlo un po piu veloce
ho impostato la variabile
Codice:
nVoltePerTest = 100

in realta andrebbe impostata ad un valore molto piu alto per risocontrare che questa libreria è piu veloce anche delle funzioni turbo , anche se il test dura qualche minuto il valore andrebbe messo anche a 5000 come dai test fatti da me su archivio tagliato a 6mila estrazioni
comunque la velocita non è l'unica cosa , la cosa buona è che si puo eseguire anche su altri giochi.

Rispondo a Mike :
Questa è una libreria esterna le cui funzioni operano sull'archivio che è stato fornito con la chiamata alla funzione init.
La funzione init deve essere sempre chiamata per prima nello script e va chiamata una volta sola.

Nell'esempio la funzione Init adopera il parametro 1 per usare direttamente l'archivio di spaziometria , ovviamente se l'archivio è aggiornato le funzioni produrranno dati aggiornati ,se si dovesse usare un archivio su file di testo la responsabilità del fatto che l'archivio sia aggiornato dipende da chi lo produce.
Per riassumere la libreria ha sempre bisogno di un archivio , questo puo essere uno degli archivi nativi di spaziometria oppure un fil e di testo con diversi formati di layout.

fatemi sapere per qualsiasi cosa ..
 

Mike58

Advanced Member >PLATINUM PLUS<
HTML:
Rispondo a Mike :
Questa è una libreria esterna le cui funzioni operano sull'archivio che è stato fornito con la chiamata alla funzione init.
La funzione init deve essere sempre chiamata per prima nello script e va chiamata una volta sola.

ok capito non sembra difficile da utilizzare, quello che ancora mi rimane da chiarire sono i diversi formati di layuot, potrebbe voler dire che non ha bisogno dei classici 3 parametri
1 - contatore
2 - data
3 - combinazioni

Ciao Luigi solo questo punto non mi è chiaro.

invece ti metto il resoconto con 1000 di valore a 5000 va in errore
FunzioneTempoVolte piu veloce della lib interna
LibreriaInternaTurboEstenaInternaTurboEstena
EstrattoRitardo0,02343750,031250,0312510,750,75
EstrattoFrequenza4,2968750,47656250,437519,0169,821
EstrattoStorico4,3203130,47656250,437519,0669,875
EstrattoIncrStorico4,3515630,4843750,4687518,9849,283
StatisticaFormazione4,8984380,46093750,421875110,62711,611
RitardoCombinazione0,05468750,03906250,01562511,43,5
SerieRitardo0,05468750,03906250,01562511,43,5
SerieStorico4,7734380,44531250,4296875110,71911,109
SerieFrequenza4,7968750,44531250,4296875110,77211,164
AmboRitardo0,05468750,03906250,023437511,42,333
AmboFrequenza5,06250,47656250,4453125110,62311,368
AmboStorico5,1953130,49218750,4453125110,55611,667
AmboIncrStorico5,3046880,50781250,46875110,44611,317
VerificaEsito3,3984383,43753,03906310,9891,118
 
Ultima modifica:
L

LuigiB

Guest
ciao Mike , si è spiegato nell'help .. il layout puo esere di diversi tipi a seconda del parametro che si passa

Codice:
 Archivi lotto italiano su file di testo
  LottoTxt1 = 5 ' formato csv : NumEstr;Data;Num1;..;..;Num55 (55 numeri ultimi 5 nazionale)
  LottoTxt2 = 6 ' formato csv : Data;NumEstr;Num1;..;..;Num55
  LottoTxt3 = 7 ' formato csv : Data;Num1;..;..;Num55
  LottoTxt4 = 8 ' formato csv : NumEstr;Num1;..;..;Num55
  Archivi su file di testo
  ArchivioTxt1 = 9 ' formato csv : NumEstr;Data;Num1;..;..;Num20 (max 20)
  ArchivioTxt2 = 10 ' formato csv : Data;NumEstr;Num1;..;..;Num20 (max 20)
  ArchivioTxt3 = 11 ' formato csv : Data;Num1;..;..;Num20 (max 20)
  ArchivioTxt4 = 12 ' formato csv : NumEstr;Num1;..;..;Num20 (max 20)
  ArchivioTxt5 = 13 ' formato csv : Num1;..;..;Num20 (max 20)

è chiaro che se lo usi da spaziometria e lavori su lotto , dieci e lotto ecc è inutile usare i file di testo e basta passare il percorso del file delle estrazioni appropriato.
pero la stessa sintassi si puo usare pure su lottodesk in quel caso non potendo leggere l'archivio nativo si deve leggerne una copia in formato txt.
Dai test si evince quanto dicevo .. quuesta libreria è mediamente piu performante. l'errore non saprei forse dipende da range troppo corti archivio bho .. dovrei riprodurlo .. prova a dirmi i parametri che hai usato se te li ricordi (range estrazioni)

ciao
 
Ultima modifica di un moderatore:

Mike58

Advanced Member >PLATINUM PLUS<
BuonGiorno, Luigi, scusa per la mancata risposta ( Ma ero scappato al lavoro Notturno).
Per i parametri avevo usato il tuo script cambiando solo il parametro nvoltepertest = 5000 e cosi va in errore (per esattezza mi dice END o CONTINUA) , non ho cambiato altro, invece con 1000 come da mia prova elabora i dati.

Poi come tutte le cose ci vuole applicazione per farle nostre, un mio pensiero penso che possono venire utili per gli amanti di lotterie varie.

Ciao e di nuovo grazie.

Mike
 

Mike58

Advanced Member >PLATINUM PLUS<
Ciao Claudio, non so a quale Mike ti riferisci, se Miki55 che posta sulla sezione statistica o Io Mike58, ad ogni modo sai che in questo forum non è possibile lo scambio email ed il contatto privato è poco fattibile, mentre in altri forum nei quali anch'io sono iscritto si è contattabili attraverso Mp privati.

Quello di emplein e black..... è uno di quelli.

Anche se io per esperienze in questa forma non sono molto propenso, ma non necessariamente contrario.

Ciao
Mike58
 

claudio8

Premium Member
No Title

X Luigi o chiunque possa darmi una indicazione. Ho dovuto cambiare pc x una rottura del solito....
questo ha una età notevole.. Asus con processore AMD athlon xp... ho scaricato la versione 19 e mi da questo errore, già presente con la 15. Utilizzo sistema operativo windows xp, home edition.
Allego errore. Grazie a Moro per la guida impeccabile, in linea con Spaziometria
 

Allegati

  • photo10646.JPG
    photo10646.JPG
    51,2 KB · Visite: 0
Ultima modifica:

rabberto

Advanced Member
Ciao Claudio sembrerebbe un errore di librerie o dll mancanti , ti metto 5 link con dei file da scaricare e installare , li scarichi li installi e poi riavvia il pc e vedi se il problema si risolve , se non va nemmeno cosi vediamo cosa dice Luigi.

DirectX 9.0c End-User Runtime

https://www.microsoft.com/it-it/download/details.aspx?id=34429

Visual C++ 2005 SP1

https://www.microsoft.com/it-it/download/details.aspx?id=14431

Visual C++ 2008 SP1

https://www.microsoft.com/it-it/download/details.aspx?id=5582

Visual C++ 2010 SP1

https://www.microsoft.com/it-it/download/details.aspx?id=8328 [h=1][/h] Net framework 3.5 SP1

https://www.microsoft.com/it-it/download/details.aspx?id=25150


Non preoccuparti questi file non danneggiano in nessun modo il sistema operativo anzi se mancanti ti serviranno per future installazione di software , ciao.
 
L

LuigiB

Guest
ciao claudio .. secondo me dipende da uno script spefifico ..te lo fa sempre ? Eventualemente posta lo script.
 

silop2005

Advanced Member >PLATINUM<
Ciao Claudio,
anche a me è successo lo stesso errore
non dipende dai scripts
perché adesso mi funzionano di nuovo tutti.

Il problema dovrebbe essere la barra sotto delle estrazioni, forse.
Sembra che gli script non leggono gli archivi del 10elotto serale e 5M
come infatti se clicchi sull'iconcina SPAZIOMETRIA (vicino a archivi paralleli)
e scegli 10elotto o il 5minuti gli archivi sono SCOMPARSI non ti evidenzia niente
vedrai che ti esce lo stesso errore della tua immagine sopra (come è capitato pure a me)

poi ho spostato la barra delle estrazioni,sotto, mettendo dall'inizio archivio (perché avevo 3950)
e dopo un po ho incominciato a rivedere le estrazioni dei due archivi

e gli scripts hanno funzionato di nuovo.

Prova a fare pure tu cosi e... auguri.

Buona giornata a tutti.

Silop;););)
 

claudio8

Premium Member
LuigiB;n1889551 ha scritto:
ciao claudio .. secondo me dipende da uno script spefifico ..te lo fa sempre ? Eventualemente posta lo script.

No Luigi, lo stesso script, gira perfettamente sul portatile che usavo prima e che ora è rotto.(A proposito, qualcuno saprebbe darmi indicazioni su cosa sia meglio fare dopo un rebolling della GPU-scheda video integrata) che non ha retto dopo la riparazione + di 15 giorni?
In pratica elabora lo script, e dà l'output non inserendo la prima riga dello tabella, per cui mi mancano i titoli e contemporaneamente, l'ordinamento viene errato perchè ( penso dipenda dalla funzione stessa) la prima riga dei dati, non viene considerata tale e quindi esclusa dall'ordinamento.
 
Ultima modifica:

claudio8

Premium Member
Luigi, avevi ragione, trovato la soluzione al problema, ..... mancano i font per il testo di "InitTabella" - Call InitTabella (T,1,,1,5,"Calibri"), ho eliminati ,"Calibri" quindi portato il font di defautl a 1. Grazie a tutti.
 
Ultima modifica:
L

LuigiB

Guest
ero certo di qualcosa di simile .. non hai fatto male ad installare ladirectx non c'entranulla con gli script ma se ti vuoi fare due partite a call of duty va bene :) .. a parte gli scherzi tutti quei file vanno comunque aggiornati anche se non sono legati agli script ...ciao
 

silop2005

Advanced Member >PLATINUM<
claudio8;n1889718 ha scritto:
X Silop, grazie, ma non dovrebbe essere un problema come il tuo perchè io leggo perfettamente tutti gli archivi.
=============================
LOGOSILOP.gif
Ciao Claudio,
solo a titolo informativo, come puoi vedere
dall'immagine sotto ho avuto il tuo stesso errore
e l'archivio 10elotto non si vedeva, era scomparso :
stessoERRORE.jpg
poi, come spiegato prima, è tornato tutto alla normalità.
Buona domenica a tutti.
stickman.gif
A presto
Silop ;) ;) ;)
 

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 19 aprile 2024
    Bari
    39
    05
    81
    89
    73
    Cagliari
    56
    21
    01
    90
    03
    Firenze
    05
    56
    68
    27
    09
    Genova
    42
    50
    90
    27
    83
    Milano
    16
    71
    29
    85
    04
    Napoli
    29
    19
    23
    63
    50
    Palermo
    35
    54
    33
    57
    61
    Roma
    17
    29
    43
    55
    74
    Torino
    69
    60
    03
    01
    26
    Venezia
    05
    57
    59
    43
    34
    Nazionale
    30
    43
    64
    65
    21
    Estrazione Simbolotto
    Genova
    02
    20
    25
    12
    19
Alto