Ciao a tutti ho una fortmattatura di un file un po particolare come posso fare a leggerlo?
vi riporto la formattazzione con in testa il nome campo
Es
"campoa" "campob" "campoc"
"testo1" "testo2" "testo3"
Ciao a tutti ho una fortmattatura di un file un po particolare come posso fare a leggerlo?
vi riporto la formattazzione con in testa il nome campo
Es
"campoa" "campob" "campoc"
"testo1" "testo2" "testo3"
Che mestiere difficile.....essere da soli ancora di più
Puoi usare StreamReader.
Vedi la guida per i dettagli.
![]()
eh ma nn riesco a individiare e singoli campi o sbaglio
Che mestiere difficile.....essere da soli ancora di più
Perchè dici di non riuscire?Originariamente inviato da Fractals87
eh ma nn riesco a individiare e singoli campi o sbaglio
Hai provato?
Come? Mostra il codice...
Tu hai chiesto: come posso fare a leggerlo
ed io ti ho risposto Usa StreamReader .
Ora, sei hai altre esigenze, devi spiegare in dettaglio quello che devi fare, lo scenario in cui stai operando, etc...
Possono esservi diversi modi per farlo, ma senza le informazioni necessarie chi può dire quale sia la migliore?
scusami se non sono stato abbastanza specifico prima,
cio che io devo fare è aquisire ogni riga di questo file e metterlo in un array per poterlo gestire e stamparlo come preferisco, il problema che non riesco ad aquisire sepatamente tutte le colonne
speravo di poterlo leggere in questo modo
Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParse(mypath )
MyReader.TextFieldType = FileIO.FieldType.Delimited
MyReader.SetDelimiters(" "" ")
Dim currentRow As String()
While Not MyReader.EndOfData
.....
Ma è logicamene scorretto perche non è un singolo carattere a delimitare le "colonne"
Spero di essere stato chiaro e ti ringrazio per il tuo tempo
Che mestiere difficile.....essere da soli ancora di più
Non so cosa e come devi lavorarci.
Personalmente aprirei il file e sostituirei tutte le stringhe (" ") con un carattere pipe (|),
poi eliminerei i doppi apici iniziale e finale, e a quel punto avrei ottenuto un file un po' più semplice da gestire.
Comunque questo codice risolve, in parte, il tuo problema
Il codice è 'didattico' nel senso che non sapendo come devi gestire i dati dovrà essere modificato sulle tue esigenze.codice:Dim myPath As String = "D:\prova.txt" Dim i As Integer, k As Integer Dim s As String = "" Dim sSeparator As String = """ """ Dim sr As New System.IO.StreamReader(myPath) ' carico le linee in un array Dim sLines() As String = sr.ReadToEnd.Split(CChar(vbCrLf)) sr.Close() ' eseguo lo split di ogni riga sul carattere separatore di campo ' così elimino i separatori For i = 0 To sLines.Count - 1 Dim myRow() As String = sLines(i).Split(CChar(sSeparator)) For k = 0 To UBound(myRow) ' ricostriusco la riga, che ora non ha più i separatori s += myRow(k) Next k ''''s += vbCrLf Next i TextBox1.Text = s