unit SerienDatabase;
interface
uses
Winapi.Windows,
Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Vcl.StdCtrls,
Vcl.ComCtrls,
Vcl.ExtCtrls;
type
TSerienDB =
class(TForm)
BtnPlay: TButton;
BtnLaden: TButton;
LbEVerzeichnis: TLabeledEdit;
Memo1: TMemo;
procedure BtnLadenClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
SerienDB: TSerienDB;
LfdNummer: Integer;
implementation
{$R *.dfm}
procedure FindAllFiles(RootFolder:
string; Mask:
string = '
*.*'; Recurse: Boolean = True);
var
SR: TSearchRec;
DateiListe: TStringList;
begin
RootFolder := IncludeTrailingPathDelimiter(RootFolder);
DateiListe := TStringList.Create;
DateiListe.Sorted := true;
if Recurse
then
if FindFirst(RootFolder + '
*.*', faAnyFile, SR) = 0
then
try
repeat
if SR.Attr
and faDirectory = faDirectory
then
// --> ein Verzeichnis wurde gefunden
if (SR.
Name <> '
.')
and (SR.
Name <> '
..')
then
begin
(* Verzeichnis gefunden *)
DateiListe.Add(Format('
%.*d', [4, LfdNummer]) +'
S: ' +SR.
Name);
LfdNummer := LfdNummer +1;
FindAllFiles(RootFolder + SR.
Name, Mask, Recurse);
end;
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0
then
try
repeat
if SR.Attr
and faDirectory <> faDirectory
then
begin
// --> eine Datei wurde gefunden
DateiListe.Add(Format('
%.*d', [4, LfdNummer]) +'
F: ' +SR.
Name);
LfdNummer := LfdNummer +1;
end;
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
Dateiliste.Sort;
SerienDB.Memo1.Lines.AddStrings(DateiListe);
DateiListe.Free;
end;
procedure TSerienDB.BtnLadenClick(Sender: TObject);
begin
LfdNummer := 1;
FindAllFiles(LbEVerzeichnis.Text);
end;
end.