Oppure

Loading
06/04/11 17:22
DavidP
salve è possibile che dopo a ver creato il mio eseguibile, grazie ad un openfiledialog, posso prelevare un TXT (o qualsiasi altra cosa) da pc ed integrarlo in esso?
Ultima modifica effettuata da DavidP 06/04/11 17:23
aaa
06/04/11 18:14
michiamophil
Se è come ho capito io certo che è possibile :)
Prova questo:
 Dim fopen As New OpenFileDialog
        'imposta l'estensione dei file da visualizzare nell'openfiledialog
        fopen.Filter = "File di testo (*.txt)|*.txt"
        If fopen.ShowDialog = Windows.Forms.DialogResult.OK Then
            'se è premuto il tasto ok assegni alla variabile (quella che vuoi :),
            'il testo contenuto nel file che hai selezionato(fopen.filename)
            Me.Text = My.Computer.FileSystem.ReadAllText(fopen.FileName)
        End If
aaa
08/04/11 11:30
Il Totem
E' possibile, ma richiede un workaround piuttosto ostico.

Il codice di michiamophil cambia solo il titolo della finestra col contenuto del file (chissà poi che utilità avrai mai), e solo per la durata dell'applicazione. Quando la riaprirai non ci sarà traccia del testo.
aaa
08/04/11 20:21
R0gerBlack
Ho capito quello che vuoi fare, ma ti consiglio di usare metodi alternativi di simile efficacia. Tu vuoi aprire un file .txt con un OpenFileDialog e integrarlo nell'.exe che poi deve rimanere ricordato. Aprire il file non è molto impegnativo, ma integrarlo si, quindi a meno che tu non debba spostare il programma da un PC all'altro con questo file potresti aprire il file e metterlo in una cartella remota che solo il programma sa, come la cartella AppData usata da molti programmi per i salvataggi. Il codice per tutto ciò è molto semplice:
Dim TextReaded As String
    Protected Function GetApplicationDataFolder() As String
        'Questa funzione ti restituisce la directory della cartella AppData
        Dim AppDataRegKey As Microsoft.Win32.RegistryKey =
        Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Volatile Environment")
        Return CType(AppDataRegKey.GetValue("APPDATA"), String)
    End Function

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If IO.File.Exists(GetApplicationDataFolder() & "Nome programma\nomefile.txt") Then
            'Se il file esiste già non chiedere di nuovo la directory
            Dim r As New IO.StreamReader(GetApplicationDataFolder() & "Nome programma\nomefile.txt")
            TextReaded = r.ReadToEnd()
            r.Close()
            Exit Sub
        End If
'Qui l'ho messa nel Form1_Load ma puoi metterla dove meglio credi
        Dim Open As New OpenFileDialog
        Open.Filter = "File di testo|*.txt"
        If Open.ShowDialog = Windows.Forms.DialogResult.OK Then
            MsgBox(GetApplicationDataFolder)
            My.Computer.FileSystem.CopyFile(Open.FileName, GetApplicationDataFolder() & "Nome programma\nomefile.txt")
'Copia il file selezionato nella cartella
            Dim r As New IO.StreamReader(GetApplicationDataFolder() & "Nome programma\nomefile.txt")
            TextReaded = r.ReadToEnd()
'Leggi il testo che da ora in poi potrai fare col programma
            r.Close()
        End If
    End Sub


Ti consiglio di seguire questa via, è una soluzione di molti programmi professionali.. sfogliaci tu stesso in quella cartella. :k:
aaa