📄 delusers.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "DelUsers.h"
extern MFD Mfd;
extern FILE *Mfp;
extern queue<DIRECTORY> que;
extern DIRECTORY Root;
extern TTreeNode *CurrNode;
extern DIRECTORY CurrDir;
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm8 *Form8;
//---------------------------------------------------------------------------
__fastcall TForm8::TForm8(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm8::CloseBnClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm8::DelBnClick(TObject *Sender)
{
if(ComboBox1->Text==""){
ShowMessage("请先选择要删除的用户");return;}
String user=ComboBox1->Text;
if(MessageDlg("确定删除用户"+ComboBox1->Text+"吗?该用户所有文件将被删除!"
,mtInformation,TMsgDlgButtons()<<mbYes<<mbNo, 0)==mrYes){
MFD m=Mfd->Next,n=m->Next;
while(n->user!=ComboBox1->Text){
m=n;n=n->Next; }
m->Next=n->Next;
delete (n);
ComboBox1->DeleteSelected();
m=Mfd->Next; //更新Form1
Form1->ComboBox1->Clear();
while(m){
Form1->ComboBox1->Items->Add(m->user);
m=m->Next;
}
Form1->ComboBox1->ItemIndex=0;
//删除用户建立的所有信息
DIRECTORY dir,subdir;
FILENODE file;
que.push(Root); //从根目录查起
while(!que.empty())
{
dir=que.front();
que.pop();
file=dir->filenode;
while(file){ //删除文件
if(file->del==0&&(file->user==user||dir->del==1)){
file->del=1;dir->filenum--;}
file=file->next;
}
subdir=dir->dirpoint;
while(subdir) //子目录入队列
{
if(subdir->del==0&&(subdir->user==user||dir->del==1)){
subdir->del=1;dir->dirnum--;
}
que.push(subdir);
subdir=subdir->next;
}
} //while
Form2->TreeView1->Items->Clear();
Form2->ListTree(Root,NULL,0);
CurrNode=Form2->TreeView1->TopItem;
CurrDir=Root;
Form2->ComboBox1->Text="Root\\";
Form2->ShowDir(Root);
ShowMessage("用户"+user+"删除成功!");
} //if
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -