📄 disclayout.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "DiscLayout.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "mbCDBC"
#pragma link "mbDrvLib"
#pragma resource "*.dfm"
TfrmDiscLayout *frmDiscLayout;
__fastcall TfrmDiscLayout::TfrmDiscLayout(TComponent* Owner)
: TForm(Owner)
{
}
TfrmDiscLayout::DisplayDirectory(TTreeNode * treenode, PDirEntry Dir)
{
TTreeNode * Node = new TTreeNode(tvDir->Items);
PFileEntry CurrentFile;
if (Dir == NULL)
return 0;
CurrentFile = Dir->Files;
while ( CurrentFile != NULL )
{
if (CurrentFile->Attr == faDirectory )
{
Node = tvDir->Items->AddChildObject(treenode, CurrentFile->LongName, CurrentFile->DirRec);
DisplayDirectory(Node, CurrentFile->DirRec);
}
CurrentFile = CurrentFile->Next;
}
}
void __fastcall TfrmDiscLayout::FormShow(TObject *Sender)
{
TTreeNode * RootNode = new TTreeNode(tvDir->Items);
Form1->mcdb->FindDir("\\");
RootNode = tvDir->Items->InsertObject(NULL,"CDROOT", Form1->mcdb->RootDir);
DisplayDirectory(RootNode, Form1->mcdb->RootDir);
tvDir->Selected = RootNode;
tvDirClick(Sender);
}
void __fastcall TfrmDiscLayout::tvDirClick(TObject *Sender)
{
PDirEntry p;
PFileEntry f;
int i;
p = (PDirEntry) 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 & Time ";
fl->Cells[3][0] = " Time";
while (f != NULL)
{
fl->Cells[0][i] = f->LongName;
if ((f->Attr & faDirectory) != faDirectory)
{
fl->Objects[1][i] = (TObject *) f;
fl->Cells[1][i] = IntToDec(f->FileSize, 9, " ");
fl->Cells[2][i] = FormatDateTime("mm-dd-yyy hh:nn:ss", f->Time);
}
else
{
fl->Cells[1][i] = " < DIR > ";
fl->Objects[1][i] = (TObject *) f;
}
f = f->Next;
i++;
}
if (i == 1)
{
fl->Rows[1]->Clear();
i = 2;
}
fl->RowCount = i;
}
void __fastcall TfrmDiscLayout::FormClose(TObject *Sender,
TCloseAction &Action)
{
Action = caFree;
}
void __fastcall TfrmDiscLayout::MenuItem1Click(TObject *Sender)
{
PFileEntry SourceFile;
PDirEntry p;
SourceFile = (PFileEntry)fl->Objects[1][fl->Row];
if ( SourceFile != NULL)
if ((SourceFile->Attr & faDirectory) == faDirectory)
{
ShowMessage("You can not delete directory, " + SourceFile->LongName
+ " is a directory, use tree view to delete directory");
return;
}
if ( SourceFile != NULL)
{
p = (TDEntry *) tvDir->Selected->Data;
mcdb->RemoveFile(p, SourceFile );
tvDirClick(Sender);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -