Newsgroup: it.comp.lang.visual-basic
Titolo: bloccare if then else ... domanda newbie

allora posto parte di codice
--
If Dir("tc.doc") <> "" Then
Form2.Visible = True
Form1.Visible = False
End If
Command1.Enabled = False
'il codice continua aprendo una msgbox
--
siccome non è la prima volta che mi succede ..volevo chiedervi sta cosa..
come mai NONOSTANTE il file esiste , il ciclo IF continua come se non
vedesse end if ?
In pratica io voglio che " se il file esiste, il prg faccia apparire frm2 e
sparire frm1" E basta ..
e invece con questo codice il prg mi fa apparire frm2 , fa sparire frm1 e
CONTINUA COME SE NIENTE FOSSE facendo poppare anche il msgbox e ovviamente
cntinuando a eseguire tutte le istruzioni dopo l'end if ...
'ndo sbajo ?
Plz help me ..
IF mi aiutate THEN Grazie mille!! ELSE vabeh, ci ho provato ...

 wrote in message
9ffm27$2o6$1...@diesel.cu.mi.it...

Beh, dovresti mettere la sezione Else dell'IF dove specifichi cosa vuoi che
succeda nel caso in cui il file non esiste... se esiste prova a scrivere
questo codoce:
If Dir("tc.doc") <> "" Then
    Form2.Visible = True
    Form1.Visible = False
    exit sub
    Else
    Command1.Enabled = False
    'il codice continua aprendo una msgbox
    ....
    ....
    ....
end if
Prova.... ciaox

 ha scritto nel messaggio
news:9ffm27$2o6$1...@diesel.cu.mi.it...









Francesco Morelli



'il codice continua aprendo una msgbox
If Dir("tc.doc") <> "" Then
Form2.Visible = True
Form1.Visible = False
Exit Sub ' se non esci dalla sub verranno eseguite le altre istruzioni
               ' dopo l'End if 
End If
Command1.Enabled = False
Ciao Robin

 vedesse end if ?
[SNIP]
Intanto ti suggerisco VIVAMENTE di indentare il codice nei relativi blocchi
IF/FOR/DO ecc., gia' solo questo piccolo accorgimento dovrebbe aiutarti a
capire meglio quello che scrivi; veniamo al problema:
If Dir("tc.doc") <> "" Then
    Form2.Visible = True
    Form1.Visible = False
End If
Command1.Enabled = False
'il codice continua aprendo una msgbox
l'istruzione "End If" non implica nessuna interruzione di codice, ma
stabilisce semplicemente dove finisce il blocco di istruzioni da eseguire
quando la condizione espressa con IF e' vera, ma dopo tale blocco il flusso
del programma prosegue normalmente.
Se pero' consulti la guida relativa all'istruzione IF, vedrai che e'
possibile costruire piu' blocchi di istruzioni con le parole chiavi
ELSEIF e ELSE, che possono essere usate per stabilire cosa fare nel caso in
cui la condizione iniziale non sia vera; a questo punto leggi bene la guida,
ripensa a quello che vuoi fare
"SE esiste il file tc.doc ALLORA visualizzo un'altra finestra ALTRIMENTI
disabilito il pulsante e mostro un messaggio"
e dovresti trovare la soluzione da solo.
Se mi permetti pero' vorrei "menartela" un po' anch'io: dai retta a Ugo
quando ti suggerisce di affrontare un problema alla volta... se hai ancora
questi dubbi sulle funzionalita' elementari di VB forse ti converrebbe
lasciar perdere il tuo programma pilota per qualche tempo, procurarti un bel
libro "for dummies" (senzo offesa eh! lo siamo stati tutti) e ricominciare
daccapo con cose semplici, possibilmente *senza NG*.
Questo non perche' le tue domande diano fastidio, ma perche' hai bisogno di
assimilare le basi da solo, provando e riprovando... vedrai che quando
riprenderai in mano il tuo programma ti sembrera' tutto un altro mondo!
just my 0.02 euro
Ciao
--
Luca Dormio
luca....@tin.it


Grazie, non osavo pių ripeterglielo, per non passare per cattivo.
ciao
ugo

[...]


Sottoscrivo sentitamente...
:-)
ciao
ugo

seguito devi metterci Exit Sub. Ad esempio:
Eheh, complimenti per i tuoi progressi, ma la domanda era diversa :P
Ciao

Eheh, complimenti per i tuoi progressi, ma la domanda era diversa :P
Scusa, sono ubriaco io... mi sembrava troppo stupida come domanda quindi
credevo si trattasse d'altro...
Ciao