Novità

Proviamo a Testare le funzioni script di spazio Light e chiedere delucidazioni sulle difficoltà riscontrate

i legend

Premium Member
Comincio a testare alcune funzioni di Spazio light
ovviamente questo spazio è per tutti coloro che hanno voglia di condividere le loro conoscenze con chi ha voglia d imparare.
essendo un linguaggio nuovo anche per chi si arrabbattava con i vecchi listati il viaggio sarà parecchio interessante.
chi non ha voglia di condividere , può segnalare eventuali bugs anche nel calcolo o nella scrittura delle funzioni, si prega cortesemente di non impiantare discussioni già affrontate in altri 3D .
La critica costruttiva non solo è ben accetta ma anzi richiesta , per tutti le altre si richiede cortesemente di trovare altri spazi se proprio non se ne potesse fare a meno
Grazie a tutti per la collaborazione:
 
Cominciamo con cose molto semplici
se Ci dovessero essere errori o inesattezze nelle dichiarazioni o nell utilizzo si chiede ai Big di correggerci :)
utilizziamo la funzione Scegli ruota e nome ruota
Codice:
Class Script
    Sub Main
        'inserire qui il proprio codice...
        'Dichiaro la variabile e ne dichiaro il Tipo in questo caso integer
        Dim R  As Integer
        ' utilizzo la funzione scegli ruota e Nome Ruota
        r=ScegliRuota  '
        Scrivi (NomeRuota(r,True )) ' il nome viene scritto per esteso
        Scrivi (NomeRuota(r,False)) ' il mone viene espresso come sigla
    End Sub
End Class
 
Ciao Continuiamo i test in ordine di apparizione
sempre script molto semplici
Test AmboPosRit
Codice:
Class Script
    Sub Main
        'inserire qui il proprio codice...
        'Dichiaro la variabile e ne dichiaro il Tipo in questo caso integer
        Dim r  As Integer = ScegliRuota
        Dim idEstr As Integer=EstrazioniArchivio()
        Dim pos As Integer=1
        ' test funzione AmborPosRit ( ci indica in base al ritardo in che  posizione  si trova l ambo
        '
        Scrivi (NomeRuota(r,True )) ' il nome viene scritto per esteso
        Dim aN() As Integer
        ReDim aN(2)
        aN=AmboPosRit (idEstr,r,pos)
        Scrivi (StringaNumeri(aN,,True))
    End Sub
End Class
 
Ultima modifica:
Proviamo ad utilizzare la funzione GetNUmeriRuota ,FormattaSecondi ,e, DataEstrazione
Non so se i parametri sono stati dichiarati correttamente
data estrazione in output restituisce "00:00:00" perchè?
il calcolo di formattasecondi si esegue come in spaziometria?
ecco un altro codice di esempio
.Potrebbero non essere esatti nella composizione
Codice:
Class Script
    Sub Main
        'inserire qui il proprio codice...
        'Dichiaro la variabile e ne dichiaro il Tipo in questo caso integer
        Dim r  As Integer = ScegliRuota
        Dim iniTemp As Decimal=Timer
        Scrivi (NomeRuota(r,True )) ' il nome viene scritto per esteso
        For idEstr As Integer=1 To EstrazioniArchivio()
            Dim aEstr() As Integer
            ReDim aEstr(5)
            Call GetNumeriRuota(idEstr,r,aEstr)
            If aEstr(1)>0 Then Scrivi ( FormatSpace(idEstr,5,1)&" | "& DataEstrazione(idEstr)&" | "&StringaNumeri(aEstr,,True))
        Next
        Dim TempTras As Decimal= Timer  -iniTemp
        Scrivi ( FormattaSecondi(temptras))
    End Sub
End Class
 
Proviamo a fare un mix di tutti gli esempi ?
però prima ho bisogno di saper perchè amboRitPos non calcola tutte le posizioni dell ambo
dal piu ritardatario all ultimo estratto
Domada su pos.png

ciao ;)
 
Proviamo ad utilizzare la funzione GetNUmeriRuota ,FormattaSecondi ,e, DataEstrazione
Non so se i parametri sono stati dichiarati correttamente
data estrazione in output restituisce "00:00:00" perchè?
il calcolo di formattasecondi si esegue come in spaziometria?
ecco un altro codice di esempio
.Potrebbero non essere esatti nella composizione
Codice:
Class Script
    Sub Main
        'inserire qui il proprio codice...
        'Dichiaro la variabile e ne dichiaro il Tipo in questo caso integer
        Dim r  As Integer = ScegliRuota
        Dim iniTemp As Decimal=Timer
        Scrivi (NomeRuota(r,True )) ' il nome viene scritto per esteso
        For idEstr As Integer=1 To EstrazioniArchivio()
            Dim aEstr() As Integer
            ReDim aEstr(5)
            Call GetNumeriRuota(idEstr,r,aEstr)
            If aEstr(1)>0 Then Scrivi ( FormatSpace(idEstr,5,1)&" | "& DataEstrazione(idEstr)&" | "&StringaNumeri(aEstr,,True))
        Next
        Dim TempTras As Decimal= Timer  -iniTemp
        Scrivi ( FormattaSecondi(temptras))
    End Sub
End Class

Ciao Legend , prima di tutto ti ringrazio ... era proprio quell oche ti chiedevo , se poi salvi questi esempi anche come script in una cartelal poi li distribuiamo col programma

il tuo script va leggermente modificato , nella data aggiunge anche l'orario è quello che sta a 0 .. ora faremo in modo che restituisca la data senza l'orario.
Non è necessario calcolare i secondi c'è la funzione SecondiTrascorsi , la quale ha un parametro opzionale.
Questo parametro è uan data vailida se viene passato il calcolo dei secondi trascorsi si fa da quelal data senno se non viene passato cacloa automaticamente dall'inizio dell'esecuzione

Codice:
Class Script
    Sub Main
        'inserire qui il proprio codice...
        'Dichiaro la variabile e ne dichiaro il Tipo in questo caso integer
        Dim r  As Integer = ScegliRuota
        Scrivi (NomeRuota(r,True )) ' il nome viene scritto per esteso
        For idEstr As Integer=1 To EstrazioniArchivio()
            Dim aEstr() As Integer
            ReDim aEstr(5)
            Call GetNumeriRuota(idEstr,r,aEstr)
            If aEstr(1)>0 Then Scrivi ( FormatSpace(idEstr,5,1)&" | "& DataEstrazione(idEstr) &" | "&StringaNumeri(aEstr,,True))
        Next
        Scrivi ( FormattaSecondi(SecondiTrascorsi))
    End Sub
End Class
 
grazie a te :)
sto provando le funzioni messaggio , avanzamentoelab, e messaggio lista , ma come l ho inserito è sbagliato
su messaggio non riesco a concatenare le stringhe , su messaggio lista va in loop ( ma sicuramente non va usato li )
ecco lo script errato , con la restituzione degli errori
Codice:
Class Script
    ' questo script non funziona mette in evidenza gli errori che faccio nella compilazione
    Sub Main
        'inserire qui il proprio codice...
        'Dichiaro la variabile e ne dichiaro il Tipo in questo caso integer
        Dim r  As Integer =1' ScegliRuota
        Dim sRu As String=NomeRuota(r,False )
        Scrivi (sRu,false) ' il nome viene scritto per esteso
        For idEstr As Integer=1 To EstrazioniArchivio()
            Dim aEstr() As Integer
            ReDim aEstr(5)
            Call GetNumeriRuota(idEstr,r,aEstr)
            If aEstr(1)>0 Then Scrivi ( FormatSpace(idEstr,5,1)&" | "& DataEstrazione(idEstr)&" | "&StringaNumeri(aEstr,,True))
            'Call Messaggio(sRu  ) ' funziona correttamente
            Call Messaggio(idEstr&" | "& sRu)  ' questo da errore
            ' Call MessaggioLista("Sto cscrivendo le estrazioni sulla ruota di : ",1) ' la funzione inserita in questo blocco non funzia
            Call AvanzamentoElab(1,EstrazioniArchivio(),idEstr)
        Next
        ' la funzione secondi trascorsi non tiene conto del rempo che si perde nella scelta dei dati in input , ossia non calcola effettivamente il tempo del calcolo della routine
        Scrivi ( FormattaSecondi(SecondiTrascorsi))
    End Sub
End Class
 
ok Luigi tutti i test compilati correttamente li inserisco in una cartella e poi mi spieghi cosa ci devo fare :ROFLMAO: , magari basta semplicemente postarla :)
 
per amboposrit ho corretto ma devi prendere l'ultima versione
Niente di speciale questi script quando li fai salvali su una cartella tua fuori dal programma , poi me li dai e li distribuiamo insieme al programma.


Codice:
Class Script
    Sub Main
        Dim idEstr As Integer =  EstrazioniArchivio
        Dim aNumeri() As Integer
        For k As Integer = 1 To 4005
            aNumeri = AmboPosRit(idEstr, 1, k)
            Scrivi( StringaNumeri(aNumeri) & " Ritardo " &  AmboRitardo(aNumeri(1), aNumeri(2), 1, idEstr))
        Next
    End Sub
End Class
 
grazie a te :)
sto provando le funzioni messaggio , avanzamentoelab, e messaggio lista , ma come l ho inserito è sbagliato
su messaggio non riesco a concatenare le stringhe , su messaggio lista va in loop ( ma sicuramente non va usato li )
ecco lo script errato , con la restituzione degli errori
Codice:
Class Script
    ' questo script non funziona mette in evidenza gli errori che faccio nella compilazione
    Sub Main
        'inserire qui il proprio codice...
        'Dichiaro la variabile e ne dichiaro il Tipo in questo caso integer
        Dim r  As Integer =1' ScegliRuota
        Dim sRu As String=NomeRuota(r,False )
        Scrivi (sRu,false) ' il nome viene scritto per esteso
        For idEstr As Integer=1 To EstrazioniArchivio()
            Dim aEstr() As Integer
            ReDim aEstr(5)
            Call GetNumeriRuota(idEstr,r,aEstr)
            If aEstr(1)>0 Then Scrivi ( FormatSpace(idEstr,5,1)&" | "& DataEstrazione(idEstr)&" | "&StringaNumeri(aEstr,,True))
            'Call Messaggio(sRu  ) ' funziona correttamente
            Call Messaggio(idEstr&" | "& sRu)  ' questo da errore
            ' Call MessaggioLista("Sto cscrivendo le estrazioni sulla ruota di : ",1) ' la funzione inserita in questo blocco non funzia
            Call AvanzamentoElab(1,EstrazioniArchivio(),idEstr)
        Next
        ' la funzione secondi trascorsi non tiene conto del rempo che si perde nella scelta dei dati in input , ossia non calcola effettivamente il tempo del calcolo della routine
        Scrivi ( FormattaSecondi(SecondiTrascorsi))
    End Sub
End Class


qui non c'eran oerrori del programma ma tuoi :-)
Ti ho messo anche scriptinterrotto perche messaggiolista rallenta molto e va usato con parsimonia, quindi diamo la possibilita di interrompere.


Codice:
Class Script
    ' questo script non funziona mette in evidenza gli errori che faccio nella compilazione
    Sub Main
        'inserire qui il proprio codice...
        'Dichiaro la variabile e ne dichiaro il Tipo in questo caso integer
        Dim r  As Integer =1' ScegliRuota
        Dim sRu As String=NomeRuota(r,False )
        Scrivi (sRu,False) ' il nome viene scritto per esteso
        For idEstr As Integer=1 To EstrazioniArchivio()
            Dim aEstr() As Integer
            ReDim aEstr(5)
            Call GetNumeriRuota(idEstr,r,aEstr)
            If aEstr(1)>0 Then Scrivi ( FormatSpace(idEstr,5,1)&" | "& DataEstrazione(idEstr)&" | "&StringaNumeri(aEstr,,True))
            'Call Messaggio(sRu  ) ' funziona correttamente
            Call Messaggio(idEstr & " | " &  sRu)  ' questo da errore
            Call MessaggioLista("Sto cscrivendo le estrazioni sulla ruota di : " & sru , ColoreRosso) ' la funzione inserita in questo blocco non funzia
            Call AvanzamentoElab(1,EstrazioniArchivio(),idEstr)
            If ScriptInterrotto Then Exit For 
        Next
        ' la funzione secondi trascorsi non tiene conto del rempo che si perde nella scelta dei dati in input , ossia non calcola effettivamente il tempo del calcolo della routine
        Scrivi ( FormattaSecondi(SecondiTrascorsi))
    End Sub
End Class
 
per amboposrit ho corretto ma devi prendere l'ultima versione
Niente di speciale questi script quando li fai salvali su una cartella tua fuori dal programma , poi me li dai e li distribuiamo insieme al programma.


Codice:
Class Script
    Sub Main
        Dim idEstr As Integer =  EstrazioniArchivio
        Dim aNumeri() As Integer
        For k As Integer = 1 To 4005
            aNumeri = AmboPosRit(idEstr, 1, k)
            Scrivi( StringaNumeri(aNumeri) & " Ritardo " &  AmboRitardo(aNumeri(1), aNumeri(2), 1, idEstr))
        Next
    End Sub
End Class
Questa l hai riscritta in toto. In spaziometria era lenta ,poi molto più veloce , questa è una scheggia.🤣
Ora continuo a divertirmi ancora un po:)
 
ciao Luigi , non ho capito dove sbagliavo però :(
ecco la funzione amboRitPos con la possibilità di scegliere le ruote su cui effettuare la ricerca
viene per l appunto utilizzata la funzione scegli ruote e scrivi ruote
per cui dedicherò un test specifico per tutti
Codice:
Class Script
    Sub Main
        Dim idEstr As Integer =  EstrazioniArchivio
        Dim aNumeri() As Integer
        ' Dichiaro l array che conterrà le ruote da analizzare
        Dim aRu() As Integer
        Call ScegliRuote(aRu)  ' lista Ruote
        Dim iniElab As Decimal=Timer
        Scrivi ( ArrayRuoteToString(aRu,True,"-"))  ' funzione che scrive le ruote selezionate
        For k As Integer = 1 To 4005
            aNumeri = AmboPosRit(idEstr, aRu, k)
            Scrivi( StringaNumeri(aNumeri) & " Ritardo " &  AmboRitardo(aNumeri(1), aNumeri(2), aRu, idEstr))
        Next
        Dim finElab As Decimal=Timer-iniElab
        Scrivi (FormattaSecondi(finElab))
    End Sub
End Class
 
test ScegliRuote
Codice:
Class Script
    Sub Main
        
        ' Dichiaro l array che conterrà le ruote da analizzare
        Dim aRu() As Integer
        Call ScegliRuote(aRu)  ' lista Ruote
        Scrivi ( ArrayRuoteToString(aRu,True,"-"))  ' funzione che scrive le ruote selezionate
        
    End Sub
End Class
 
ciao Luigi , non ho capito dove sbagliavo però :(
ecco la funzione amboRitPos con la possibilità di scegliere le ruote su cui effettuare la ricerca
viene per l appunto utilizzata la funzione scegli ruote e scrivi ruote
per cui dedicherò un test specifico per tutti
Codice:
Class Script
    Sub Main
        Dim idEstr As Integer =  EstrazioniArchivio
        Dim aNumeri() As Integer
        ' Dichiaro l array che conterrà le ruote da analizzare
        Dim aRu() As Integer
        Call ScegliRuote(aRu)  ' lista Ruote
        Dim iniElab As Decimal=Timer
        Scrivi ( ArrayRuoteToString(aRu,True,"-"))  ' funzione che scrive le ruote selezionate
        For k As Integer = 1 To 4005
            aNumeri = AmboPosRit(idEstr, aRu, k)
            Scrivi( StringaNumeri(aNumeri) & " Ritardo " &  AmboRitardo(aNumeri(1), aNumeri(2), aRu, idEstr))
        Next
        Dim finElab As Decimal=Timer-iniElab
        Scrivi (FormattaSecondi(finElab))
    End Sub
End Class

Ciao Legend come fece notare qualcuno ai tempi di spaziometria se inizi lo script a mezzanotte ,meno un minuto e lo finisci il giorno dopo a mezzanotte e un minuto il tempo trascorso cacolato usando timer è è errato in quanto timer si azzera alla mezza notte.
Usa SecondiTrascorsi.
 
ciao test scrivi e utilizzo dei colori
testata la funzione scrivi, notato che la dimensione non viene accettata
Codice:
Class Script
    Sub Main
        'inserire qui il proprio codice...
        Dim aCol() As Integer ={ColoreBlu,ColoreGiallo,ColoreMagenta,ColoreNero,ColoreRosa,ColoreRosso,ColoreVerde}
        Dim i ,j As Byte
        j=aCol.getupperbound(0)
        For i=1 To (aCol.getupperbound(0))
            
            Scrivi ("Hello world ",0,,aCol(i),aCol(j),4,"CONSOLAS") ' non funzia la dimensione
            j-=1
        Next
    End Sub
End Class
 
legend
se ti va potresti ,vedere questo script,non riesco ad andare avanti,il "solito" ambo spia su ruota che trova ambate e abbinamenti su due ruote,sembra di aver fatto una "accozzaglia"
Class Script
Sub Main()
Dim aMatrice ( ,)
Dim riga As String
Dim Ambata(90,2)
Dim Abb(90,2)
Dim Capogioco(90) As Integer
Dim es, p1, p2, c, n, ps, r, a As Integer
Dim ContaCasi As Integer = 0
Dim aruote As Integer
Dim Spia1 As Integer
Dim Spia2 As Integer
Dim casi As Integer
Dim r1 As Integer
Dim r2 As Integer
Dim colpi As Integer
Dim TotAmbate As Integer
Dim TotAbb As Integer
Dim ruot As Integer
Dim Inizio As Integer = EstrazioniArchivio -1000
Dim fine As Integer = EstrazioniArchivio
ruot = Input("Ruota della Spiata",,4)
Spia1 = InputBox( " 1 numero ambo spia ",,1)
Spia2 = InputBox( " 2 numro ambo spia ",,21)
casi = InputBox( "casi da esaminare ",,11)
r1 = InputBox( "Quale Ruota vrifivs1",,1)
r2 = InputBox( "Quale Ruota verifica 2",,2)
colpi = InputBox( "colpi di Verifica ",,12)
TotAmbate= Input("Quante Ambate Vuoi Trovare ?",,2)
TotAbb = Input("Quanti Abbinamenti Vuoi trovare ?",,10)
For a=1 To 90
Ambata(a,1) = a
Abb(a,1) = a
Next
For es = Fine To Inizio Step -1
AvanzamentoElab(Inizio, Fine)
For p1 = 1 To 4
For p2 = p1+1 To 5
If Estratto(es,ruot,p1) = Spia1 And Estratto(es,ruot,p2)= Spia2 Or Estratto(es,ruot,p1) = Spia2 And Estratto(es,ruot,p2) = Spia1 Then
ContaCasi +=1
Dim sortito(90) As Byte
For c = (es+1) To (es+Colpi)
If c > Fine Then Exit For
For r = 1 To 11
If r = r1 Or r = r2 Then
For ps = 1 To 5
n = Estratto(c,r,ps)
sortito(n)=1
Next
End If
Next
Next
For c = 1 To 90
Ambata(c,2) += sortito(c)
Next
End If
Next
Next
If ContaCasi=casi Then Exit For
Next
' vogliamo ordinalre la matrice decrescente per le colonne 1 e 2
Dim aColPerOrdinamento (1) As Integer
aColPerOrdinamento ( 0) = 1
aColPerOrdinamento ( 1) = 2
Dim aVerso (1) As Integer ' verso decrescente per tutte e due le colonne
aVerso(0) = -1
aVerso (1) = -1
OrdinaMatrice( aMatrice ,aColPerOrdinamento ,aVerso ,1) ' sic
For a = 1 To TotAmbate
Capogioco(Ambata(a,1)) = 1
Next
ContaCasi = 0
For es = Fine To Inizio Step -1
For p1 = 1 To 4
For p2 = p1+1 To 5
If Estratto(es,ruot,p1) = Spia1 And Estratto(es,ruot,p2)= Spia2 Or Estratto(es,ruot,p1) = Spia2 And Estratto(es,ruot,p2) = Spia1 Then
ContaCasi +=1
For c = (es+1) To (es+Colpi)
If c > Fine Then Exit For
For r = 1 To 11
If r = r1 Or r = r2 Then
Dim capoOk As Boolean=False
For ps = 1 To 5
n = Estratto(c,r,ps)
If Capogioco(n)=1 Then capoOk=True
Next
If capoOk Then
For ps = 1 To 5
n = Estratto(c,r,ps)
If Capogioco(n)=0 Then Abb(n,2) += 1
Next
End If
End If
Next
Next
End If
Next
Next
If ContaCasi=casi Then Exit For
Next
Dim aColPerOrdinamento (1) As Integer
aColPerOrdinamento ( 0) = 1
aColPerOrdinamento ( 1) = 2
Dim aVerso (1) As Integer ' verso decrescente per tutte e due le colonne
aVerso(0) = -1
aVerso (1) = -1
OrdinaMatrice( aMatrice ,aColPerOrdinamento ,aVerso ,1) ' sic

Dim T() As String = {" CASI TROVATI "," RUOTA SPIA ", " AMBO SPIA "," RUOTE DI VERIFICA ", " colpi "," ambata "," presenza/ casi "," abbinamenti "," PRESENZE/CASI " }
InitTabella(T ,ColoreBlu,,,ColoreBianco)
For a = 1 To TotAmbate '
(Ambata(a,1))=a
'(Ambata(a,2))&"/"& Format2(Contacasi))
Next
For c = 1 To TotAbb
'(c))
(Abb(c,1))=c
'(Abb(c,2))&"/"& Format2(Contacasi))
Next
Dim V () As String
ReDim V (T.GetUpperbound(0))
V(0) = ncasi
V(1) = NomeRuota(ruot) ' ìruota spiata
V(2) = Spia1 & Spia2
V(3) = NomeRuota(r1) &NomeRuota(r2)
V(4) = colpi
V(5) = Ambata(a,1)
V(6) = (Ambata(a,2))&"/"& Format2(Contacasi))
V(7) = Abb(c,1)
V(8) = (Abb(c,2))&"/"& Format2(Contacasi))
Call AddRigaTabella(V)
'Scrivi (n & vbTab & riga)
riga = ""
Call CreaTabella()
End Sub
End Class
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 21 novembre 2024
    Bari
    06
    79
    30
    52
    15
    Cagliari
    03
    85
    61
    44
    25
    Firenze
    30
    76
    84
    34
    13
    Genova
    39
    63
    06
    50
    81
    Milano
    01
    34
    78
    86
    36
    Napoli
    63
    51
    82
    61
    07
    Palermo
    11
    66
    09
    59
    34
    Roma
    15
    26
    32
    38
    89
    Torino
    38
    43
    77
    33
    42
    Venezia
    76
    60
    78
    47
    31
    Nazionale
    85
    83
    79
    12
    51
    Estrazione Simbolotto
    Torino
    31
    38
    42
    06
    10
Indietro
Alto