257 messaggi dal 09 marzo 2006
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.
257 messaggi dal 09 marzo 2006
lo strano è che se ricerco e seleziono in un file funziona , se copio la stringa e tento di selezionarla in un altro file ho un offset di sballamento.
Puo' essere al limite la codifica del file?
forse i tab vengono trattati diversamente.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
In primo piano

I più letti di oggi

Media
In evidenza
MISC