Aiuto con file di testo

sabato 17 giugno 2006 - 19.31

lord_k3y Profilo | Newbie

Ragazzi vi chiedo scusa se la domanda sembra stupida. Sto cercando di passare un programmino fatto in VB6 in Net 2005

Ho un file e lo devo mettere dentro un array rimuvendo eventuali TAB e righe vuote ma non ci riesco
Io ho fatto cosi

'Apro il file
If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
Dim Path As String = OpenFileDialog1.FileName

'Importo tutto insieme e tolgo eventuali Tab presenti
Dim Contenuto As String = My.Computer.FileSystem.ReadAllText(Path).Replace(ControlChars.Tab, " ")

'Importo il contenuto del file dentro un array temponaneo
Dim DataTemp() As String = Contenuto.Split(ControlChars.CrLf)

'Copio il contenuto dell'array temporaneo nel nuovo e definitivo array togliendo le righe vuote
Dim DataArray() As String = Contenuto.Split(DataTemp, StringSplitOptions.RemoveEmptyEntries)

End If


Il PRIMO problema è questo :
Dentro DataTemp() mi ritrovo, guardando nel debbuger dei quadratini all'inizio delle righe e non riesco a capire cosa siano ( in VB6 erano i TAB ma qui io li ho rimpiazzati col Replace )

Il SECONDO problema invece è:
In DataArray oltre a ritrovarmi righe vuote mi ritrovo un quadratino sul valore DataArray(0) mentre andando a vedere il valore di DataTemp(0) io avevo questa stringa: "Periodo: Giugno 2006"

Per logica penso che le righe vuote me le continuo a ritrovare perchè non ho fatto il TRIM delle righe ma non riesco a capire dove metterlo per i quadratini NON HO IDEA

PS
Vi allego un file di prova che è lo stesso che sto usando


filippo.monti Profilo | Junior Member

Con l'istruzione che esegui (Contenuto.Split(DataTemp,...) innanzitutto ti si mangia la prima riga per cui vedi i CRLF. Poi splittando per CRLF questi divengono il primo carattere della riga...
dovresti eventualmente eliminarli.

Ciao
Filippo

blood Profilo | Senior Member

Puoi usare sia Trim(stringa) che farlo in un ciclo for posizione per posizione del tuo array item(i) = item(i).Trim()

ps. cmq in genere i quadratini sono anche ritorno di carrello che potresti sostituire con Chr(13) & Chr(10)
(rispettivamente i caratteri che rappresentano a capo e avanzamento riga)

---------------
Piscopo Paolo

:: wD @ IRCnet :: .NET wannabe 8-)

lord_k3y Profilo | Newbie

Ho risolto in un altro modo che appena ho il pc di fronte vi mostrerò,m giusto per capire se è la via giusta ( il risultato che voglio lo ottengo ma qualcosa mi dice che si può far di meglio)

Ho usato un'altra classe per leggere il file ma molte cose non sono scritte da nessuna parte e voglio capire perchè NET si comporta in quel modo.

Vi faccio sapere.

A proposito, so che dovrei aprire un altro post. Ma per fare una DLL con VS 2005 si può?
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