Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#14

AW: Re: Im Memo Text an Cursor Position einfügen

  Alt 30. Mai 2011, 08:48
SelText wurde schonmal genannt ... dieses Ersetzt die Selction durch den angegebenen Text, bzw. liest diese aus.
Delphi-Quellcode:
const
  InsertText = 'test'; //Der String zum Einfügen
var
  MemoText: string; //Eine variable für Memo1.Text
  Select: Integer; //Position des Selektionsbegins
begin
  MemoText:=Memo1.Text;
  Select:=Memo1.SelStart; //Selektionsbeginn zwischenspeichern

  if Memo1.SelLength>0 then
  begin
    Delete(MemoText, Select+1, Memo1.SelLength); //Selektiertes löschen
  end;

  Insert(InsertText, MemoText, Select+1); //neuen Text einfügen
  Memo1.Text:=MemoText; //Text zurück zu Memo1

  Memo1.SelStart:=Select; //Selektionsbeginn wiederherstellen
  Memo1.SelLength:=length(InsertText); //neuen Text markieren (nicht sichtbar, da Memo nicht Fokussiert ist)
end;
ergibt also
Delphi-Quellcode:
begin
  Memo1.SelText := InsertText;
  Memo1.SelStart := Memo1.SelStart + Memo1.SelLength;
  //Memo1.SelLength := 0; // wird schon durch SelStart auf 0 gesetzt
end;
und um den Cursor hinter den eingefügten Text zu setzen
Delphi-Quellcode:
begin
  Memo1.SelText := InsertText;
  Memo1.SelStart := Memo1.SelStart + Memo1.SelLength;
  //Memo1.SelLength := 0; // wird schon durch SelStart auf 0 gesetzt
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat