(Co-Admin)
Registriert seit: 29. Mai 2002
Ort: Hamburg
11.119 Beiträge
Delphi 11 Alexandria
|
Re: nicht nur erstes Vorkommnis in Memo markieren
17. Okt 2003, 13:05
Moin lkz,
so geht's:
Delphi-Quellcode:
var
sText : string;
sSearch : string;
sDel : string;
iSearchLen : integer;
iPos : integer;
begin
sSearch := 'test';
iSearchLen := length(sSearch);
// nur um zu zeigen, dass es geht, besser wäre #00 statt '9'
sDel := StringOfChar('9',iSearchLen);
sText := Memo1.Lines.Text;
Memo1.SelStart := 0;
iPos := pos(sSearch,sText);
Memo1.Lines.BeginUpdate;
try
while (iPos > 0) do begin
// Da SelStart bei 0 anfängt, ein Index im String aber bei iPos-1
Memo1.SelStart := iPos-1;
Memo1.SelLength := iSearchLen;
// Suchbegriff im String löschen
CopyMemory(@sText[iPos],@sDel[1],iSearchLen);
iPos := pos(sSearch,sText);
end;
// nur um zu zeigen, dass es geht
Memo1.Lines.Text := sText;
finally
Memo1.Lines.EndUpdate;
end;
end;
Hilft Dir aber nicht wirklich, da Du ja in einem Memo nichts markieren kannst.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
|
|
Zitat
|