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
C# / VB.NET - [help] Resource
Forum - C# / VB.NET - [help] Resource

Avatar
DavidP (Normal User)
Pro


Messaggi: 87
Iscritto: 31/08/2009

Segnala al moderatore
Postato alle 19:22
Mercoledý, 06/04/2011
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 il 06/04/2011 alle 19:23
PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
1
Down
V
Segnala al moderatore
Postato alle 13:30
Venerdý, 08/04/2011
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.

PM
Avatar
R0gerBlack (Member)
Expert


Messaggi: 210
Iscritto: 10/06/2010

Up
1
Down
V
Segnala al moderatore
Postato alle 22:21
Venerdý, 08/04/2011
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:
Codice sorgente - presumibilmente VB.NET

  1. Dim TextReaded As String
  2.     Protected Function GetApplicationDataFolder() As String
  3.         'Questa funzione ti restituisce la directory della cartella AppData
  4.         Dim AppDataRegKey As Microsoft.Win32.RegistryKey =
  5.         Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Volatile Environment")
  6.         Return CType(AppDataRegKey.GetValue("APPDATA"), String)
  7.     End Function
  8.  
  9.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  10. If IO.File.Exists(GetApplicationDataFolder() & "Nome programma\nomefile.txt") Then
  11.             'Se il file esiste giÓ non chiedere di nuovo la directory
  12.             Dim r As New IO.StreamReader(GetApplicationDataFolder() & "Nome programma\nomefile.txt")
  13.             TextReaded = r.ReadToEnd()
  14.             r.Close()
  15.             Exit Sub
  16.         End If
  17. 'Qui l'ho messa nel Form1_Load ma puoi metterla dove meglio credi
  18.         Dim Open As New OpenFileDialog
  19.         Open.Filter = "File di testo|*.txt"
  20.         If Open.ShowDialog = Windows.Forms.DialogResult.OK Then
  21.             MsgBox(GetApplicationDataFolder)
  22.             My.Computer.FileSystem.CopyFile(Open.FileName, GetApplicationDataFolder() & "Nome programma\nomefile.txt")
  23. 'Copia il file selezionato nella cartella
  24.             Dim r As New IO.StreamReader(GetApplicationDataFolder() & "Nome programma\nomefile.txt")
  25.             TextReaded = r.ReadToEnd()
  26. 'Leggi il testo che da ora in poi potrai fare col programma
  27.             r.Close()
  28.         End If
  29.     End Sub



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

PM
Avatar
michiamophil (Normal User)
Newbie


Messaggi: 5
Iscritto: 09/12/2010

Up
-1
Down
V
Segnala al moderatore
Postato alle 20:14
Mercoledý, 06/04/2011
Se Ŕ come ho capito io certo che Ŕ possibile :)
Prova questo:
Codice sorgente - presumibilmente Delphi

  1. Dim fopen As New OpenFileDialog
  2.         'imposta l'estensione dei file da visualizzare nell'openfiledialog
  3.        fopen.Filter = "File di testo (*.txt)|*.txt"
  4.        If fopen.ShowDialog = Windows.Forms.DialogResult.OK Then
  5.            'se Ŕ premuto il tasto ok assegni alla variabile (quella che vuoi :),
  6.             'il testo contenuto nel file che hai selezionato(fopen.filename)
  7.            Me.Text = My.Computer.FileSystem.ReadAllText(fopen.FileName)
  8.        End If


PM