Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Salve a tutti sto facendo un'editor molto strano( ) e vorrei che quando l'utente scir una parola, ad esempio, "Ciao" il programma mi colori quel "Ciao" in un colore però quando, ad esempio, scirov "Ciao come va?" lui mi scriva solo "Ciao" con il colore, ad esempio, blu e invece tutti gli altri ancora con il nero..come faccio? P.S: Ho utilizzato un codice:
Non so proprio come faccia a funzionare, quel codice. Se i è 0, Start è 0 e la selezione è lunga quanto il testo, ossia ti seleziona tutto cambiandone il colore. Se i è maggiore o uguale a uno, certamente il codice darà errore di overflow, in quando Start è sempre maggiore o uguale della lunghezza del testo, e l'indice txtcode.Text.Length + 1 non può mai esistere (gli indici validi vanno da 0 a txtcode.Text.Length - 1).
Non capisco, poi, perchè usare quel codice assurdo per ottenere il colore blu, quando basta Color.Blue (tanto il colore non ti cambia perchè dopo i=0 il codice va in overflow).
Per trovare una parola, basta usare la funzione Find, ad esempio:
Codice sorgente - presumibilmente Delphi
Sub Highlight(ByVal Start As Int32)
Dim Index As Int32 = txtcode.Find("Ciao", Start, RichTextBoxFinds.WholeWord)
'Find dovrebbe evidenziare automaticamente la parola trovata
txtcode.SelectedColor = Color.Blue
If Index + "Ciao".Length < txtcode.Text.Length - 1 Then
Highlight(Index + "Ciao".Length)
End If
End Sub
Ultima modifica effettuata da Il Totem il 08/11/2009 alle 13:35
Non so proprio come faccia a funzionare, quel codice. Se i è 0, Start è 0 e la selezione è lunga quanto il testo, ossia ti seleziona tutto cambiandone il colore. Se i è maggiore o uguale a uno, certamente il codice darà errore di overflow, in quando Start è sempre maggiore o uguale della lunghezza del testo, e l'indice txtcode.Text.Length + 1 non può mai esistere (gli indici validi vanno da 0 a txtcode.Text.Length - 1).
Non capisco, poi, perchè usare quel codice assurdo per ottenere il colore blu, quando basta Color.Blue (tanto il colore non ti cambia perchè dopo i=0 il codice va in overflow).
Per trovare una parola, basta usare la funzione Find, ad esempio:
Codice sorgente - presumibilmente Delphi
Sub Highlight(ByVal Start As Int32)
Dim Index As Int32 = txtcode.Find("Ciao", Start, RichTextBoxFinds.WholeWord)
'Find dovrebbe evidenziare automaticamente la parola trovata
txtcode.SelectedColor = Color.Blue
If Index + "Ciao".Length < txtcode.Text.Length - 1 Then
Highlight(Index + "Ciao".Length)
End If
End Sub
ok...ho visto sul tuo sito una guida sulla Syntax Highlight, mi potresti spiegare come si utilizza e poi come posso modificarla a mio paicere? Grazie