Thema: Delphi Lokaler Variablen Fehler

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Lokaler Variablen Fehler

  Alt 7. Jan 2006, 09:05
Das muss ein ganz anderer Code sein, mit dem du dieses Ergebnis produzierst. Hier habe ich dir einen besseren Code entwickelt. Er kapselt die Funktionalität in einer wiederverwendbaren Prozedur und achtet darauf, dass bei größeren Strings der Speichermanager durch das zeichenweise Löschen nicht unnötig gequält wird, indem ich die gültigen Zeichen einfach verschiebe.

Delphi-Quellcode:
procedure AddCleanLine(strings: TStrings; const sLine, sFilter: string);
var
  i, iLength: Integer;
  sClean: string;
begin
  iLength := Length(sLine);
  sClean := sLine;
  i := 1;
  while i <= iLength do
    if Pos(sClean[i], sFilter) > 0 then
    begin
      Move(sClean[Succ(i)], sClean[i], iLength - i);
      Dec(iLength);
    end else Inc(i);
  strings.Add(Copy(sClean, 1, iLength));
end;

procedure TDemoForm.AddButtonClick(Sender: TObject);
begin
  AddCleanLine(RichEdit1.Lines, '#T#e#s#t', Edit2.Text);
end;
marabu
  Mit Zitat antworten Zitat