📄 unit5.pas
字号:
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, Grids, ExtCtrls, ComCtrls, StdCtrls, Menus, mbISOLib, mbDrvLib,
mbCDBC;
type
TForm5 = class(TForm)
tvDir: TTreeView;
Splitter1: TSplitter;
fl: TStringGrid;
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
Panel2: TPanel;
PopupMenu1: TPopupMenu;
Delete1: TMenuItem;
PopupMenu2: TPopupMenu;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
Refresh1: TMenuItem;
MCDBurner1: TMCDBurner;
procedure FormShow(Sender: TObject);
procedure tvDirClick(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
procedure Refresh1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure DisplayDir(treenode: TTreeNode; Dir: PDirEntry);
end;
var
Form5: TForm5;
implementation
uses unit1;
var
mcdb: TMCDBurner;
{$R *.dfm}
procedure TForm5.DisplayDir(treenode: TTreeNode; Dir: PDirEntry);
var
Node: TTreeNode;
CurrentFile: PFileEntry;
begin
if (Dir = nil) then exit;
CurrentFile := Dir.Files;
while CurrentFile <> nil do
begin
if CurrentFile.Attr = faDirectory then
begin
Node := tvDir.Items.AddChildObject(treenode, CurrentFile.LongName, CurrentFile.DirRec);
DisplayDir(Node, CurrentFile.DirRec);
end;
CurrentFile := CurrentFile.Next;
end;
end;
procedure TForm5.FormShow(Sender: TObject);
var
RootNode: TTreeNode;
begin
mcdb := form1.mcdb;
RootNode := tvdir.Items.InsertObject(nil,'CDROOT', mcdb.RootDir);
DisplayDir(RootNode, mcdb.RootDir);
tvdir.Selected := RootNode;
tvdirClick(Sender);
end;
procedure TForm5.tvDirClick(Sender: TObject);
var
p: PDirEntry;
f: PFileEntry;
i: Integer;
begin
p := tvDir.Selected.Data;
f := p.Files;
i := 1;
fl.Cells[0, 0] := 'File Name';
fl.Cells[1, 0] := 'File Size';
fl.Cells[2, 0] := ' Date';
fl.Cells[3, 0] := ' Time';
while f <> nil do
begin
fl.Cells[0, i] := f.LongName;
if ((f.Attr and faDirectory) <> faDirectory) then
begin
fl.Objects[1, i] := TObject(f);
fl.Cells[1, i] := IntToDec(f.FileSize, 9, ' ')
end
else
begin
fl.Cells[1, i] := ' < DIR > ';
fl.Objects[1, i] := TObject(f);
end;
f := f.Next;
Inc(i);
end;
if i = 1 then
begin
fl.Rows[1].Clear;
i := 2;
end;
fl.RowCount := i;
{ lb.Clear;
for i:=1 to DirCounter -1 do
begin
p := Dirs[i];
lb.Items.Add(p.LongName);
end;}
end;
procedure TForm5.FormKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #27 then close;
end;
procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TForm5.Button1Click(Sender: TObject);
begin
while tvDir.Items.Count <> 0 do
tvDir.Items[0].Delete;
FormShow(Sender);
end;
procedure TForm5.Refresh1Click(Sender: TObject);
begin
Button1Click(Sender);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -