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 una determinata riga di un testo
Forum - C# / VB.NET - Leggere una determinata riga di un testo

Avatar
Pinnolo (Normal User)
Rookie


Messaggi: 28
Iscritto: 15/03/2008

Segnala al moderatore
Postato alle 16:01
Lunedì, 30/06/2008
Si può leggere una determinata riga di un testo?
Io vorrei, ad esempio che in un testo del tipo:
"Ciao
come ti chiami?
Nicola"

venga considerata solo la riga (quindi la dicitura) "Nicola"

Il codice per "estrapolare" da un file il testo che contiene è questo:
Codice sorgente - presumibilmente Plain Text

  1. My.Computer.FileSystem.ReadAllText(percorso file)

ma per far leggere una determinata riga?

PM Quote
Avatar
Pinnolo (Normal User)
Rookie


Messaggi: 28
Iscritto: 15/03/2008

Segnala al moderatore
Postato alle 16:03
Lunedì, 30/06/2008
Ovviamente quello di Nicola è un esempio... io non conosco il contenuto di questa riga, bensì la posizione che essa occupa nel testo.

Stavo pensando di usare StreamReader per risolvere il mio problema, ma avrei bisogno di un aiutino... così capisco meglio quello che scrivo (e compilo)



scusate il doppio post, credevo di aver digitato edit

Ultima modifica effettuata da Pinnolo il 30/06/2008 alle 16:15
PM Quote
Avatar
Mte90 (Member)
Guru


Messaggi: 1144
Iscritto: 25/03/2008

Segnala al moderatore
Postato alle 21:15
Lunedì, 30/06/2008
http://www.pierotofy.it/pages/guide_tutorials/Visual_Basic ...
qui c'è il link di un articolo ke ho fatto su vb.net e c'è scritto come prendere delle righe in modo casuale però dando un numero prende la riga che gli corrisponde quindi basta che gli dai una letta :k:

PM Quote
Avatar
Pinnolo (Normal User)
Rookie


Messaggi: 28
Iscritto: 15/03/2008

Segnala al moderatore
Postato alle 22:35
Lunedì, 30/06/2008
ho capito che il comando che devo modificare è questo:
Codice sorgente - presumibilmente Plain Text

  1. Testolinee(MyRnd.Next(File.ReadAllLines(path).Length - 1))


ma non so con cosa lo devo sostituire...

PM Quote
Avatar
Progman-92 (Member)
Expert


Messaggi: 368
Iscritto: 16/12/2007

Segnala al moderatore
Postato alle 10:19
Martedì, 01/07/2008
Io utilizzo qusto codice per questa operazione:
Codice sorgente - presumibilmente VB.NET

  1. Dim righe As New ArrayList
  2. Dim testo As New IO.StreamReader("C:\testo.txt")
  3. Dim riga As String = ""
  4.        Do
  5.             riga = testo.ReadLine()
  6.             If Not riga Is Nothing Then
  7.                 righe.Add(riga)
  8.             End If
  9.         Loop Until riga Is Nothing


Per leggere una determinata riga metterai il seguente codice, per esempio:
Codice sorgente - presumibilmente C# / VB.NET

  1. dim riga3 as string = righe(2)


:k:

PM Quote
Avatar
Pinnolo (Normal User)
Rookie


Messaggi: 28
Iscritto: 15/03/2008

Segnala al moderatore
Postato alle 17:56
Mercoledì, 02/07/2008
grazie mille, ma scusa se approfitto della tua gentilezza.

Grazie a te ho risolto questo problema ma adesso mi sorge per curiosità una domanda.....

al contrario, se ad adesempio volessi io scrivere in un documento di testo alla riga n° 2 una determinata parola, come farei?

Ultima modifica effettuata da Pinnolo il 02/07/2008 alle 17:59
PM Quote
Avatar
Progman-92 (Member)
Expert


Messaggi: 368
Iscritto: 16/12/2007

Segnala al moderatore
Postato alle 20:44
Mercoledì, 02/07/2008
Allora, nel caso tu scrivi un testo, dove non sai quante sono le righe che lo comporrà, dichiari un arraylist, altrimenti un array di n elementi quanto le righe del testo - 1.
Nel mio esempio scriverò un testo di quattro righe in un file.
Codice sorgente - presumibilmente VB.NET

  1. Dim righe(3) As String 'array con n elementi quante le righe del testo - 1
  2.         Dim file As New IO.StreamWriter("C:\testo.txt") 'file in cui scrivere
  3.         righe(0) = "Ciao" 'riga 1
  4.         righe(1) = "a tutti" ' riga 2
  5.         righe(2) = "mi chiamo" 'riga 3
  6.         righe(3) = "Progman-92" 'riga 4
  7.         For z As Integer = 0 To righe.Length - 1 'ripete il ciclo per tutti gli elementi di righe
  8.             file.WriteLine(righe(z)) 'scrive la riga z nel file e va a capo
  9.         Next
  10.         file.Close() ' chiude il file e salva il contenuto

:k:

Ultima modifica effettuata da Progman-92 il 02/07/2008 alle 20:45
PM Quote