Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. 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


DavidP
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.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
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:


Volere è potere.

Se la conoscenza crea problemi, non è con l'ignoranza che si risolvono [Isaac Asimov]
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



"Nulla è dato per scontato"
PM