Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
21. Jun 2010
oder die IF-Abfrage direkt in das While integriert:
Dateipfad := '';
Node := TreeView1.Selected;
while Assigned(Node) and Assigned(Node.Parent) do
begin
Dateipfad := Node.Text + '\' + Dateipfad;
Node := Node.Parent;
end;
Dateipfad := IncludeTrailingPathDelimiter(Hauptpfad)
+ ExcludeTrailingPathDelimiter(Dateipfad);
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
21. Jun 2010
Entweder su speicherst dir den kompletten Pfad in den Node.Data
oder du setzt dir den Pfad zusammen.
in etwa so:
Dateipfad := '';
Node := TreeView1.Selected;
while Assigned(Node) do
begin
Dateipfad := Node.Text + '\' + Dateipfad;
Node := Node.Parent;
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
21. Jun 2010
Maske: siehe meine letzer editierter Beitrag.
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
21. Jun 2010
Oder einfach diesen Parameter nach hinten verlagern.
Bei Verwendung einer Maske wird es schwieriger,
denn die Verzeichnisse dürfen ja nicht über die Maskte gesucht werden.
Also muß man entweder selber den Dateinamen mit der Maske vergleichen oder man sucht in zwei Schritten.
procedure TForm1.scan(path: string; Maske:String;DateiendungAnzeigen:Boolean=true;parent:TTreeNode=nil);
var SR:...
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
20. Jun 2010
@Teekeks:
* nicht das FindClose vergessen :!:
* die For-Schleife brauchst du nicht mit diesem IF absichern (ist da schon eingebaut)
* und mal sehn was du zum Rest sagst :)
uses StrUtils;
procedure TForm1.scan(path: string);
var SR: TSearchRec;
tmparray: array of string;
i: integer;
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
20. Jun 2010
=False und vorallem =True sollte man nicht zum Vergleichen verwenden.
Und dann hast du z.B. ein Probleme mit Dateien, welche einen Punkt im Namen haben. (der letzte Punkt zählt als Trennung und nicht er erste, welchen Pos finden würde)
if not DateiendungAnzeigen then
Dateiname := ChangeFileExt(Dateiname, '');
zu deiner Frage:
- rufe deine Funktion rekursiv auf, bei Unterverzeichnissen...