![]() |
Lokaler Variablen Fehler
Hallo,
ich habe ein Problem (er sagt:[Warnung] Unit1.pas(104): W1019 FOR-Schleifenvariable muss eine einfache lokale Variable sein) mit diesem Stück Code finde es aber nicht könnte mir vieleicht jemand helfen?
Delphi-Quellcode:
for i := 1 to length(a) do
if a[i] in Edit2.text then begin delete(a, i, 1); end; RichEdit1.Lines.Add(a); end else RichEdit1.Lines.Add(a); end |
Re: Lokaler Variablen Fehler
Hallo.
die Laufvariable für deine Schleife muss in deiner Delphi Version im gleichen Block deklariert sein, in dem sich auch die Schleife befindet:
Delphi-Quellcode:
Grüße vom marabu
procedure AddCleanLine;
var i: Integer; begin for i := Length(a) downto 1 do if Pos(a[i], Edit2.text) > 0 then Delete(a, i, 1); RichEdit1.Lines.Add(a); end; |
Re: Lokaler Variablen Fehler
Also den ungefähren Fehler hab ich verstanden aber,
wenn in edit2 z.b steht: # und der zu Filternde Text(das ist in meinem Falle ja der Sinn der FOR Schleife): #T#e#s#t ist dann macht der Code daraus das: T#e#s#t Te#s#t Tes#t Test wieso? PS:danke für die Hilfe |
Re: Lokaler Variablen Fehler
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:
marabu
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz