Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: nicht nur erstes Vorkommnis in Memo markieren

  Alt 17. Okt 2003, 12: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
  Mit Zitat antworten Zitat