Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - commondialog vb6
Forum - Visual Basic 6 - commondialog vb6

Avatar
Devil_Joker93 (Normal User)
Rookie


Messaggi: 37
Iscritto: 06/11/2009

Segnala al moderatore
Postato alle 15:25
Venerdì, 29/01/2010
Ciao a tutti, ho creato un blocco note con questo comando ma il problema che anche quando premo il tasto annulla, per annullare il salvataggio del file me lo crea ugualmente...

Sapete aiutarmi ?

Grazie

Ecco il codice del pulsante salva:

Private Sub XPButton1_Click()
CommonDialog1.FileName = "Note.txt"
CommonDialog1.Filter = "Text Files|*.txt"
CommonDialog1.ShowSave
Commondialog1.CancelError =False
Open CommonDialog1.FileName For Output As #1
Print #1, Text1.Text
Close #1
End Sub

PM Quote
Avatar
poeo85 (Normal User)
Pro


Messaggi: 104
Iscritto: 27/01/2010

Segnala al moderatore
Postato alle 15:52
Venerdì, 29/01/2010
la risolvi con la gestione dell'errore cioè

On Error GoTo lbl_Error
dialog.CancelError = True
dialog.FileName = "Note.txt"
dialog.Filter = "Text Files|*.txt"
dialog.ShowSave


Open dialog.FileName For Output As #1
Print #1, "dfafdfa"
Close #1

dialog.CancelError = False
Exit Sub
lbl_Error:
    
    dialog.CancelError = False
    MsgBox "eee"
End Sub


modifica le stringhe con ciò che ti serve
spero sia ciò che ti serve :k::k:

Ultima modifica effettuata da poeo85 il 29/01/2010 alle 15:53
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 18:07
Venerdì, 29/01/2010
Testo quotato

Postato originariamente da poeo85:

la risolvi con la gestione dell'errore cioè

On Error GoTo lbl_Error
dialog.CancelError = True
dialog.FileName = "Note.txt"
dialog.Filter = "Text Files|*.txt"
dialog.ShowSave


Open dialog.FileName For Output As #1
Print #1, "dfafdfa"
Close #1

dialog.CancelError = False
Exit Sub
lbl_Error:
    
    dialog.CancelError = False
    MsgBox "eee"
End Sub


modifica le stringhe con ciò che ti serve
spero sia ciò che ti serve :k::k:



mm... piuttosto che usare il GoTo secondo me è meglio usare una semplice if poichè quando si preme annulla il valore di ritorno è "vuoto"
Codice sorgente - presumibilmente Delphi

  1. if commondialog1.filename <> "" then 'se è stato scelto un file...
  2. open ...
  3. end if


Ultima modifica effettuata da GrG il 29/01/2010 alle 18:07
PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 10:25
Sabato, 30/01/2010
@GrG
quando si preme annulla il valore di ritorno è "vuoto", è valido solo la prima volta che si apre CommonDialog. Ma se si salva una prima volta con un nome, alla successiva chiamata è presente il nome e se si annulla filename <> "".

:ot: Come si fa a quotare il testo di un post precedente?

Ciao

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 12:56
Sabato, 30/01/2010
Testo quotato

Postato originariamente da Alfonso:

@GrG
quando si preme annulla il valore di ritorno è "vuoto", è valido solo la prima volta che si apre CommonDialog. Ma se si salva una prima volta con un nome, alla successiva chiamata è presente il nome e se si annulla filename <> "".


Azz... Questo non lo sapevo O.o
Allora si dovrà utilizzare una variabile tipo:

Codice sorgente - presumibilmente VB.NET

  1. dim path as string
  2. commondialog1.showopen
  3. if commondialog1.filename <> path then
  4. 'prosegui normalmente
  5. path = commondialog1.filename
  6. end if



Testo quotato


:ot: Come si fa a quotare il testo di un post precedente?

Ciao



Se vedi, in basso a destra di ogni post c'è il pulsante "quote" basta che premi quello...

PM Quote
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Segnala al moderatore
Postato alle 13:31
Sabato, 30/01/2010
Azz... son proprio ceco.

PM Quote
Avatar
poeo85 (Normal User)
Pro


Messaggi: 104
Iscritto: 27/01/2010

Segnala al moderatore
Postato alle 15:38
Sabato, 30/01/2010
Testo quotato

Postato originariamente da GrG:


mm... piuttosto che usare il GoTo secondo me è meglio usare una semplice if poichè quando si preme annulla il valore di ritorno è "vuoto"
Codice sorgente - presumibilmente Delphi

  1. if commondialog1.filename <> "" then 'se è stato scelto un file...
  2. open ...
  3. end if





visto che lui imposta già il nome del file da salvare il filename sarà sempre uguale a qualcosa e se premi annulla sarà sarà sempre valorizzato...
per cui se primi annulla con la gestione dell'errore postato dal sottoscritto non t'importa se vi è ancora la scritta note o altro. Vedi che è stato premuto annulla per cui non t'importa altro

PM Quote