Brothers Inserito: 4 settembre 2005 Segnala Inserito: 4 settembre 2005 Ho creato una applicazione tipo Notepad in VB6 non capisco come mai quando salvo un documentotutto bene. Se non ho nessun documento aperto e clicko - save - (mnuFileSaveAs)nella finestra ShowSave non c'è scritto nessun titolo di file poi invece di salvare, premo annulla, tutto bene.Se apro un documento di nome - prova.txt - , lo chiudo , non ho nessun documento aperto e clicko - save - nella finestra ShowSave rimane scritto il nome del file aperto in precedenza - prova.txt -, premo annulla allora mi da un errore - metodo non supportato dall'oggetto -evidenziando questa riga di codice:ActiveForm.rtfText.SaveFile sFileche sarebbe poi l'ultima riga del mio codice save qui sottostante-------------------------------Private Sub mnuFileSaveAs_Click() Dim sFile As String If ActiveForm Is Nothing Then Exit Sub dlgCommonDialog.Flags = &H2 With dlgCommonDialog .DialogTitle = "Salva con nome " .CancelError = False .Filter = "Tutti i file (*.*)|*.*" .ShowSave If Len(.Filename) = 0 Then Exit Sub End If sFile = .Filename End With ActiveForm.Caption = sFile ActiveForm.rtfText.SaveFile sFileEnd Sub----------------------------------------Tutto questo è strano perche non c'è nessun ActiveForm.rtfText caricato come sembrerebbe suggerirmi VB6,ma io non avevo premuto annulla?Aggiungo che se nella finestra - save - non c'è scritto nulla perche non ho aperto nessun file in precedenza e il titolo lo scrivo io e poi premo annulla tutto va bene.Qualcuno ci capisce qualcosa?Ciao
blintz Inserita: 4 settembre 2005 Segnala Inserita: 4 settembre 2005 ciaoa parte che la cosa è poco chiara e, secondo me avresti dovuto mandare piu informazioni, comunque i comandi sono questi:Command1=APRIPrivate Sub Command1_Click()Dim strOpen As String CommonDialog1.ShowOpen strOpen = CommonDialog1.FileName ' Utilizza il metodo LoadFile per aprire il file. RichTextBox1.LoadFile strOpenEnd SubCommand2=SALVAPrivate Sub Command2_Click()Dim strNewFile As String CommonDialog1.ShowSave strNewFile = CommonDialog1.FileName RichTextBox1.SaveFile strNewFileEnd Sub<<<<<<<<<<<<DialogBox:Dialog_Title:-----FilterName:-----Init_Dir:------Filter:File di testo (*.txt)|*.txt|Tutti i file(*.*)|*.*;*.*Flags:0DefaultExt:---MaxSizeFile:260FilterIndex:0(sempre se non hai creato un . x il prg)ciao
Brothers Inserita: 5 settembre 2005 Autore Segnala Inserita: 5 settembre 2005 (modificato) Si forse ho detto poco e confusamente.Riesaminando tutto, il problema è questo:Quando clicko su:Salva col nome (mnuFileSaveAs_Click)Se scelgo: Salvaviene salvato il documento correttamenteSe scelgo:Annullaviene salvato ugualmente il documentoPrbabilmente devo codare (si dice cosi spero) cioè aggiungere del codice per la scelta:AnnullaMa cosa aggiungere ?-----------------------------------------Per blintz-----------------------------------------Grazie mille blintz ma mi sembra che i comandi della mia mnuFileSaveAsCorrispondano a quelli che hai scritto tu forse ho tralasciato qualche cosa che provoca l'errore??Vedi un po qui sotto------------------------------------------------------------------------------------Tuo------------------------------------------------|Mio------------------------------------------------------------------------------------Command2 = SALVA---------------------------|mnuFileSaveAs = Salva col nome----------------------------------------------------|-------------------------------------------1 Private Sub Command2_Click()-----------|1 = 1 Private Sub mnuFileSaveAs_Click()2 Dim strNewFile As String-------------------|2 = 3 Dim sFile As String3 -------------------------------------------------|34 CommonDialog1.ShowSave---------------|4 = 12 .ShowSave5 strNewFile = CommonDialog1.FileName|5 = 17 sFile = .Filename6 RichTextBox1.SaveFile strNewFile------ -|6 = 20 ActiveForm.rtfText.SaveFile sFile7 DialogBox:------------------------------------|7 = 8 With dlgCommonDialog8 Dialog_Title:----- ----------------------------|8 = 9 .DialogTitle = "Salva con nome "9 FilterName:-----------------------------------|9 10 Init_Dir:----------------------------------- --|10 11 Filter:File di testo (*.txt) etc.------------|11 = 11 .Filter = "Tutti i file (*.*)|*.*"12 Flags:0 --------------------------------------|12 = 7 dlgCommonDialog.Flags = &H213 DefaultExt:----------------------------------|13 14 MaxSizeFile:260----------------------------|14 15 FilterIndex:0 -------------------------------|15 16 End Sub-------------------------------------|16 = 21 End Sub------------------------------------------------------------------------------------Mio |------------------------------------------------------------------------------------1 Private Sub mnuFileSaveAs_Click()2 3 Dim sFile As String45 If ActiveForm Is Nothing Then Exit Sub6 7 dlgCommonDialog.Flags = &H28 With dlgCommonDialog9 .DialogTitle = "Salva con nome "10 .CancelError = False11 .Filter = "Tutti i file (*.*)|*.*"12 .ShowSave13 14 If Len(.Filename) = 0 Then15 Exit Sub16 End If17 sFile = .Filename18 End With19 ActiveForm.Caption = sFile20 ActiveForm.rtfText.SaveFile sFile21 End Sub------------------------------------------------------------------------------------- Modificato: 5 settembre 2005 da Brothers
Brothers Inserita: 5 settembre 2005 Autore Segnala Inserita: 5 settembre 2005 Ho risolto così, tutto funziona a dovere per ora Se qualcuno leggerà il codice per favore esprima un parere tipo:se c'è e dove sta l'eventuale errore. Ciao e grazie-------------------------------------------------------------Private Sub mnuFileSaveAs_Click() Dim sFile As String ' Se non ci sono file aperti esce senza fare niente. If ActiveForm Is Nothing Then Exit Sub ' Imposta CancelError su True - premendo il pulsante Annulla genera un errore. CommonDialog1.CancelError = True ' Se viene provocato l'errore va all'etichetta ed esce senza fare niente. On Error GoTo ErrHandler ' Imposta i flag. ' Flags: il primo nasconde la casella sola lettura il secondo chiede. ' se si vuole sovrascrivere il file esistente con lo stesso nome. dlgCommonDialog.Flags = cdlOFNHideReadOnly dlgCommonDialog.Flags = &H2 ' Imposta il Titolo. dlgCommonDialog.DialogTitle = "Salva con nome" ' Imposta i filtri. dlgCommonDialog.Filter = "Tutti i file (*.*)|*.*|File di testo (*.txt)|*.txt" ' Specifica il filtro predefinito. dlgCommonDialog.FilterIndex = 1 ' Visualizza la finestra di dialogo Save. dlgCommonDialog.ShowSave ' Se il file e nullo esce. If Len(dlgCommonDialog.Filename) = 0 Then Exit Sub End If ' Stringa nome file. sFile = dlgCommonDialog.Filename ' Da il nome del file al form attivo . ActiveForm.Caption = sFile ' Salva il file con nome. ActiveForm.rtfText.SaveFile sFile Exit Sub ' Etichetta.ErrHandler: 'L'utente ha scelto il pulsante Annulla ed esce. Exit SubEnd Sub----------------------------------------------------------
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora