![]() |
Probs mit TString und Treeview
Kann jemand mal auf die Seite
![]() Ich hab jetzt GetFiles('C:\',treeview2,'.jpg',True); geschrieben, doch...nix passiert. Es taucht nur ne Fehlermeldung auf. *heul* >>Würd mich freuen, wenn ihr mir helfen könntet<< Dödel PS: Bin noch net sehr lange im Metier Delphi zu Hause. |
Re: Probs mit TString und Treeview
Hallo,
![]() ![]() Wenn Du auf einer Website ein Tutorial findst und diese Webseite dann auch noch gleich ein Forum bietet, solltest Du grundsätzlich immer dort zuerst nachfragen. :wink: P.S.: Und grundsätzlich solltest Du die Fehlermeldung selber gleich mit angeben. Sonst ist es fast unmöglich, Dir zu helfen. |
Re: Probs mit TString und Treeview
Zitat:
Die Fehlermeldung sagt nix aus, da ich (wenn möglich) nur eine kurze Erklärung brauch, wie ich die Procedure einbinden kann. :oops: :?: Oder ein anderes Tutorial, wo ich eine Funktion zum Erstellen einer Liste mit allen Dateien auf einer Festplatte/Partition. Dödel |
Re: Probs mit TString und Treeview
Hallo,
also - die Prozedur ist wie folgt deklariert:
Delphi-Quellcode:
Du übergibst also erst das Startverzeichnis als String (z.B. 'C:\'), dann ein Objekt, welches von TStrings abgeleitet ist (z.B. TStringList), dann optional die Dateimaske (z.B. '*.jpg') und zu guter Letzt noch ein Flag, ob Unterverzeichnisse berücksichtigt werden sollen oder nicht (z.B. TRUE).
procedure GetFiles(const Directory: string; var Files: TStrings;
const FileMask: string = '*.*'; const SubFolders: Boolean = False); Angenommen, Du hast ein Memo-Feld auf Deinem Formular und dieses trägt den Namen 'Memo1'. Dann könntest Du in der onClick-Prozedur Deines Buttons etwa folgendes schreiben:
Delphi-Quellcode:
Dann würde das Ergebnis dieser Suche in das MemoFeld eingetragen werden.
GetFiles('C:\', Memo1.Lines, '*.jpg', TRUE);
|
Re: Probs mit TString und Treeview
Hallo,
Zitat:
Zitat:
Also, wo und wann tritt der FEhler auf? Kannst Du Dein Projekt kompilieren? Oder startest Du die Exe und beim benutzen tritt dann der Fehler auf? Wenn es sich nicht kompilieren lässt, dann steht doch unten die Meldung, diese anklicken, dann Strg+c, dann hier schreiben mit Strg+v. Wenn es eine normale Meldung ist, also mit einer MessageBox, dann mach ein Bild davon oder Tippe den Text ab. Grüsse, Daniel :hi: |
Re: Probs mit TString und Treeview
Jetzt kommt bei mir wieder eine neue Fehlermeldung:
Zitat:
danke Daniel, dass du mir bisher schon recht viel geholfen hast!!!! :angle: Dödel |
Re: Probs mit TString und Treeview
mach in der deklaration mal das "VAR" vor Files weg und versuchs so!
|
Re: Probs mit TString und Treeview
AAAAHHHHHH.
*fluch* Tschuldigung, aber ich bin so verdammt blöd. Ein dummes var lässt mich den ganzen Sonntag grübeln Danke @ all Dödel |
Re: Probs mit TString und Treeview
Hallo,
oder mit leicht verkürztem Kopf und Pfad und Dateiendung werden hintereinader eingegeben, also von der Reihenfolge der Parameter her. Was evtl. etwas "schöner" ist.
Delphi-Quellcode:
Grüsse, Daniel :hi:
procedure GetFiles(const Directory, FileMask: String; Files: TStrings; SubFolders: Boolean);
//Hilfsfunktion, um Schrägstriche hinzuzfügen, wenn nötig function SlashSep(const Path, S: string): string; begin if AnsiLastChar(Path)^ <> '\' then Result := Path + '\' + S else Result := Path + S; end; var SearchRec: TSearchRec; nStatus: Integer; begin //Zuerst alle Dateien im aktuelle Verzeichnis finden if FindFirst(SlashSep(Directory, FileMask), faAnyFile-faDirectory-faVolumeID, SearchRec) = 0 then begin try repeat Files.Add(SlashSep(Directory, SearchRec.Name)); until FindNext(SearchRec) <> 0; finally SysUtils.FindClose(SearchRec); end; end; //Als nächstes nach Unterverzeichnissen suchen und, wenn benötigt, durchsuchen if SubFolders then begin if FindFirst(SlashSep(Directory,'*.*'), faAnyFile, SearchRec) = 0 then begin try repeat //Wenn es ein Verzeichnis ist, Rekursion verwenden if (SearchRec.Attr and faDirectory) <> 0 then begin if ((SearchRec.Name <> '.') and (SearchRec.Name <> '..')) then GetFiles(SlashSep(Directory, SearchRec.Name), FileMask, Files, SubFolders); end; until FindNext(SearchRec) <> 0; finally SysUtils.FindClose(SearchRec); end; end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin GetFiles('C:\', '*.jpg*', Memo1.Lines, False); end; |
Re: Probs mit TString und Treeview
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 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