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 - [vb .NET] problema con
Forum - C# / VB.NET - [vb .NET] problema con " (abbastanza strano)

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
ashman (Normal User)
Pro


Messaggi: 71
Iscritto: 03/10/2009

Segnala al moderatore
Postato alle 12:56
Lunedì, 30/11/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 :D

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 14:06
Lunedì, 30/11/2009
Ciao, devi semplicemente raddoppiare il ".
Ti faccio qualche esempio:

""ciao"" diventa """ciao"""

""" diventa """"

PM Quote
Avatar
ashman (Normal User)
Pro


Messaggi: 71
Iscritto: 03/10/2009

Segnala al moderatore
Postato alle 16:47
Lunedì, 30/11/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 :k:

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 17:44
Lunedì, 30/11/2009
Di niente!

PM Quote
Avatar
noitide (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Segnala al moderatore
Postato alle 20:56
Lunedì, 30/11/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.. :k:

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 21:00
Lunedì, 30/11/2009
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.

PM Quote
Avatar
noitide (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Segnala al moderatore
Postato alle 15:39
Martedì, 01/12/2009
Testo quotato

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..:yup: solo ke fino ad ora, non avevo mai capito la logica delle virgolette :rotfl:

PM Quote
Avatar
ashman (Normal User)
Pro


Messaggi: 71
Iscritto: 03/10/2009

Segnala al moderatore
Postato alle 20:32
Martedì, 01/12/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) :rotfl::rotfl: qua si che si va a cercare l'ago nel pagliaio :pat:

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 21:53
Martedì, 01/12/2009
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(").

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo