![]() |
2 for Schleifen
Hallo zusammen.
Irgendwie habe ich gerade etwas den durchblick bei for schleifen verloren. Wie mache ich eine Schleife die folgendes tut: Liste1: Pfad1 Pfad2 Pfad3 usw... Liste2: Dateiname1 Dateiname2 Dateiname3 usw.. nun soll es folgendes machen: Pfad1 + Dateiname1 Pfad1 + Dateiname2 Pfad1 + Dateiname3 ... Pfad2 + Dateiname1 Pfad2 + Dateiname2 Pfad2 + Dateiname3 ... Es sind also sozusagen 2 Schleifen die aber separat laufen müssen (glaube ich zumindest ;-D) Sobald eine Kombination passt (
Delphi-Quellcode:
), soll diese zb in eine Listbox eingetragen werden.
If Directory exists()
Ich habe es so versucht. Aber hier werden irgendwie Einträge übersprungen...?
Delphi-Quellcode:
for I := 0 to form2.ListBox2mainliste.Items.Count - 1 do
for I2 := 0 to form2.ListBox1Pfade.Items.Count - 1 do begin if directoryexists(form2.ListBox1Pfade.Items[i2]+form2.ListBox2mainliste.Items[i]) then begin if form2.ListBox2mainliste.ItemIndex>0 then if temp=form2.ListBox2mainliste.Items[i] =false then form2.ListBox2MainListeSORTED.Items.Add(form2.ListBox1Pfade.Items[i2]+form2.ListBox2mainliste.Items[i]); temp:=form2.ListBox2mainliste.Items[i]; end end; end; |
AW: 2 for Schleifen
Ich würde erst einmal die Logik von der Darstellung entkoppeln und mir eine schöne saubere Routine schreiben, etwa so (aus dem Kopf und ungetestet):
Delphi-Quellcode:
procedure ListExistingFiles(const Paths, Files, Destlist: TStrings);
var Filename: string; iPath, iFile: integer; begin Assert(Assigned(Paths, 'Pfadliste nicht übergeben')); Assert(Assigned(Files, 'Dateiliste nicht übergeben')); Assert(Assigned(Destlist, 'Zielliste nicht übergeben')); Destlist.BeginUpdate; try Destlist.Clear; for iPath := 0 to Paths.Count - 1 do for iFile := 0 to Files.Count - 1 do begin Filename := IncludeTrailingPathDelimiter(Paths[iPath]) + Files[iFile]; if FileExists(Filename) then Destlist.Add(Filename); end; finally Destlist.EndUpdate; end; end; |
AW: 2 for Schleifen
Zitat:
ausserdem gibt es hier viele Puristen, für dei ein Test auf false gaaanz böhse ist, also wenn, dann if (x <> y) |
AW: 2 for Schleifen
Zitat:
Und jetzt check ich endlich was es mit den versetzten Zeilen auf sich hat :-D ... :oops::oops::oops: Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:06 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