unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DirDialog, StdCtrls, Menus, Printers;
type
Tframeumbenennen =
class(TFrame)
pnlmenue: TPanel;
gbeingabe: TGroupBox;
edteingabe: TEdit;
btnordner: TButton;
gbdatei: TGroupBox;
lbdateien: TListBox;
ordner: TDirDialog;
popumbenennen: TPopupMenu;
Dateiumbenennen1: TMenuItem;
Dateilschen1: TMenuItem;
Listelschen1: TMenuItem;
Listedrucken1: TMenuItem;
PrintDialog1: TPrintDialog;
Aktualisieren1: TMenuItem;
procedure FrameResize(Sender: TObject);
procedure btnordnerClick(Sender: TObject);
procedure Listelschen1Click(Sender: TObject);
procedure Listedrucken1Click(Sender: TObject);
procedure Dateilschen1Click(Sender: TObject);
procedure Dateiumbenennen1Click(Sender: TObject);
procedure Aktualisieren1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
procedure dateien_laden(Directory:
String);
{ Public-Deklarationen }
end;
implementation
uses Unit1, Unit5;
{$R *.dfm}
procedure Tframeumbenennen.dateien_laden(Directory:
String);
var
SR: TSearchRec;
begin
if (Directory<>'
')
and (Directory[length(Directory)]<>'
\')
then
Directory:=Directory+'
\';
if (FindFirst(Directory + '
*.mp3', faAnyFile-faDirectory, SR) = 0)
then
begin
repeat
if (SR.
Name<>'
.')
and (SR.
Name<>'
..')
and (SR.Attr<>faDirectory)
then
begin
lbdateien.Items.Add(Directory + SR.
Name);
end;
until FindNext(SR)<>0;
FindClose(SR);
end;
end;
procedure Tframeumbenennen.FrameResize(Sender: TObject);
begin
pnlmenue.Width := frmprogramm.Width - frmprogramm.pnlmenue.Width - 32;
pnlmenue.Height := frmprogramm.pnlmenue.Height;
end;
procedure Tframeumbenennen.btnordnerClick(Sender: TObject);
begin
lbdateien.Items.Clear;
if ordner.Execute
then
begin
edteingabe.Text := ordner.DirName;
end;
if edteingabe.text <> '
'
then
begin
dateien_laden(edteingabe.text);
end;
end;
procedure Tframeumbenennen.Listelschen1Click(Sender: TObject);
begin
lbdateien.Items.Clear;
end;
procedure Tframeumbenennen.Listedrucken1Click(Sender: TObject);
var
Line: Integer;
PrintText: TextFile;
pesmica:
String;
begin
if PrintDialog1.Execute
then
begin
AssignPrn(PrintText);
Rewrite(PrintText);
for Line := 0
to lbdateien.Items.Count - 1
do
begin
pesmica := ExtractFileName(lbdateien.Items[Line]);
Writeln(PrintText, inttostr(Line) + '
: ' + pesmica);
end;
CloseFile(PrintText);
end;
end;
procedure Tframeumbenennen.Dateilschen1Click(Sender: TObject);
begin
DeleteFile(lbdateien.Items[lbdateien.ItemIndex]);
lbdateien.Items.Clear;
dateien_laden(edteingabe.text);
end;
procedure Tframeumbenennen.Dateiumbenennen1Click(Sender: TObject);
begin
if lbdateien.ItemIndex >= 0
then
begin
ordnerici := ExtractFileDir(lbdateien.Items[lbdateien.ItemIndex]);
frmumbenennen1.edtalt.Text := ExtractFileName(lbdateien.Items[lbdateien.ItemIndex]);
frmumbenennen1.edtneu.Text := ExtractFileName(lbdateien.Items[lbdateien.ItemIndex]);
frmumbenennen1.Show;
end;
end;
procedure Tframeumbenennen.Aktualisieren1Click(Sender: TObject);
begin
lbdateien.Items.Clear;
dateien_laden(edteingabe.text);
end;
end.