Ciao.
Devo iuscire a capire come c# tratta i caratteri tab:
Ho creato un progetto che seleziona una stringa all' interno di un altra stringa , come un editor di testo.
Nella prima stringa ho tutto il file, nella seconda la stringa da selezionare.
Ho creto una prima prova e riesco a selezionare tutti i caratteri della stringa da selezionare con un offset di start e un offset di end(due int).
Ho tolto il numero di linea dall' offset del carattere perchè conteggio in questo modo i caratteri di a capo \r\n
Il problema viene fuori quando ho dei tab nella riga della stringa da selezionare, come posso trovare l'offset corretto?
Ho provato cosi:
SelectStringAndReplace(nStart - nLine + nTabsCountForLine * CHAR_FOR_TABS , nEnd -nLine +nTabsCountForLine * CHAR_FOR_TABS , strString, nTabsCountForLine);
questa è la firma del metodo:
SelectStringAndReplace(int nStart, int nEnd, string strReplace, int nTabsCountForLine)
CHAR_FOR_TABS è una costante col numero di caratteri per il tab
ma non va, funziona solo per alcune casistiche , non per tutte.

Rispondi quotando