Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [vb 2005] Problema a creare un file di testo

    Ciao a tutti, sto cercando di fare qualche applicazione semplice per imparare ad usare le funzioni principali di vb, ma ho incontatro un problema che nn riesco a risolvere.
    Ho fatto un form che mi permette di caricare un file di testo, di modificarlo e di salvarlo.
    Riesco a sovrascrive il file text.txt , ma non riesco a salvare con un altro nome, in pratica nn riesco a creare un file nuovo.. ho provato a ricontrollare il codice, ma nn capisco dove sbaglio, qualc'uno mi puo' dare un suggerimento?

    Grazie

    Questo è il mio codice:
    Imports Microsoft.VisualBasic.FileIO
    Public Class Dialogs
    Private strFileName As String

    Private Sub btnOpen_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnOpen.Click
    'Propietà OpenFileDialogs
    With OpenFileDialog1
    .Filter = "Text Files (*.txt)|*.txt|All files (*.*)|*.*"
    .FilterIndex = 1
    .FileName = ""
    .Title = "Apri file"
    End With
    'Visualizza Open dialogs e se l'utente clicca sul pulsante open, carica il file
    If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    Dim allText As String
    Try
    'Salva nome file
    strFileName = OpenFileDialog1.FileName
    'Leggi contenuto del file
    allText = My.Computer.FileSystem.ReadAllText(strFileName)
    'Visulizza contenuto del file nella text box
    txtFile.Text = allText
    Catch fileException As Exception
    Throw fileException
    End Try
    End If
    End Sub

    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
    'Propietà SaveFileDialogs
    With SaveFileDialog1
    .DefaultExt = ".txt"
    .FileName = strFileName
    .Filter = "Text Files (*.txt)|*.txt|All files (*.*)|*.*"
    .FilterIndex = 1
    .OverwritePrompt = True
    .Title = "Salva file"
    End With
    'Visualizza Save dialogs e se l'utente clicca sul pulsante open, carica il file
    If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    Try
    'Salva il fileneme
    Dim filePath As String
    'Apri o crea il file
    filePath = System.IO.Path.Combine(My.Computer.FileSystem.Spec ialDirectories.MyDocuments, strFileName)
    'Sostituisci il contenuto del file
    My.Computer.FileSystem.WriteAllText(filePath, txtFile.Text, False)
    Catch fileException As Exception
    End Try
    End If
    End Sub
    End Class

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da mandrake_01
    Riesco a sovrascrive il file text.txt , ma non riesco a salvare con un altro nome, in pratica nn riesco a creare un file nuovo.. ho provato a ricontrollare il codice, ma nn capisco dove sbaglio, qualc'uno mi puo' dare un suggerimento?
    E' presto detto. Nel tuo codice non c'è traccia dell'uso della proprietà FileName che contiene il percorso del file selezionato dal controllo SaveDialog; in sostanza, non utilizzi mai la proprietà che contiene il percorso del file selezionato nella finestra di dialogo per il salvataggio.

    Inoltre, hai usato un Path.Combine piuttosto criptico che combina probabilmente due percorsi completi... mi sfugge il significato.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.