Strano carattere in una stringa



  • Strano carattere in una stringa
    di Hellboy (utente non iscritto) data: 23/10/2015 18:01:29

    Ciao ragazzi, ho un problema con un carattere strano....
    leggo un file di testo rigo per rigo , rivido le parole e poi leggo carattere per carattere.
    Eseguo questa funzione, leggo T ma con il SELECT CASE non trova nulla ... vado in DEBUG e vedo che il valore di LetteraComando non vale T ma "QUADRATO"T, che è sto carattere ? Come lo elimino ?
    E anche in Excel, per curiosità, se vado in Formato Cella ... nel riquadro di Esempio mi esce un quadrato+T, ma da dove esce questo carattere ?


     
    Public Sub InterpretaComando(Str As String)
    
    Dim LetteraComando As String
    LetteraComando = Left(Str, 2)
    
    Select Case LetteraComando
        Case "T"
             MsgBox " T - Non ci interessa"
    End Select



  • di Mister_x (utente non iscritto) data: 23/10/2015 21:02:09

    ciao

    dovresti postare il file con la stinga o stringhe incriminate
    comunque in excel hai a disposizione la funzione CODICE()
    utilizzo copia quel caratte incriminato e lo incolli in una cella e a lato metti la funzione =CODICE( la tua cella col carattere )
    ti verra restituito un valore normarmente e' 160 ma pero' bisogna proprio vederlo, comunque a questo punto
    puoi trattare questo carattere col suo valore specifico

    questo capita perché stiamo urilizzando tipi di caratteri grafici

    ciao





  • di HELLBOY (utente non iscritto) data: 26/10/2015 09:41:28

    pensavo fosse qualcosa legato alla scomposizione della stringa:
    Dim LetteraComando As String
    LetteraComando = ""
    LetteraComando = Left(Str, 2)

    quando leggevo LetteraComando, nel debug, leggevo Simbolo del Quadrato + "T" ...

    ma ho visto che già mi esce la stringa " sporcata " nel momento della lettura dalla cella.
    Sulla cella EXCEL figura T23, ma quando lo leggo mi legge Simbolo quadrato + "T23".

    COSA PUO' ESSERE ?
    ...



  • di Hellboy (utente non iscritto) data: 26/10/2015 10:15:54

    Ok, sono orgoglioso di condividere la mia soluzione.
    Ho scoperto che EXCEL, nella divisione di celle tra righe e colonne inserisce di caratteri "sporchi"....
    li elimino ed il gioco è fatto.

    LetteraComando = Replace(LetteraComando, Chr(13), "")
    LetteraComando = Replace(LetteraComando, Chr(10), "")


    ovvero: stringa da analizzare, carattere da rimpiazzare, con cosa rimpiazzare.


    Ciao.



  • di Mister_x (utente non iscritto) data: 26/10/2015 13:04:24



    chr(13) = carriage return - con una stampante ad aghi questo e' un ritorno a capo
    chr(10) = line feed - fine della linea in un word processor qundi in una cella e un ritorno a capo di linea

    Tavola caratteri ASCII da 0 a 255

    chr(13) in questo word processor - ♪ -
    chr(10) - ◙ --