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 - Leggere file.txt dalle risorse
Forum - C# / VB.NET - Leggere file.txt dalle risorse

Avatar
lupetto77 (Normal User)
Pro


Messaggi: 75
Iscritto: 04/12/2011

Segnala al moderatore
Postato alle 16:28
Sabato, 17/10/2015
Ciao come da titolo vorrei leggere i file dalle risorse e cercare una riga specifica dall'indice che ho impostato per poi inserire il testo in una label, uso questo codice:
L'indice che ho impostato è zero perchè voglio leggere la prima riga del file.

Codice sorgente - presumibilmente C#

  1. public void Leggi_File(string path)
  2.         {
  3.             string[] readText = File.ReadAllLines(path);
  4.             foreach (string s in readText)
  5.             {
  6.                 if (s == readText[0]) //Indice impostato
  7.                 {
  8.                     label1.Text = s;
  9.                 }
  10.             }
  11.         }



dall'evento Load richiamo la funzione:
Codice sorgente - presumibilmente Plain Text

  1. Leggi_File(Properties.Resources.FileNelleRisorse);


Il codice funziona se gli passo una directory esempio ("FileNellaCartellaDiProgetto.txt");
ma dalle risorse no.

Mi da questa eccezzione:
Eccezione non gestita di tipo 'System.ArgumentException' in mscorlib.dll

Ulteriori informazioni: Caratteri non validi nel percorso.

Come posso risolvere?
Grazie :k:

Ultima modifica effettuata da lupetto77 il 17/10/2015 alle 16:35
PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 16:46
Sabato, 17/10/2015
Hai inserito le risorse nello spazio riservato nella applicazione? Sei sicuro di accedere alla risorsa con il nome corretto? Hai specificato il nemespace completo della risorsa?

PM Quote
Avatar
lupetto77 (Normal User)
Pro


Messaggi: 75
Iscritto: 04/12/2011

Segnala al moderatore
Postato alle 20:30
Domenica, 18/10/2015
Ciao e scusa per il ritardo di risposta...

Hai inserito le risorse nello spazio riservato nella applicazione?
Se intendi in proprietà->Risorse File e caricare il file.txt (fatto)

Sei sicuro di accedere alla risorsa con il nome corretto?
Ho provato cosi:
Codice sorgente - presumibilmente Plain Text

  1. Leggi_File(Properties.Resources.FileNelleRisorse);


Codice sorgente - presumibilmente Plain Text

  1. Leggi_File(nomeDelNamespace.Properties.Resources.FileNelleRisorse);


quando digito la prima o la seconda riga di codice, in tutti e 2 i casi nelle voci c'è presente il nome del file nelle risorse.
Ho anche importato le using system.reflection e using system.resource

Hai specificato il nemespace completo della risorsa?
Codice sorgente - presumibilmente Plain Text

  1. Leggi_File(nomeDelNamespace.Properties.Resources.FileNelleRisorse);



PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 8:33
Lunedì, 19/10/2015
Ok, hai usato il nome del file suggerito da visual studio?

PM Quote
Avatar
lupetto77 (Normal User)
Pro


Messaggi: 75
Iscritto: 04/12/2011

Segnala al moderatore
Postato alle 16:11
Lunedì, 19/10/2015
Si, ma il nome del file è giusto, in VB.NET funzionava mentre in C# mi da l'eccezione Caratteri non validi nel percorso, non so se in C# è diverso.

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 17:10
Lunedì, 19/10/2015
Beh allora il problema non  nel fatto che il file sia una risorsa. Cerca la riga che genera l'eccezione.

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 17:16
Lunedì, 19/10/2015
Non c'è bisogno di utilizzare lo StreamReader sui file TXT utilizzati come risorse.

E' possibile accedere a tutto il file di testo semplicemente come fosse una variabile


Codice sorgente - presumibilmente C# / VB.NET

  1. string file = nomeDelNamespace.Properties.Resources.FileNelleRisorse;
  2.  
  3. MessageBox.Show(file);




Prova così


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
lupetto77 (Normal User)
Pro


Messaggi: 75
Iscritto: 04/12/2011

Segnala al moderatore
Postato alle 22:50
Lunedì, 19/10/2015
Grazie a tutti di nuovo.

Ho risolto, aveva ragione Thejuster non serve lo streamreader. :k:

PM Quote