ashman (Normal User)
Pro
Messaggi: 71
Iscritto: 03/10/2009
|
ciauu inizio a spiegarvi il mio problema, credo sia facile da esporre.
il mio problema si è ripresentato quando volevo fare "Procedura: leggere file di testo delimitati da virgola in Visual Basic"
il codice è questo (non è il mio ma quello dell'esempio)
Using MyReader As New _
Microsoft.VisualBasic.FileIO.TextFieldParser("C:\testfile.txt")
MyReader.TextFieldType = FileIO.FieldType.Delimited
MyReader.SetDelimiters(",")
Dim currentRow As String()
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
Dim currentField As String
For Each currentField In currentRow
MsgBox(currentField)
Next
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox("Line " & ex.Message & _
"is not valid and will be skipped.")
End Try
End While
End Using
in particolare qui è l'errore
MyReader.SetDelimiters(",")
io volevo mettere come campo di limitazione la " e quindi avrei dovuto avere (""") ma mi da errore!! come posso fare a dire al programma che " è il mio valore di riferimento??
se non avete capito bene il mio problema provo a fare un esempio che forse ha la stessa risoluzione!!
è come far scirvere un msgbox che abbia effettivamente questa scritta "ciao" con " comprese, dovrebbe essere cosi ""ciao"" ma cosi facendo ovvimente non va
spero di aver reso il mio problema.
grazie a tutti resto in attesa di consigli
|
|
manvb.net (Member)
Guru
Messaggi: 663
Iscritto: 28/01/2008
|
Ciao, devi semplicemente raddoppiare il ".
Ti faccio qualche esempio:
""ciao"" diventa """ciao"""
""" diventa """"
|
|
ashman (Normal User)
Pro
Messaggi: 71
Iscritto: 03/10/2009
|
ho provato e non dovrebbe dare l'errore ma non ho ancora lanciato il programma perche devo mettere a posto il resto del codice cmq grazie risolto un problema
|
|
manvb.net (Member)
Guru
Messaggi: 663
Iscritto: 28/01/2008
|
Di niente!
|
|
noitide (Normal User)
Pro
Messaggi: 107
Iscritto: 24/06/2009
|
guarda, io ti consiglo di utilizzare Chr(34) ke rappresenta una singola virgoletta, cioè per intenderci Chr(34) = " . secondo me è molto più comodo e utile ke stare li a fare 20 mila virgolette..
|
|
manvb.net (Member)
Guru
Messaggi: 663
Iscritto: 28/01/2008
|
Be, mi sembra più comodo fare """ciao""" che chr(34) & "ciao" & chr(34).
Oltretutto chr viene da Microsoft.VisualBasic, quindi è obsoleto e sarebbe meglio non usarlo.
|
|
noitide (Normal User)
Pro
Messaggi: 107
Iscritto: 24/06/2009
|
Postato originariamente da manvb.net:
Be, mi sembra più comodo fare """ciao""" che chr(34) & "ciao" & chr(34).
Oltretutto chr viene da Microsoft.VisualBasic, quindi è obsoleto e sarebbe meglio non usarlo. |
si.. effettivamente hai ragione.. solo ke fino ad ora, non avevo mai capito la logica delle virgolette |
|
ashman (Normal User)
Pro
Messaggi: 71
Iscritto: 03/10/2009
|
se si raddoppiano le " per scrivere "ciao" bisogna mettere "" poi il mio mex "ciao" e poi ""
come mai se devo far risultare " devo scrivere """" (x4)
teoricamente dovrei scrivere "" per poi mettere il mio messaggio " e poi altre 2 "" quindi """"" (x5) qua si che si va a cercare l'ago nel pagliaio
|
|
manvb.net (Member)
Guru
Messaggi: 663
Iscritto: 28/01/2008
|
No, non c'entra niente il messaggio. Semplicemente, quando vb.net incontra 2 doppi apici che non siano di apertura o chiusura li considera come un solo apice.
Quindi in """" se togliamo il doppio apice iniziale e finale(apertura e chiusura) restano i 2 doppi apici centrali che vengono coniderati come un solo doppio apice(").
|
|