Zitat von
Blackheart:
Am einfachsten dürfte es doch sein zu prüfen ob hinter
bereits ein steht.
Delphi-Quellcode:
procedure TForm1.Memo1Change(Sender: TObject);
begin
if (Copy(Memo1.Text, Memo1.SelStart-2, 3) = '[b]') and not
(Copy(Memo1.Text, Memo1.SelStart+1, 4) = '[/b]') then
begin
Memo1.SelText := '[/b]';
Memo1.SelStart := Memo1.SelStart-4;
end;
end;
Das ist das selbe wie
Delphi-Quellcode:
if Copy(SynMemo1.Text, CurPosition-2, 3) = '[b]' then
begin
SynMemo1.SelText := '[/b]';
SynMemo1.SelStart := CurPosition-4;
end;
Andere Code, aber die selbe Funktion. Es ändert sich nichts, wenn man ENTF zwischen > und < drückt.