Novità

SpazioLight.net

Ciao. Ho lanciato qualche riga di codice (non il pc:)).
Volutamente ho dichiarato un array con pochi elementi ma ne ho fatti scorrere due in più. Nonostante avessi messo un blocco si è aperta una form che non riesco a chiudere se non uscendo dal programma.
Se rilancio lo script con il medesimo errore si apre un altra finestra così ne restano aperte 2.

Ho notato , ma devo fare il confronto con i tempi che è più veloce di spaziometria:).
Bravissimi.
Un po di prove per assimilare e prendere confidenza con il nuovo linguaggio sono necessarie :)
Grazie di tutto :)
 
Domandona
Dim a as byte
Dim a,b,c as byte
Considere tutte le variabili as byte o sola la c e le altre varianti?
Prendere confidenza con gli array e la loro dichiarazione è d obbligo.
Abbiamo da studiare :)
 
Domandona
Dim a as byte
Dim a,b,c as byte
Considere tutte le variabili as byte o sola la c e le altre varianti?
Prendere confidenza con gli array e la loro dichiarazione è d obbligo.
Abbiamo da studiare :)
Dim a,b,c as byte sono tutte considerate byte.
Ricorda i Legend che in VB.net non si può più dichiarare direttamente attraverso l'istruzione ReDim
Esempio:
Codice:
Dim lamiavariabile () As Integer

ReDim lamiavariabile(90)



Oppure



Dim lamiavariabile (90) as integer



Questo è giusto

----------------------------------------

ReDim lamiavariabile (90)

 

Questo genera errore
 
Carissimo Prof , Luigi, Edoardo, dobbiamo cominciare a chiedere.
Ho uno script in vbscript che cerca un ambo sincrono di ritardo su 2 ruote e in vbscript impiega circa 43 sec con anche ordine ritardo decrescente di ordinamatrice.
Volevo riportare il costrutto script in vbnet ma alcune cose non mi riescono causa errori di vario genere.
## lo script calcola il ritardo alla -1 estrazioneFine cosi, per capire se alla estrazione Fine.ultima si verifica qualche sortita ##
## allego script di mio costrutto ##

P.s il Verificasito vuole la ruota as object e non il vettore Ruote() ????

## aiuto ##

Codice:
Class Script
Sub Main
    # If infoScript Then
    Cerca ambo uguale con stesso Ritardo su 2 Ruote
    ....................................
    ....By Mike58 SpazioLight 1.0.8 ....
    # End If
    Dim nu(2) As Integer
    Dim Mat(4005,4) As Integer
    Dim Ini As Integer  = 1'EstrazioneIni
    Dim fin As Integer  = EstrazioniArchivio - 1
    Dim fine As Integer = EstrazioniArchivio
    Dim n1,n2,a,b,k , x  As Integer
    Dim r1,r2 , ru(2) As Integer
    Dim colpoR1 , colpoR2  As Integer
    Dim  SortitaR1 , SortitaR2    As String
    'ResetTimer
    For r1 = 1 To 10
        For r2 = r1 + 1 To 11
            'If r2 = 11 Then r2 = 12
            For n1 = 1 To 89
                For n2 = n1 + 1 To 90
                    a = AmboRitardo (n1,n2,r1,fin)
                    b = AmboRitardo (n1,n2,r2,fin)
                    If a = b And a > 400 Then
                        k =+1
                        ru(1) = r1 : ru(2) = r2
                        nu(1) = n1 : nu(2) = n2
                        Call VerificaEsito (nu,r1,2,fine,Nothing,colpoR1,SortitaR1 )
                        Call VerificaEsito (nu,r2,2,fine,Nothing,colpoR2,SortitaR2 )
                        'Call VerificaEsito (nu,ru,2,fine,Nothing,colpoR3,SortitaR3 )
                        Mat(k,1) = StringaNumeri(nu)
                        Mat(k,2) = ru(1) & ru(2)
                        Mat(k,3) = a
                        Mat(k,4) = "-" 'Sortita
                    End If
                Next
            Next
        Next
    Next
    'Call OrdinaMatrice (Mat,- 1,3)
    For x = 1 To k
        Scrivi (x & vbTab & Mat(x,1) & vbTab & Mat(x,2) & vbTab & Mat(x,3) & vbTab & Mat(x,4))
    Next
    'Scrivi
    'Scrivi "Tempo di Elaborazione : " & TempoTrascorso
    'inserire qui il proprio codice...
End Sub
End Class
 
Nel caso lo script in vbscript per SpazioMetria

Codice:
Sub Main
'Ambo Sincrono 2 ruote - 27-3-2021
Dim ru(2),nu(2),Mat(4005,7)
  Ini = EstrazioneIni
  fin = EstrazioneFin - 1
  fine = EstrazioneFin
  ResetTimer
  For r1 = 1 To 10
  For r2 = r1 + 1 To 12
  If r2 = 11 Then r2 = 12
  For n1 = 1 To 89
  For n2 = n1 + 1 To 90
  a = AmboRitardoTurbo(r1,n1,n2,Ini,fin)
  b = AmboRitardoTurbo(r2,n1,n2,Ini,fin)
  If a = b And a > 400 Then
  k = k + 1
  ru(1) = r1 : ru(2) = r2
  nu(1) = n1 : nu(2) = n2
  Call StatisticaFormazioneTurbo(nu,ru,2,rit,max,Incr,fre,Ini,fin)
  Call VerificaEsitoTurbo(nu,ru,fine,2,1,,esito,,esa)
  If esito = "" Then rit = rit + 1
 
  'Scrivi n1 & "." & n2 & vbTab & StringaRuote(ru) & vbTab & a
  'Mat(k,1) = k
  Mat(k,1) = StringaNumeri(nu)
  Mat(k,2) = StringaRuote(ru)
  Mat(k,3) = rit
  Mat(k,4) = esa
  Mat(k,5) = max
  Mat(k,6) = Incr
  Mat(k,7) = fre
  End If
  Next
  Next
  Next
  Next
  Call OrdinaMatriceTurbo(Mat,- 1,3)
  For x = 1 To k
  Scrivi x & vbTab & Mat(x,1) & vbTab & Mat(x,2) & vbTab & Mat(x,3) & vbTab & Mat(x,4) & vbTab & Mat(x,5) & vbTab & Mat(x,6) & vbTab & Mat(x,7)
  Next
  Scrivi
  Scrivi "Tempo di Elaborazione : " & TempoTrascorso
 
 
End Sub
 
quando è object pupo passare o un valore solo con una semplice variabile , oppure puoi passare l'array
 
Nel caso lo script in vbscript per SpazioMetria

Codice:
Sub Main
'Ambo Sincrono 2 ruote - 27-3-2021
Dim ru(2),nu(2),Mat(4005,7)
  Ini = EstrazioneIni
  fin = EstrazioneFin - 1
  fine = EstrazioneFin
  ResetTimer
  For r1 = 1 To 10
  For r2 = r1 + 1 To 12
  If r2 = 11 Then r2 = 12
  For n1 = 1 To 89
  For n2 = n1 + 1 To 90
  a = AmboRitardoTurbo(r1,n1,n2,Ini,fin)
  b = AmboRitardoTurbo(r2,n1,n2,Ini,fin)
  If a = b And a > 400 Then
  k = k + 1
  ru(1) = r1 : ru(2) = r2
  nu(1) = n1 : nu(2) = n2
  Call StatisticaFormazioneTurbo(nu,ru,2,rit,max,Incr,fre,Ini,fin)
  Call VerificaEsitoTurbo(nu,ru,fine,2,1,,esito,,esa)
  If esito = "" Then rit = rit + 1
 
  'Scrivi n1 & "." & n2 & vbTab & StringaRuote(ru) & vbTab & a
  'Mat(k,1) = k
  Mat(k,1) = StringaNumeri(nu)
  Mat(k,2) = StringaRuote(ru)
  Mat(k,3) = rit
  Mat(k,4) = esa
  Mat(k,5) = max
  Mat(k,6) = Incr
  Mat(k,7) = fre
  End If
  Next
  Next
  Next
  Next
  Call OrdinaMatriceTurbo(Mat,- 1,3)
  For x = 1 To k
  Scrivi x & vbTab & Mat(x,1) & vbTab & Mat(x,2) & vbTab & Mat(x,3) & vbTab & Mat(x,4) & vbTab & Mat(x,5) & vbTab & Mat(x,6) & vbTab & Mat(x,7)
  Next
  Scrivi
  Scrivi "Tempo di Elaborazione : " & TempoTrascorso
 
 
End Sub
Sono da telefono quindi perdona eventuali anomalie. Non so il fine ultimo del tuo script quindi non posso assicurare i risultati ma dovrebbe essere così:

Codice:
Class Script
Sub Main
    Dim a,b,k As Integer
    Dim ru(2) As Integer
    Dim nu(2) As Integer
    Dim Mat(4005,5) As Integer
    Dim ini As Integer = 1
    Dim fin As Integer = EstrazioniArchivio - 1
    Dim fine As Integer = EstrazioniArchivio
    Dim nSorte As Integer = 2
    Dim Ritardo,RitardoMax,IncrRitMax,Frequenza As Integer
    Dim esito() As String
    For r1 As Integer = 1 To 10
        For r2 As Integer = r1 + 1 To 11
            For n1 As Integer = 1 To 89
                For n2 As Integer = n1 + 1 To 89
                    a = AmboRitardo(n1,n2,r1,fin)
                    b = AmboRitardo(n1,n2,r2,fin)
                    If a = b And a > 400 Then
                        k +=1
                        ru(1) = r1 : ru(2) = r2
                        nu(1) = n1 : nu(2) = n2
                        Call SerieStat(nu,ru,nSorte,Ritardo,RitardoMax,Frequenza,,IncrRitMax,ini,fine)
                        Call VerificaEsito(nu,ru,nSorte,fine,,,esito)
                        For x As Integer = 1 To esito.getupperbound(0)
                            If esito(x) = "" Then Ritardo += 1
                        Next
                        Mat(k,1) = StringaNumeri(nu)
                        Mat(k,2) = Ritardo
                        Mat(k,3) = RitardoMax
                        Mat(k,4) = IncrRitMax
                        Mat(k,5) = Frequenza
                    End If
                Next
            Next
        Next
    Next
   For x As Integer  = 1 To k
      Scrivi (x & vbTab & Mat(x,1) & vbTab & Mat(x,2) & vbTab & Mat(x,3) & vbTab & Mat(x,4) & vbTab & Mat(x,5))
   Next
End Sub
End Class
 
Un saluto a tutti, grandissimi Edo e Luigi è normale che Norton mi segnali il programma e due sue .lib come potenzialmente molto nocivi e che me li rimuova sempre...? :unsure: Mi tocca sempre ripristinarli dalla quarantena dove me li manda in automatico... ogni volta che installo una nuova versione👋:)

Qui sotto uno dei tre errori che mi mostra di solito...

unodeitreerrorichemimostradisolito.jpg
 
Ultima modifica:
il tuo script mike diventa cosi , attenzione che se dichiari la matrice integer poi dentro non ci puoi scrivere stringhe , per consentire la possibilita di scrivere sia stringhe che numeri devi usare object.

questo il tuo script che funziona con la mia versioen appena Edoardo pubblica provalo

Codice:
Class Script
Sub Main
    Dim a,b,k As Integer
    Dim ru(2) As Integer
    Dim nu(2) As Integer
    Dim Mat(4005,5) As Object
    Dim ini As Integer = 1
    Dim fin As Integer = EstrazioniArchivio - 1
    Dim fine As Integer = EstrazioniArchivio
    Dim nSorte As Integer = 2
    Dim Ritardo ,RitardoMax,IncrRitMax,Frequenza As Integer
    Dim esito() As String
    For r1 As Integer = 1 To 10
        For r2 As Integer = r1 + 1 To 11
            For n1 As Integer = 1 To 89
                For n2 As Integer = n1 + 1 To 89
                    a = AmboRitardo(n1,n2,r1,fin)
                    b = AmboRitardo(n1,n2,r2,fin)
                    If a = b And a > 400 Then
                        k +=1
                        ru(1) = r1 : ru(2) = r2
                        nu(1) = n1 : nu(2) = n2
                        Call SerieStat(nu,ru,nSorte,Ritardo,RitardoMax,Frequenza,,IncrRitMax,ini,fine)
                        If VerificaEsito(nu,ru,nSorte,fine,,,esito) = False  Then
                      
                           
                        
                            Ritardo += 1
                        End If

                            Mat(k,1) = StringaNumeri(nu)
                            Mat(k,2) = Ritardo
                            Mat(k,3) = RitardoMax
                            Mat(k,4) = IncrRitMax
                            Mat(k,5) = Frequenza

                    End If
                Next
            Next
        Next
        Call AvanzamentoElab(1 ,10 ,r1)

    Next

   For x As Integer  = 1 To k
      Scrivi (x & vbTab & Mat(x,1) & vbTab & Mat(x,2) & vbTab & Mat(x,3) & vbTab & Mat(x,4) & vbTab & Mat(x,5))
   Next
End Sub
End Class

non so se faccia quell oche vuoi pero almeno tira fuori un output , i ltuo dava errore .. nel caso correggi la logica..
 
Aggiornamento 1.0.9

Cambiamenti:

- risolte alcune anomalie sezione script
- risolti alcuni bug generici alle finestre del software
-inserito tasto inverti selezione barre inferiore ruote.
-risolto bug ruote separate quando si selezionavano tutte le ruote più (TT)

 
Inoltre, visto le difficoltà nel tipizzare le variabili, abbiamo fatto una mini guida iniziale. Se usciranno ulteriori perplessità procederò nel creare ulteriori mini guide, le quali, prima di essere pubblicate, verranno visionate da LuigiB.

 
il tuo script mike diventa cosi , attenzione che se dichiari la matrice integer poi dentro non ci puoi scrivere stringhe , per consentire la possibilita di scrivere sia stringhe che numeri devi usare object.

questo il tuo script che funziona con la mia versioen appena Edoardo pubblica provalo

Codice:
Class Script
Sub Main
    Dim a,b,k As Integer
    Dim ru(2) As Integer
    Dim nu(2) As Integer
    Dim Mat(4005,5) As Object
    Dim ini As Integer = 1
    Dim fin As Integer = EstrazioniArchivio - 1
    Dim fine As Integer = EstrazioniArchivio
    Dim nSorte As Integer = 2
    Dim Ritardo ,RitardoMax,IncrRitMax,Frequenza As Integer
    Dim esito() As String
    For r1 As Integer = 1 To 10
        For r2 As Integer = r1 + 1 To 11
            For n1 As Integer = 1 To 89
                For n2 As Integer = n1 + 1 To 89
                    a = AmboRitardo(n1,n2,r1,fin)
                    b = AmboRitardo(n1,n2,r2,fin)
                    If a = b And a > 400 Then
                        k +=1
                        ru(1) = r1 : ru(2) = r2
                        nu(1) = n1 : nu(2) = n2
                        Call SerieStat(nu,ru,nSorte,Ritardo,RitardoMax,Frequenza,,IncrRitMax,ini,fine)
                        If VerificaEsito(nu,ru,nSorte,fine,,,esito) = False  Then
                     
                          
                       
                            Ritardo += 1
                        End If

                            Mat(k,1) = StringaNumeri(nu)
                            Mat(k,2) = Ritardo
                            Mat(k,3) = RitardoMax
                            Mat(k,4) = IncrRitMax
                            Mat(k,5) = Frequenza

                    End If
                Next
            Next
        Next
        Call AvanzamentoElab(1 ,10 ,r1)

    Next

   For x As Integer  = 1 To k
      Scrivi (x & vbTab & Mat(x,1) & vbTab & Mat(x,2) & vbTab & Mat(x,3) & vbTab & Mat(x,4) & vbTab & Mat(x,5))
   Next
End Sub
End Class

non so se faccia quell oche vuoi pero almeno tira fuori un output , i ltuo dava errore .. nel caso correggi la logica..
Lo script funziona (manca ordinamatrice del ritardo decrescente, ma i dati non sono combacianti con lo script vbscript post #285.
allego immagine
 
scusa Luigi i dati sono corretti manca solo l'ordina matrice (mi sono confuso 28.68 con 22.68)

Solo questo codice cosa dice
For x As Integer = 1 To esito.getupperbound(0)
lo vedi spesso usato anche per le tabelle ?
 
getuppperbound è la stessa cosa di ubound , torna l'indice piu alto dell'array , volendo puoi usare anche ubound
esito è un array che riporta il primo esito trovato su una o piu ruote ma comunque nella stessa estrazione, ma se verificaesito non torna true
quell'array saraà vuoto
 
ringrazio,Mike e LUigi che hanno aperto le danze
sono riuscito a mettere anche le ruote;):ROFLMAO:
Class Script
Sub Main
Dim a,b,k As Integer
Dim ru(2) As Integer
Dim nu(2) As Integer
Dim Mat(4005,7) As Object
Dim ini As Integer = 1
Dim fin As Integer = EstrazioniArchivio - 1
Dim fine As Integer = EstrazioniArchivio
Dim nSorte As Integer = 2
Dim Ritardo ,RitardoMax,IncrRitMax,Frequenza As Integer
Dim esito() As String
For r1 As Integer = 1 To 10
For r2 As Integer = r1 + 1 To 11
If r2 =11 Then r2=12

For n1 As Integer = 1 To 89
For n2 As Integer = n1 + 1 To 89
a = AmboRitardo(n1,n2,r1,fin)
b = AmboRitardo(n1,n2,r2,fin)
If a = b And a > 400 Then
k +=1
ru(1) = r1 : ru(2) = r2
nu(1) = n1 : nu(2) = n2
Call SerieStat(nu,ru,nSorte,Ritardo,RitardoMax,Frequenza,,IncrRitMax,ini,fine)
If VerificaEsito(nu,ru,nSorte,fine,,,esito) = False Then


Ritardo += 1
End If

Mat(k,1) = StringaNumeri(nu)
Mat(k,2) = Ritardo
Mat(k,3) = RitardoMax
Mat(k,4) = IncrRitMax
Mat(k,5) = Frequenza
Mat(k,6) = NomeRuota(r1)
Mat(k,7) = NomeRuota(r2)


End If
Next
Next
Next
Call AvanzamentoElab(1 ,10 ,r1)

Next

For x As Integer = 1 To k
Scrivi (x & vbTab & Mat(x,1) & vbTab & Mat(x,2) & vbTab & Mat(x,3) & vbTab & Mat(x,4) & vbTab & Mat(x,5)& vbTab & Mat(x,6)& " ,"& Mat(x,7))
Next
End Sub
End Class
 
Un saluto a tutti, grandissimi Edo e Luigi è normale che Norton mi segnali il programma e due sue .lib come potenzialmente molto nocivi e che me li rimuova sempre...? :unsure: Mi tocca sempre ripristinarli dalla quarantena dove me li manda in automatico... ogni volta che installo una nuova versione👋:)

Qui sotto uno dei tre errori che mi mostra di solito...

Vedi l'allegato 2227066
Può essere un falso positivo,io uso Avira pro e non mi segnala nulla,quando hai dubbi su dei file dalli in "pasto" a virustotal sito che integra i maggiori antivirus.
Poi ovviamamente aspetta risposte ben più autorevoli della mia.
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 05 aprile 2025
    Bari
    10
    58
    03
    61
    14
    Cagliari
    04
    67
    36
    85
    87
    Firenze
    70
    45
    80
    62
    06
    Genova
    05
    66
    32
    59
    89
    Milano
    20
    56
    02
    87
    47
    Napoli
    60
    63
    75
    72
    06
    Palermo
    14
    80
    30
    76
    70
    Roma
    73
    42
    36
    79
    08
    Torino
    26
    74
    83
    78
    31
    Venezia
    06
    60
    85
    76
    40
    Nazionale
    44
    11
    71
    06
    37
    Estrazione Simbolotto
    Genova
    26
    14
    36
    31
    44

Ultimi Messaggi

Indietro
Alto