Autor Beitrag
Honk!
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mo 17.03.03 10:44 
Moinsen! :roll:

Ich stehe hier vor einem problem zu dem ich keine einzige lösung gefunden habe. Ich möchte

einen bestimmtes wort in einer memo ersetzen ohne die darauf folgenden chars zu

verschieben!

Beispiel:
(in der memo steht)
"Guten tag </name/> und so weiter"

- </name/> wird durch den text der in einer edit steht ersetzt! wenn ich jetzt z.b. in der

edit "Klaus Mustermann" stehen habe soll der </name/> dadurch ersetzt werden und das "und

so weiter" überschrieben werden und NICHT vorgerückt werden. quasi wie der einfügemodus.

im netz und usenet habe ich eine routine gefunden und im onchange von der memo angewendet,

allerdings funtioniert dieser code nur wenn man direkt in die memo schreibt und nicht wenn

man per replaceall bestimmte tags ersetzen lässt!

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.Memo1Change(Sender: TObject);
begin
  if (Sender is TCustomEdit) and Odd(GetKeyState(VK_INSERT)) then
  with TCustomEdit(Sender) do
    if SelLength = 0 then
      begin
        SelLength := 1;
        if (SelLength > 0) and (SelText[1] = #13) then
          SelLength := 2;
      end;
    end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Text := StringReplace(Memo1.Text ,'</name/>',edit1.Text,[rfReplaceAll]);
end;


Ich bin für jede hilfe dankbar!

M.f.G
Honk!
inselberg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 458



BeitragVerfasst: Mi 19.03.03 15:45 
wenn du überschreiben willst "selected" doch einfach length(edit1.text) zeichen .. ich hab zwar keine ahung wozu das gut sein soll aber dann hast du dein

"Sehr geehrter Hans Mustermann nen" aus
"Sehr geehrter </name>, wie geht es ihnen"

:)