Acquisizioni di stringhe da txt (vb.net)

martedì 18 novembre 2008 - 09.03

frenk17 Profilo | Junior Member

ciao ragazzi avrei un quesito che probabilmente sarà molto banale per moilti di voi...
se ho un file txt composto in questo modo...

pippo
pluto

come faccio ad acquisire la prima riga e stamparla in una textbox e la seconda metterla in una seconda textbox...
io go tentato in questo modo ma nella textbox mi viene stampata sa stringa racchiusa tra i doppi apici
es. "pippo"

Public Sub carica_matricole()

Dim matricole As String = "matricole.txt"
Dim objstreamreader As StreamReader
Dim matr, matr_vecchia As String

If My.Computer.FileSystem.FileExists(matricole) = True Then
objstreamreader = File.OpenText(matricole)
matr = objstreamreader.ReadLine
matr_vecchia = objstreamreader.ReadLine()
Form1.TextBox1.Text = matr
If matr_vecchia <> "" Then
Form1.TextBox2.Text = matr_vecchia
End If
objstreamreader.Close()

Else
FileOpen(1, matricole, OpenMode.Append)
PrintLine(1, "AA000001")
Form1.TextBox1.Text = "AA000001"
End If
FileClose(1)
End Sub




grazie mille per la mano che sicuramente mi darete...

freeteo Profilo | Guru

Ciao,
se usi il framework 2.0, hai a disposizione dei metodi statici (shared in vb.net) molto più agili, ad esempio nel tuo caso il metodo "ReadAllLines" della classe "File" che ti torna un array di righe:
Dim righe as String() = File.ReadAllLines("c:\...file.txt") textbox1.Text = righe(0) textbox2.Text = righe(1) ....

chiaramente devi valutare quante righe hai, se sono troppe hai un sovraccarico dell'utilizzo di memoria, quindi bisogno usare uno stream e leggere in maniera incrementale.
Intanto prova così, potrebbe andarti bene lo stesso.
ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

frenk17 Profilo | Junior Member

ho provato con il tuo codice ma anche così mi si ripresenta lo stesso problema...
nelle textbox vengono visualizzate le stringhe tra doppi apici...
esempio file..

pippo
pluto

nelle textbox mi conpare..
"pippo"
"pluto"
e per me è un problema perchè ho una funzione che incrementa la stringa quindi se è seguita dai doppi apici non funziona...

fguida Profilo | Expert

Non puoi fare una Replace?


txtTest.Text = miaStringa.Replace("\"", "");
Francesco

frenk17 Profilo | Junior Member


e ma purtroppo non lo riconosce per che io dovre sostituire gli apici con niente, quindi il codice verrebbe:
form1.TextBox1.Text = string.Replace(""", "")
però mi da errore

fguida Profilo | Expert

Non capisco...se tu esegui la replace e poi l'assegni alla TextBox, perchè ti va in errore?

Francesco

frenk17 Profilo | Junior Member

ho risolto....
mi andava in errore perchè essendoci un numero dispari di " mi contava il contenuti delle parentesi come stringa....
mi è bastato modificare il codice da così:
Form1.TextBox1.Text = matr.Replace(" " ", "")

a così..

Form1.TextBox1.Text = matr.Replace(" "" ", "")

e ora funziona...
spero di essere stato chiaro...

fguida Profilo | Expert

Si, me ne sono accorto ora che avevi scritto linguaggio VB, sorry...
Ti postai in C#...


Francesco

frenk17 Profilo | Junior Member

si infatto me ne sono accorto

grazie comunque a tutti.. siete stati molto gentili... ciao e alla prossima che temo sarà molto presto
ciao ciao

fguida Profilo | Expert

Noi siamo qui!!!


Francesco
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5