![]() |
Überspringt einfach Schleife!!!
Hallo,
in folgendem Programm wird einfach die Ausgabeschleife am Ende Ignoriert! Und ich weis net wie ich das abstellen soll:
Delphi-Quellcode:
Über einen guten Rat freue ich mich,
procedure TForm1.BErzeugenClick(Sender: TObject);
var Dateinamen: array of string; Dir: string; SearchRec: TSearchRec; i, j: integer; begin Dir := LQuelle.caption; if FindFirst('c:\*.*', faAnyFile, SearchRec) = 0 then try i := 0; SetLength(Dateinamen, 1); Dateinamen[0] := SearchRec.Name; while FindNext(SearchRec) = 0 do begin i := i + 1; SetLength(Dateinamen, Length(Dateinamen) + 1); Dateinamen[i] := SearchRec.Name; end; finally FindClose(SearchRec); end; for j := Length(Dateinamen) to 0 do MSchleife.lines.add(Dateinamen[j]); end; gruß billi [edit=r_kerber]Code durch Delphi-Tags ersetzt. Mfg, r_kerber[/edit] |
Re: Überspringt einfach Schleife!!!
Hi,
entweder du schreibst:
Delphi-Quellcode:
oder
for j := Length(Dateinamen) downto 0 do
MSchleife.lines.add(Dateinamen[j]);
Delphi-Quellcode:
Was anderes kann ich mir net vorstellen...
for j := Length(Dateinamen) to {Eine Zahl} do
MSchleife.lines.add(Dateinamen[j]); |
Re: Überspringt einfach Schleife!!!
Und außerdem liefert Length IMHO die Anzahl der Zeichen eines Strings zurück und nicht, wie Du gern möchtest, die Anzahl der Elemente des Feldes.
|
Re: Überspringt einfach Schleife!!!
das mit lenght funzt aber...
und dank dem tip das ganze ding auch... danke, billi |
Re: Überspringt einfach Schleife!!!
Vielleicht solltest du noch statt:
Delphi-Quellcode:
lieber
Dateiname: array of String
Delphi-Quellcode:
schreiben.
Dateiname: String
Oder irre ich mich da? :gruebel: |
Re: Überspringt einfach Schleife!!!
wieso? es handelt sich bei Dateinamen um einen Array?!
|
Re: Überspringt einfach Schleife!!!
mit dem "lenght" bin ich mir doch nicht so ganz sicher... ich steig lieber aus "high" um...
|
Re: Überspringt einfach Schleife!!!
Length gibt einfach die Länge des Arrays zurück, High die Anzahl der belegten Plätze.
@Spider: Ich würde aus dem Array nicht einfach so mal nen String machen. ;) |
Re: Überspringt einfach Schleife!!!
Length gibt einfach die Länge des Arrays zurück, High die Anzahl der belegten Plätze.
@Spider: Ich würde aus dem Array nicht einfach so mal nen String machen. ;) SORRY, kA, warum ich nen Doppelpost hab, war noch nie so :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 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