Novità

script per ambi integrali su tutte archivio L1

L

LuigiB

Guest
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:

joe

Advanced Member >PLATINUM PLUS<
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:
L

LuigiB

Guest
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 ..
 

joe

Advanced Member >PLATINUM PLUS<
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

:)
 
L

LuigiB

Guest
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

 

joe

Advanced Member >PLATINUM PLUS<
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:

joe

Advanced Member >PLATINUM PLUS<
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:
L

LuigiB

Guest
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 ...
 

joe

Advanced Member >PLATINUM PLUS<
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.

:)
 

joe

Advanced Member >PLATINUM PLUS<
Tuttavia ... ho alcuni errori e forse ho sbagliato ad editare l'esempio da fornire.

Immagine_1.jpgImmagine.jpg

:)
 
L

LuigiB

Guest
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
 
L

LuigiB

Guest
c'è da sostire nuovamente ifile

 

joe

Advanced Member >PLATINUM PLUS<
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.

:)
 

joe

Advanced Member >PLATINUM PLUS<
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.
 
L

LuigiB

Guest
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

 

joe

Advanced Member >PLATINUM PLUS<
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.

:)
 
L

LuigiB

Guest
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
    martedì 26 marzo 2024
    Bari
    30
    51
    17
    01
    53
    Cagliari
    13
    70
    25
    68
    47
    Firenze
    28
    30
    54
    70
    88
    Genova
    67
    87
    22
    03
    62
    Milano
    22
    34
    13
    47
    24
    Napoli
    20
    72
    59
    01
    52
    Palermo
    05
    72
    65
    52
    32
    Roma
    28
    43
    75
    54
    87
    Torino
    16
    08
    17
    24
    38
    Venezia
    67
    28
    55
    60
    29
    Nazionale
    15
    69
    22
    63
    39
    Estrazione Simbolotto
    Firenze
    44
    09
    31
    22
    16

Ultimi Messaggi

Alto