Novità

script per ambi integrali su tutte archivio L1

Ciao Joe riassumo brevemente il discorso dell'operatore AND , provo a spiegarlo meglio.

L'operatore and è un operatore di congiunzione logica , i computer come sai non conoscono i numeri decimali ma solo i numeri binari.
Quando si mettono in AND due variabili che contengono un numero decimale , queste due variabili internamente sono viste in binario.

Si mettono uno sotto l'altro i due numeri binari e si fa l'operazione AND per ciascuna cifra del numero secondo le regole dell'algebra booleana
dove

0 and 0 = 0 false
0 and 1 = 0 false
1 and 0 = 0 false
1 and 1 = 1 true

dopo questa operazione si ottiene un terzo numero che è il risultato dell'operazione e che viene valutato dall'istruzione IF.
Questo numero pero potrebeb valere anche 0 dopo le operazioni suddette , ad esempio il caso in cui posizione restituisse prima 3 e poi 4

il tuo if

Codice:
    If Posizione(E,R,A,L) And Posizione(E,R,B,L) Then
 
    è come dire

    If 3 and 4 then

ora proviamo a fare l'operazione di and tra i numeri 3 e 4 , prima dobbiamo convertirli in binario

3 = 0011
4 = 0100

mettiamo in colonna i numeri binari e facciamo l'and tra le cifre con le regole suddette

0011
0100
_____
0000

si ottiene il numero binario 0 che vle 0 nche in decimale :) perciò è false ! Quindi anche se le posizioni erano valide l'if si trova a valutare un valore false.


quindi come si risolve ? Bisogna fare in modo che l'if valuti sempre 2 valori che possano essere solo true e false.

si puo fare o esplicitando

Codice:
    If Posizione(E,R,A,L) >0 And Posizione(E,R,B,L) >0 Then
 
    è come dire

    If (è vero che posizione restituisce un numero > di 0 ?) and (è vero che posizione restituisce un numero > di 0 ?) then

oppure racchiudendo il risultato di posizione nella funzione cbool che trasforma una valore in boolean

Codice:
    If cbool(Posizione(E,R,A,L))   And cbool(Posizione(E,R,B,L))   Then

_________________


Riguardo gli archivi paralleli se ne possono creare solo 5 da programma , ora sinceramente non so se gli script siano in grado di gestire anche numeri superiori a 5 , forse.. la cosa se fosse possibile è dovuta solo alla parametrizzazione e non è propriamente voluta, prova a creare altri archivi che pero rispettino il formato del nome che hanno quell icreati da lui e vedi se funziona , sinceramente non lo so.
Comunque
Con AprFileBaseDati puoi aprire un file nello stesso formato del file della ase dati del programma e ci sono tutte le funzioni per leggere o scriverci le estrazioni.
Una volta che lo script ha quella come prima istruzione tutte le altre istruzioni lavorano con l'archivio impostato.


P.S.
Ad ogni modo per questioni di velocità è sempre meglio mettere gli if nidificati invece che sulla stessa riga anche se si scrive piu codice.

P.P.S.

Somo andato a verificare e non è possibile gesttire piu dei 5 archivi in nessun modo.
 
Ultima modifica di un moderatore:
Ok un grosso grazie cumulativo.

Immaginavo che ci fosse il limite 5.

Abusando della tua cortesia ho chiesto prima di provare.

Riguardo la nidificazione ricordavo la discussione sulla velocità (che ho riletto volentieri).

Per il confronto di numeri ho inteso che venga fatta una moltiplicazione bit per bit.

In sintesi si abbiano in out gli stessi risultati che si avrebbero sui piedini di una coppia

di integrati operazionali come i vecchi 7400.

Per questo stavo confrontando la tabelle dell verità che hai postato

e quella del circuito integrato appena citato.

Curiosità mia della quale immagino la risposta e per spolverare qualche rivista di elettronica.

Per il resto e per la verità intendevo seguire un pensiero quasi all'opposto di quanto hai suggerito.

Cioè diverso dal semplice Vero/Falso.

Ma ... non avendo la minima idea di cosa ne sarà ... è presto per parlarne.

:)
 
Ultima modifica:
Sarà sicuramente come dici riguardo all'integrato , non mi intendo di elettronica ,in gioventu tanti anni fa avevo qualche rivista di Nuova Elettronica e provai a costruire qualche kit, pero la teoria la sapevo poco all'epoca figuriamoci ora..
Ciao ..
 
Immagine.png

Come immaginavo probabile anche wikipedia riporta la stessa tavola della verità da te scritta:

0 and 0 = 0 false
0 and 1 = 0 false
1 and 0 = 0 false
1 and 1 = 1 true

:)
 
Ciao Joe , con la nuova versione 1_6_42
si possono gestire fino a 20 archivi paralleli , ti invito a fare le prove e a farmi sapere se funziona,perche l'unico test che ho fatto io è vedere se li crea esembra di si , anche se ovviamente ci vuole piu tempo per farne 20

si deve sostituire spaziometria.exe e FunzioniSpazioScript.dll
Questo ultimo file si trova in system32 per i sistemi a 32 bit e in syswow64 in quelli a 64 bit

 
Eugenio ricordavo male la sigla.

Il cerchio presente sul simbolo della porta e collegato ai piedini dell'uscita ...

significa che il risultato è invertito rispetto a quello della porta AND.

Comunque la piedinatura e l'aspetto dell'integrato sono identici.

Cambia la funzione svolta dall'integrato e la sigla con il quale lo si identifica.

Dunque il 7400 in foto è un 4 porte NAND alimentato a 5V.

Per Luigi ... avevo intuito ... che ci sarebbe stato d provare.

Lo farò.

In ogni caso ... GRAZIE.

:)
 
Ultima modifica:
Ciao Luigi,

La versione nuova del programma ha generato gli archivi.

Le istruzioni preposte negli script ... però non mi funzionano.

Per esempio :

Option Explicit
Sub Main
Dim L
For L = 0 To 5
Scrivi Estratto(EstrazioneFin,1,L)
Next
End Sub

Per l'archivio ordinario restituisce Zero ... elevando di +1 l'indirizzo dell'archivio ordinario stesso

lo elenca come fosse diventato L1

(Produce un messaggio di errore probabilmente per questo zero dell'archivio ordinario)

Oltre il 5 restituisce errore e nuovamente zero per l'archivio che dovrebbe essere L6.

Anche istruzioni in argomento come NumeroPosRit ... hanno problemi analoghi.

:)
 
Ultima modifica:
ciao Joe , è piu semplice di quanto pensassi .. hai sbagliato i parametri di estratto
hai passato la variabile che indica l'id archivio al posto della posizione estrazionale ...
 
Ops ... se è ed è una toppata clamorosa.

Controllerò e riferirò nel merito tuo e demerito mio.

Per espiare il mio errore costruirò i 20 tabelloni analitici

necessari per controllare manualmente la corrispondenza al vero dei risultati.

:)
 
Tuttavia ... ho alcuni errori e forse ho sbagliato ad editare l'esempio da fornire.

Immagine_1.jpgImmagine.jpg

:)
 
ciao Joe , prova cosi , scrive l'ultima estrazioen di ogni archivio

Codice:
Option Explicit
Sub Main
   Dim P,L ,sRiga 
   
   
   For L = 0 To 20
      sRiga = ""
      For P = 1 To 5   
         sRiga = sRiga &  Estratto(EstrazioneFin,1,P,L) & "."
      Next
      Scrivi RimuoviLastChr(sRiga , ".")
   Next
End Sub
 
c'è da sostire nuovamente ifile

 
Ciao Luigi.

Ora gli script funzionano e nelle poche prove che ho effettuato NON danno errori.

Penso sia tutto corretto ma non sono ancora riuscito a controllare più approfonditamente.

:)
 
Ciao Luigi,

come ho anticipato gli script sembrano funzionare correttamente.

Il programma invece nel compilare il Tabellone Analitico di un livello superiore,

con un archivio >= L10 questo si compone con le posizioni ed i numeri dell' Archivio Ordinario.

Immagine.jpg

:) Buona giornata a tutte/i.
 
Ciao Joe anche questo problema dovrebbe essere risolto

anche se nel file rar c'è pure la dll devi sostituire solo spaziometria se l'altra volta avevi aggiornato pure la dll

 
Ok,

Ho provato la versione 1.6.44 con i suoi archivi dinamici.

Funziona bene e NON ho trovato errori ed incongruenze nelle conversioni tra i vari livelli,

e con l'utilizzo della tabella che si crea eseguendo lo script che avevo fatto per Eugenio.

Non so se esiste o se non l'ho trovata una istruzione del tipo: GetArchivioSelezionato.

Penso sarebbe utile poter leggere con quale archivio si sta operando

affinché sia lo script stesso ad adattarsi alle condizioni in essere.

Ed eventualmente dargli la stessa possibilità che ha "aggiorna"

che restituisce un messaggio di errore se non si ha come base l'archivio del lotto.

In ogni caso come sempre i complimenti ed il mio grazie.

:)
 
non c'è pero esiste la funzione nuova ImpostaIdArchivioPar da lanciare in testa allo script , anzi verifica per favore se funge
 

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 10 gennaio 2025
    Bari
    40
    61
    11
    86
    37
    Cagliari
    31
    02
    51
    68
    87
    Firenze
    73
    55
    34
    52
    18
    Genova
    11
    40
    27
    82
    20
    Milano
    80
    71
    65
    19
    10
    Napoli
    50
    30
    03
    01
    36
    Palermo
    66
    42
    43
    76
    89
    Roma
    05
    22
    62
    35
    39
    Torino
    17
    58
    62
    86
    69
    Venezia
    43
    89
    14
    04
    40
    Nazionale
    64
    76
    35
    40
    19
    Estrazione Simbolotto
    Bari
    08
    07
    37
    33
    38
Indietro
Alto