the_scorpion (Normal User)
Newbie
Messaggi: 8
Iscritto: 01/08/2008
|
salve gente, vi spiego il mio problema.
Avrei bisogno di aprire all'interno di una richtextbox un testo che si trova all'interno di un file di testo .txt sul pc.
ora, il problema è che quando indico al programma di aprire il file che si trova ad un certo percorso: C:\Desktop\testo.txt
nel momento in cui cambio pc, ovviamente, non trova più questo file.
Io avrei bisogno che il programma avesse il suo file tra le sue risorse e lo apra all'occorrente, qualunque sia il pc dove sto lavorando.
Come posso fare?
La necessità del file di testo esterno nasce dal fatto che il testo è molto molto lungo e quando provo ad usare la funzione (che sarebbe molto più comoda del file di testo):
Codice sorgente - presumibilmente Plain Text |
My.Forms.Form1.RichTextBox1.Text = "testo molto lungo"
|
Non funziona. Infatti considera testo solo la prima riga. Bah.
Che indicazioni potete darmi?
|
|
Renny (Normal User)
Expert
Messaggi: 231
Iscritto: 30/07/2011
|
CIao..
Puoi caricare il file tra le risorse (guarda nelle proprietà del progetto, risorse, aggiungi file di testo).
Così facendo il file viene "inserito" nell'eseguibile e diventa parte integrante del progetto.
Per accedervi basta che scrivi:
My.Resorces.Nomefile
In ogni caso il file viene considerato come tale e non come stream di caratteri (string).
Devi usare un oggetto stream per leggere il file in memoria e poi passarlo come testo alla proprietà text della tua richtextbox.
Cerca delle guide su come inserire il file nelle risorse e come creare un stream per leggerlo e convertirlo in stringa.
Ciao!
|
|
the_scorpion (Normal User)
Newbie
Messaggi: 8
Iscritto: 01/08/2008
|
OK. Ho trovato qualcosa in giro.
Ho inserito il mio file di testo tra le risorse e ho usato questi comandi per leggerlo e inserirlo nella richtextbox:
Codice sorgente - presumibilmente VB.NET |
Dim testo As String Dim flusso As FileStream flusso = New FileStream(Path, FileMode.OpenOrCreate, FileAccess.Read) Dim file_input As New StreamReader(flusso) While Not file_input.EndOfStream testo = file_input.Read RichTextBox1.Text = testo file_input.Close() End While
|
Che devo mettere come directory? Cioè la path come la definisco?
Considerate che il mio file di testo si trova tra le risorse e lo voglio richiamare
Ultima modifica effettuata da the_scorpion il 24/09/2012 alle 15:13 |
|
Renny (Normal User)
Expert
Messaggi: 231
Iscritto: 30/07/2011
|
Ciao..
Ho verificato meglio e mi sono accorto di averti detto una cosa sbagliata. Se il file lo carichi binario, per leggerlo hai bisogno dello stream, per ricrearlo come insieme di caratteri. Se invece il file lo aggiungi come file di testo "txt", per richiamarne il contenuto basta che digiti:
Codice sorgente - presumibilmente C# / VB.NET |
Dim t As String = My.Resources.ESEMPIO
|
Più semplice ancora!
Ciao!
|
|
the_scorpion (Normal User)
Newbie
Messaggi: 8
Iscritto: 01/08/2008
|
Allora il mio file si chiama testolegge.txt
uso il comando che mi hai suggerito in questo modo:
Codice sorgente - presumibilmente C# / VB.NET |
Dim t As String = My.Resources.testolegge.txt
|
Ma mi dice che: "testolegge non è un membro di Resources"
perché da questo errore?
|
|
Renny (Normal User)
Expert
Messaggi: 231
Iscritto: 30/07/2011
|
Se l'hai inserito correttamente come file di testo, tra le risorse, dovresti trovare il nome del file già con l'intellisense.. Se lo trovi, vuol dire che l'hai inserito, altrimenti devi riprovare..
E' importante che lo inserisci nel menù resorces del progetto, come file di testo, con estensioni .txt
Comunque togli .txt.. e lascia
Codice sorgente - presumibilmente Plain Text |
Ultima modifica effettuata da Renny il 24/09/2012 alle 15:56 |
|
the_scorpion (Normal User)
Newbie
Messaggi: 8
Iscritto: 01/08/2008
|
|
|
Renny (Normal User)
Expert
Messaggi: 231
Iscritto: 30/07/2011
|
Non l'hai aggiunto bene.
Devi andare sulle proprietà del progetto, \risorse.
Nel tab delle risorse, trovi scritto "string". Li, selezioni dal menu a tendina e metti "file".
Poi fai aggiungi risorse da file esistente. Carichi il tuo file. In questo modo è entrato a far parte delle risorse del tuo progetto, e lo puoi puntare con my resorces
A me funziona...
Non devi fare aggiungi elemento esistente dal menu esplora soluzione.. devi proprio andare tra le proprietà del progetto...
|
|