Novità

*** Guida agli Script x Neofiti Totali ***

BaffoBlù

Advanced Member >GOLD<
Ciao e grazie. Perchè ottengo sempre errori nelle variabili tipo clp,ini,fin,co,es,ok etc.etc..
Vedo che questa cosa non viene detta, quindi immagino che c'è qualcosa che non va nel mio programma.
Cioè tipo ora sto facendo il run del metodo ed ottengo:
Errore script! 500-Variabile non definita: 'primodibari' Linea.........
è forse dovuto a qualche file mancate del vbscript? Come risolvere?

grazie mille
di sicuro hai copiato lo script nella maniera sbagliata...
 

joe

Advanced Member >PLATINUM PLUS<
Mi diranno, che sono veramente offensivo ... impiccione e veramente maleducato ma ...

l'unica risposta sensata è: Bisogna leggere, capire, eseguire ... le istruzioni ricevute.

Altrimenti si dimostra ed è totalmente inutile riscrivere le stesse cose ... da una parte e dall'altra.

Lo script se è quello ... ed è quello presentato da Baffoblu ... funziona.

Se non funziona è perché alla prima riga dello script che si è incollato nell'editor è rimasto scritto: Option Explicit

Questa prima linea dello script ... già presente prima di incollare lo script deve essere cancellata.

In altre parole Option Explicit ... in questo script ... non ci deve essere scritto.

:)
 

BaffoBlù

Advanced Member >GOLD<
Mi diranno, che sono veramente offensivo ... impiccione e veramente maleducato ma ...

l'unica risposta sensata è: Bisogna leggere, capire, eseguire ... le istruzioni ricevute.

Altrimenti si dimostra ed è totalmente inutile riscrivere le stesse cose ... da una parte e dall'altra.

Lo script se è quello ... ed è quello presentato da Baffoblu ... funziona.

Se non funziona è perché alla prima riga dello script che si è incollato nell'editor è rimasto scritto: Option Explicit

Questa prima linea dello script ... già presente prima di incollare lo script deve essere cancellata.

In altre parole Option Explicit ... in questo script ... non ci deve essere scritto.

:)
per me non lo sei, anzi...sei schietto.

Purtroppo dobbiamo tenere conto dei neofiti che sono alle prime armi.
sbagli del genere sono capitati anche a me all'inizio.
Ma anche adesso mi può capitare.
Una svista sta sempre dietro l'angolo, ma essendo (noi) un po' più smaliziati di altri possiamo metterci una pezza
perché sappiamo dove mettere le mani (fino a un certo punto, per quanto riguarda me)

Il neofita si trova perso anche in piccole scemenze fino a quando non capisce il meccanismo.

Di richieste e domande simili in passato ce ne sono state a migliaia...
 

joe

Advanced Member >PLATINUM PLUS<
Si diceva ... OPPURE dare una DIM(ensione) a tutte le variabili utilizzate SE E' PRESENTE OPTION EXPLICIT

Codice:
Option Explicit
Sub Main()
    ColoreTesto 1
    Scrivi "================ M E T O D O    B Y    V I V O =========",1
    ColoreTesto 0
    Scrivi "============= 1 AMBATA E 2 AMBI SU FIRENZE DOPO SPIA 11 ==============",1
    ColoreTesto 1
    Scrivi "========================F I R E N Z E =========================",1
    ColoreTesto 1
    Scrivi "============     LISTATO BY  B A F F O B L U     ============",1
    ColoreTesto 0
    Scrivi "===========================================================",1
    Scrivi
    ColoreTesto 0
    '***************************************************************************
 
    '*** NB : SE E' PRESENTE OPTION EXPLICIT (come prima linea dello script) ***
 
    'DEVONO ESSERE  DICHIARATE con DIM  *TUTTE* LE VARIABILI UTILIZZATE:
    'LE VARIABILI contenute nelle due linee qui sotto non erano DICHIARATE ESPLICITAMENTE.
  
    Dim Clp,Ini,Fin,Es,Co,P,A,Ok,Ob,o,b,c,d,e,f
    Dim Primodibari,Quartodibari,Secondodinapoli,Primodinazionale,Primodiroma

 ''**************************************************************************

    Dim ruote(1)
    Dim posta(1)
    Dim poste(2)
    Dim n(1)
    Dim am(3)
  
    posta(1) = 10
    poste(2) = 5
    Clp = 9
    Ini = EstrazioneFin - 150
    Fin = EstrazioneFin
    Co = 0
    For Es = Ini To Fin
        Messaggio Es
        ruote(1) = 3
        For P = 1 To 5
            A = Estratto(Es,3,P)
            Ok = 0
            If A = 11 Then
                Primodibari = Estratto(Es,1,1)
                Quartodibari = Estratto(Es,1,4)
                Secondodinapoli = Estratto(Es,6,2)
                Primodinazionale = Estratto(Es,12,1)
                Primodiroma = Estratto(Es,8,1)
                o = Primodibari + Secondodinapoli
                b = Fuori90(o * Primodinazionale)
                c = Primodibari * Primodiroma
                d = Fuori90(c + Primodiroma)
                e = Quartodibari * 60
                f = Fuori90(e + 77)
                n(1) = b
                am(1) = b
                am(2) = d
                am(3) = f
                Ok = 1
            End If
            If Ok = 1 Then
                Co = Co + 1
                Scrivi String(70,"°") & " Caso n°" & Co,1
                Scrivi String(70,"°"),1
                ruote(1) = 3
                ImpostaGiocata 1,n,ruote,posta,Clp,1
                n(1) = b
                ImpostaGiocata 2,am,ruote,poste,Clp,2
                am(1) = b
                am(2) = d
                am(3) = f
                Gioca Es
            End If
        Next
    Next
    ScriviResoconto
End Sub

:)
 
Ultima modifica:

mastrogino

Advanced Premium Member
Buongiorno a tutti voi e al grande Baffo
aspettavo con ansia che si riprendevano le lezioni , purtroppo x mancanza di tempo e testardaggine avevo
abbandonato.
grazie
 

joe

Advanced Member >PLATINUM PLUS<
Buongiorno a tutti voi e al grande Baffo
aspettavo con ansia che si riprendevano le lezioni , purtroppo x mancanza di tempo e testardaggine avevo
abbandonato.
grazie

Non so se è così anche per altri, ma io disapprendo i linguaggi di programmazione

se non mi esercito con continuità nel loro uso.

Fortunatamente non si tratta di una "cancellazione totale".

I rudimenti rimangono e si ritorna ai livelli precedenti, abbastanza facilmente.

Ma, il consiglio che discende dalla mia esperienza personale, è quello di mantenersi "allenati".

Ritornando a quanto si diceva ecco un semplice esempio di come produrre l'errore lamentato:

Immagine.jpg

Le 2 soluzioni già proposte sono:

O cancellare Option Explicit

O Inserire Dim A (all'inizio dello script) prima di utilizzare la variabile.

:)
 
Ultima modifica:

genios

Advanced Member >PLATINUM<
Si diceva ... OPPURE dare una DIM(ensione) a tutte le variabili utilizzate SE E' PRESENTE OPTION EXPLICIT

Codice:
Option Explicit
Sub Main()
    ColoreTesto 1
    Scrivi "================ M E T O D O    B Y    V I V O =========",1
    ColoreTesto 0
    Scrivi "============= 1 AMBATA E 2 AMBI SU FIRENZE DOPO SPIA 11 ==============",1
    ColoreTesto 1
    Scrivi "========================F I R E N Z E =========================",1
    ColoreTesto 1
    Scrivi "============     LISTATO BY  B A F F O B L U     ============",1
    ColoreTesto 0
    Scrivi "===========================================================",1
    Scrivi
    ColoreTesto 0
    '***************************************************************************
 
    '*** NB : SE E' PRESENTE OPTION EXPLICIT (come prima linea dello script) ***
 
    'DEVONO ESSERE  DICHIARATE con DIM  *TUTTE* DELLE VARIABILI UTILIZZATE:
   ' QUELLE contenute nelle due linee qui sotto non erano presenti.
  
    Dim Clp,Ini,Fin,Es,Co,P,A,Ok,Ob,o,b,c,d,e,f
    Dim Primodibari,Quartodibari,Secondodinapoli,Primodinazionale,Primodiroma

 ''**************************************************************************

    Dim ruote(1)
    Dim posta(1)
    Dim poste(2)
    Dim n(1)
    Dim am(3)
  
    posta(1) = 10
    poste(2) = 5
    Clp = 9
    Ini = EstrazioneFin - 150
    Fin = EstrazioneFin
    Co = 0
    For Es = Ini To Fin
        Messaggio Es
        ruote(1) = 3
        For P = 1 To 5
            A = Estratto(Es,3,P)
            Ok = 0
            If A = 11 Then
                Primodibari = Estratto(Es,1,1)
                Quartodibari = Estratto(Es,1,4)
                Secondodinapoli = Estratto(Es,6,2)
                Primodinazionale = Estratto(Es,12,1)
                Primodiroma = Estratto(Es,8,1)
                o = Primodibari + Secondodinapoli
                b = Fuori90(o * Primodinazionale)
                c = Primodibari * Primodiroma
                d = Fuori90(c + Primodiroma)
                e = Quartodibari * 60
                f = Fuori90(e + 77)
                n(1) = b
                am(1) = b
                am(2) = d
                am(3) = f
                Ok = 1
            End If
            If Ok = 1 Then
                Co = Co + 1
                Scrivi String(70,"°") & " Caso n°" & Co,1
                Scrivi String(70,"°"),1
                ruote(1) = 3
                ImpostaGiocata 1,n,ruote,posta,Clp,1
                n(1) = b
                ImpostaGiocata 2,am,ruote,poste,Clp,2
                am(1) = b
                am(2) = d
                am(3) = f
                Gioca Es
            End If
        Next
    Next
    ScriviResoconto
End Sub

:)
E SE LA TERZINA VOLESSSIMO GIOCARLA A TUTTE ? :)
 

lino62

Junior Member
Semplicemente ho copiato lo script del metodo ed ho avviato ed ottengo come detto nel mio precedente messaggio errori del tipo:
Errore script! 500-Variabile non definita: 'primodibari' Linea.........
Ma questo errore lo ottengo per tutte le variabili non dimensionate,i tipo clp,ini,fin,co,es,ok etc.etc.
La domanda è semplice, perchè io devo per forza fare il DIM di queste variabili quando invece nello script non ci sono e quindi immagino che lo script debba funzionare bene anche così?
di sicuro hai copiato lo script nella maniera sbagliata...
credo proprio di no

Semplicemente ho copiato lo script del metodo ed ho avviato ed ottengo come detto nel mio precedente messaggio errori del tipo:
Errore script! 500-Variabile non definita: 'primodibari' Linea.........
Ma questo errore lo ottengo per tutte le variabili non dimensionate,i tipo clp,ini,fin,co,es,ok etc.etc.
La domanda è semplice, perchè io devo per forza fare il DIM di queste variabili quando invece nello script non ci sono e quindi immagino che lo script debba funzionare bene anche così?
 

joe

Advanced Member >PLATINUM PLUS<
La domanda è semplice, perchè io devo per forza fare il DIM di queste variabili quando invece nello script
non ci sono e quindi immagino che lo script debba funzionare bene anche così?

Per inserire le istruzioni nelle righe di comando di cui si compone lo script,

è necessario adeguarsi alle regole del linguaggio di programmazione.

Esattamente utilizzando la sintassi corretta, come si fa con chiunque

al quale si vogliono trasmettere dei concetti si usa il modo corretto per comunicarli.

Dimensionare e predisporre le variabili è utile per avere uno script più ordinato,

più facilmente correggibile ed anche più veloce.

Perché può essere utilizzata meno memoria e perché è meno probabile

che si utilizzino le stesse variabili per contenere valori logicamente diversi o sbagliati.

Per esempio nello script logica vorrebbe che i 5 estratti fossero a, b, c, d, e.

Però la lettera "a" era già utilizzata.

Pertanto è stata sostituita da "o" .. Perché il programmatore è stato attento a non ri-utilizzare la "a".

Però, è evidente che è più facile sbagliarsi e magari, a distanza di tempo, è più difficile ricordare che la "o"

è la "prima lettera" e poi le altre di seguito sono b, c, d, e.

Oppure se ci si dimentica che "a" contiene già un valore, e lo si sostituisce erroneamente con quello dell' Estratto.

In sintesi, se non si pianifica l'utilizzo delle variabili è più facile commettere errori.

:)
 
Ultima modifica:

BaffoBlù

Advanced Member >GOLD<
Semplicemente ho copiato lo script del metodo ed ho avviato ed ottengo come detto nel mio precedente messaggio errori del tipo:
Errore script! 500-Variabile non definita: 'primodibari' Linea.........
Ma questo errore lo ottengo per tutte le variabili non dimensionate,i tipo clp,ini,fin,co,es,ok etc.etc.
La domanda è semplice, perchè io devo per forza fare il DIM di queste variabili quando invece nello script non ci sono e quindi immagino che lo script debba funzionare bene anche così?

credo proprio di no

Semplicemente ho copiato lo script del metodo ed ho avviato ed ottengo come detto nel mio precedente messaggio errori del tipo:
Errore script! 500-Variabile non definita: 'primodibari' Linea.........
Ma questo errore lo ottengo per tutte le variabili non dimensionate,i tipo clp,ini,fin,co,es,ok etc.etc.
La domanda è semplice, perchè io devo per forza fare il DIM di queste variabili quando invece nello script non ci sono e quindi immagino che lo script debba funzionare bene anche così?
Io invece credo proprio di SI.

L'unico modo per replicare il tuo errore,
RIBADISCO (l'UNICO MODO) è QUELLO DI NON INSERIRE LO SCRIPT NEL MODO CORRETTO!

NON ESISTE UN ALTRA MANIERA...

TE LO SPIEGATO E ANCHE JOE HA DETTO COSE GIUSTISSIME.

io ti consiglierei di rivedere quello che stai tentanto di fare, convinto di non sbagliare...

siamo qui per aiutare, ne sappiamo più di te, ma se ti intestardisci, capisci da solo che non possiamo andare contro le tue convinzioni di essere nel giusto.

La domanda che ti devi fare :

PERCHE' SEI L'UNICO A CUI NON FUNZIONA???
 

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 04 maggio 2024
    Bari
    02
    31
    81
    52
    21
    Cagliari
    39
    88
    84
    01
    67
    Firenze
    36
    30
    70
    06
    41
    Genova
    59
    23
    61
    22
    27
    Milano
    05
    17
    69
    57
    39
    Napoli
    81
    62
    82
    43
    50
    Palermo
    73
    55
    62
    45
    18
    Roma
    76
    70
    01
    64
    15
    Torino
    82
    55
    35
    70
    46
    Venezia
    58
    23
    61
    29
    21
    Nazionale
    10
    14
    01
    43
    09
    Estrazione Simbolotto
    Milano
    30
    01
    05
    32
    11
Alto