Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET]ordinare variabili integer all'interno della richtextbox in modo che mantengano la loro posizione?
Forum - C# / VB.NET - [VB.NET]ordinare variabili integer all'interno della richtextbox in modo che mantengano la loro posizione?

Avatar
Lafa_96 (Normal User)
Pro


Messaggi: 111
Iscritto: 09/03/2011

Segnala al moderatore
Postato alle 23:01
Mercoledì, 16/03/2011
sto creando un programma che mi ha chiesto di sviluppare una professoressa di latino che corregge le versioni di latino sul pc, in pratica funziona in questo modo, si inserisce il testo nella richtextbox1 e per correggerlo si evidenzia la parte da correggere e quando si preme sul button1 la parte evidenziata diventa rossa sottolineata e la variabile x (che all'inizio vale 1) si inserisce tra parentesi prima dell'errore.
il mio problema è il seguente, quando si preme il button1 per correggere il 1°errore ovviamente x sarà uguale a 1 e quando lo si preme per correggere il 2° x sarà uguale a x+1 ecc..., io vorrei che se per caso si trovasse un errore tra 2 errori già corretti, la variabile x prenda valore di conseguenza, mi spiego meglio:
prendiamo in considerazione la frase:
Marco fa la spesa;
mettiamo che "Marco" e "spesa" siano 2 errori
(1)Marco fa la (2)spesa
adesso supponiamo che durante la rilettura del testo io mi accorga che anche "fa" è un errore, nel mio programma logicamente verrebbe così
(1)Marco (3)fa  la (2)spesa
mentre io vorrei che venisse così
(1)Marco (2)fa  la (3)spesa

come faccio??


Non hai bisogno di vedere l’intera scalinata. Inizia semplicemente a salire il primo gradino. (Martin Luther King)
PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Up
2
Down
V
Segnala al moderatore
Postato alle 12:01
Giovedì, 17/03/2011
Quello che dice HeDo è che tu, attualmente, modifichi in modo permanente il testo da correggere, cosicché sia impossibile sapere come era il testo prima di ogni correzione. Se separassi la logica di correzione dal testo in sé potresti andare di volta in volta a ricalcolare le posizioni di ogni errore numerandole opportunamente.
In parole povere, ti tieni il testo non corretto T0. Ogni volta che viene selezionato un errore lo memorizzi a parte, ad esempio memorizzando l'indice della parola nel testo e la sua lunghezza. Dopodiché usi una funzione per evidenziare gli errori, che passa da T0 a T1, quindi visualizzi T1. Se viene aggiunto un ulteriore errore, riutilizzi quella funzione, che ti restituirà un risultato diverso, ma coerente.

grazie totem per la traduzione del mio post :D - HeDo - 17/03/11 12:33
AAAAAAAAAhhhh grazie totem e grazie anche a te HeDo!! Siete stati molto utili!! - Lafa_96 - 17/03/11 19:14


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Up
1
Down
V
Segnala al moderatore
Postato alle 23:14
Mercoledì, 16/03/2011

considera inizialmente di separare la vista del testo, dalla vista del testo corretto. in questo modo puoi tener conto delle posizioni degli inserimenti dei numeri in maniera assoluta. Dopodichè ad ogni inserimento ricalcoli tutti i numeri seguendo l'ordine dei caratteri.

emh scusa tanto ma non sono affatto un esperto di programmazione, ho appena iniziato programmo si e non da 2 mesi e non ho capito cosa intendi!! ti dispiace postarmi un esempio di codice per favore? Grazie in anticipo! - Lafa_96 - 17/03/11 10:26


Ingegnere Informatico
https://ldlagency.it
PM