Originariamente inviato da carmelo81
1)In realtà a me interessa cercare piu parole (non due) e sostituirle con delle variabili;
Ok.
Originariamente inviato da carmelo81
Posso anche utilizzare il ReplaceDialog, ma devo fare in modo di non visualizzarlo (magari con la propr. Hide)...
A cosa ti servirebbe una finestra di dialogo se non devi visualizzarla?
Non utilizzare la ReplaceDialog.
Originariamente inviato da carmelo81
2)Avviene premendo un pulsante che mi carichi il file.rtf all'interno del Richedit e automaticamente mi sostituisca delle parole con le varibili.
Ti posto una porzione di codice che ho appena creato ad hoc come esempio di ricerca e sostituzione di una parola sfruttando le caratteristiche della selezione (in questo modo, mantengo inalterata la formattazione):
codice:
procedure TDemoForm.ReplaceButtonClick(Sender: TObject);
const
OldString: string = 'ReplaceMe';
NewString: string = 'Replaced';
var
Loop: Boolean;
StringPos: Integer;
begin
Loop := True;
while Loop do
begin
StringPos := Pos(OldString, RichEdit.Lines.Text);
if StringPos > 0 then
begin
RichEdit.SelStart := StringPos - 1;
RichEdit.SelLength := Length(OldString);
RichEdit.SelText := NewString;
end
else
Loop := False;
end;
end;
Viene ricercata la stringa OldString all'interno del testo contenuto nel RichEdit; ogni volta che la stringa viene individuata, si imposta una selezione avente posizione e dimensioni uguale a quella della stringa ricercata (in poche parole, si seleziona la stringa); il testo della "vecchia stringa" viene rimpiazzato con il testo della nuova, mantenendo la formattazione esistente (al massimo, perdendo la selezione impostata prima dell'operazione).
Spero che serva a chiarire una metodologia di ricerca...poi, dovrai adattare il codice affinchè lavori con il numero di variabili che intendi utilizzare (che io non conosco) sostituendo le parole che ritieni necessarie.
Ciao!