Newsgroup: it.comp.lang.visual-basic
Titolo: CommonDialog e tasto Annulla??

Ciao a tutti,
come si fa a verificare se l'utente nella finestra di selezione di un file
da aprire o da salvare preme il tasto "ANNULLA" invece di "APRI" o "SALVA"??
Pensavo bisognasse controllare l'opzione "CommonDialog1.CancelError" ma mi
da sempre "FALSE" sia che l'utente abbia premuto "APRI" o "SALVA" o
"ANNULLA"
Spero di essere stato abbastanza chiaro nell'esposizione del problema
Ringrazio tutti in anticipo.
Ciao da Emiliano

 "ANNULLA"
Se preme Annulla si verifica un errore, quindi "On error..."

 "SALVA" o "ANNULLA"
TU devi IMPOSTARE CancelError a True.
Questo fa sì che la pressione di cancel generi un errore, da intercettare.
Oppure controlli la stringa restituita, che nel caso del cancel credo sia
vuota (ma qui non ci giuro, io uso l'errore).
Ciao
Alberto
--
E non so se avrò gli amici a farmi il coro,
o se avrò soltanto volti sconosciuti,
canterò le mie canzoni a tutti loro
e alla fine della strada
potrò dire che i miei giorni li ho vissuti...

 sia vuota (ma qui non ci giuro, io uso l'errore).
fai molto bene a non giurarci.
--
Salutoni
Sergio

 fai molto bene a non giurarci.
Perchè? :-( Mi risulta che la stringa restituita è vuota se si preme
Annulla.

[Lupo] scrisse:

abbiamo provato a "valorizzare" il nome del file di una commondialog per il
salvataggio, se premevi il tasto annulla ci ritrovavamo quello che avevamo
scritto.
(un attimo, adesso rileggo quello che ho scritto... terribile... si vede che
sono andato a nanna alle 2?.... riproviamo)
Se prima dello ShowOpen della common dialog (parlo dello show open perchè
abbiamo provato su quello) imposti il valore di FileName, tanto per dare un
default all'utente, se viene premuto il tasto annulla filename riporterà ancora
il dato inserito precedentamente
--
Salutoni
Sergio

 scritto.
Hai ragione. Mi scuso.
Il fatto è che io davo per scontato qual che le mie librerie fanno: Chiamo
il dialogo con una funzione che mi restituisce <>0 se si verifica
l'errore...
La realtà invece è questa:
Private Sub Command1_Click()
    cdl.CancelError = True
    cdl.FileName = "C:\Pippo"
    On Error GoTo annulla
    cdl.ShowSave
    Debug.Print cdl.FileName
annulla:
    Debug.Print "Annulla " & cdl.FileName
End Sub
PS: Sei passato al plurale majestatis (o come cavolo si scrive)?

 PS: Sei passato al plurale majestatis (o come cavolo si scrive)?
se non ti sei pretato adesso, va benone la i normale :)

 se non ti sei pretato adesso, va benone la i normale :)
Grazie, anche oggi ho imparato qualcosa. ;-)

 PS: Sei passato al plurale majestatis (o come cavolo si scrive)?
no, è che la cosa era avvenuta in diretta, qui sul ng: io avevo provato la sera
prima su .net, e avevo segnalato il problema a Lorenzo, che aveva dato lo stesso
suggerimento che ha dato alberto in questo thread, precisando che mi riferivo a
.net e che non ero sicuro per vb6, quindi lui si è incaricato di fare la prova
in vb6 e ha postato la conferma. Si è trattato di un lavoro d'equipe, insomma.
--
Salutoni
Sergio

ma di solito non e' 1 successful 0 failed ? :)
a dire la verita', in unix era il contrario: 0 = success.
la cosa e' furba perche' nel valore di ritorno ci metti direttamente
che errore hai ottenuto.
naturalmente, in dos sono partiti con la convenzione contraria...
a me piaceva il sistema del mettere nel retvalue della funzione il
codice di errore.
saluti.
-- 
Gianni Rondinini
Icem s.r.l.
Tel: 
+39 0545 78036
Fax: 
+39 0545 78727

 codice di errore.
Ehm..., mi sorge un dubbio: stiamo dicendo la stessa cosa?

Ehm..., mi sorge un dubbio: stiamo dicendo la stessa cosa?
:D :D :D


*Gianni Rondinini* ha scritto:
Oh, Gianni, non ti seguo! Fammi capire se ho detto sciocchezze o se ho detto
le tue stesse cose :-(

le tue stesse cose :-(
hai detto le mie stesse identiche cose :)
e questo mi preoccupa =)
