⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 archives_manage.~cpp

📁 档案管理系统源码
💻 ~CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Archives_Manage.h" //档案管理MDI子窗体头文件
#include "DataModule.h"      //数据模块窗体头文件
#include "Archives_Query.h"  //数据记录查询窗体头文件
#include "MonthCalendar.h"   //日期选择窗体头文件

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "Inherit"
#pragma resource "*.dfm"
TF_Manage *F_Manage;
//---------------------------------------------------------------------------
__fastcall TF_Manage::TF_Manage(TComponent* Owner)
        : TF_Inherit(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TF_Manage::FormCreate(TObject *Sender)
{   /*****档案管理窗体创建事件*****/
//    DM->DS_Class->Enabled = false; //档案分类资料数据源控件处于非使能态,与提交、取消按钮数据感知控件失去关联关系
    TTreeNode *root,*node;     //定义二个存放节点元件TTreeNode
    AnsiString str;
    DM->AT_Class->Filtered = false;  //关闭档案分类资料信息表过滤器
    DM->AQ_Manage->Filtered = false; //关闭档案管理信息表过滤器
    TV_Manage->Items->Clear();  //清空TreeView所有节点
    root = new TTreeNode(TV_Manage->Items); //声明节点元件指标变量
    node = new TTreeNode(TV_Manage->Items);
    root = TV_Manage->Items->AddChild(NULL,"档案分类"); //增加一个根节点
    root->ImageIndex = 0;      //设定档案分类父节点前面图标
    root->SelectedIndex = 1;   //设定档案分类父节点选中时图标
    DM->AT_Class->First();     //设定当前活动记录为第一条记录
    for(int i=0;i<DM->AT_Class->RecordCount;i++){      //填写档案分类信息表中所有记录的分类名字段到TreeView
      str = DM->AT_ClassClass_Name->Value.TrimRight(); //取得档案分类信息表中分类名字段值,注意这种取字段值方法需要在字段编辑器中添加该字段
      node = TV_Manage->Items->AddChild(root,str);      //增加一个子节点
      node->ImageIndex = 2;    //设定档案分类子节点前面图标
      node->SelectedIndex = 3; //设定档案分类子节点选中时图标
      DM->AT_Class->Next();                            //当前活动记录下移一条记录
      }
    root->Expand(true);                                //展开档案分类父结点
//    TV_Manage->Select(root,Classes::TShiftState())
//    root->DisplayRect(true);
    int num;
    DM->AT_Tank->First();      //设定当前活动记录为第一条记录
    for(int i=0;i<DM->AT_Tank->RecordCount;i++){      //填写档案柜资料信息表中所有记录的柜号字段到DBComboBox1
      num = DM->AT_TankTank_ID->Value;                //取得档案柜资料信息表中柜号字段值
      DBComboBox1->Items->Add(IntToStr(num));         //添加一条记录到DBComboBox1
      DM->AT_Tank->Next();                            //当前活动记录下移一条记录
      }
}
//---------------------------------------------------------------------------

void __fastcall TF_Manage::ToolButton1Click(TObject *Sender)
{   /*****增加工具条快捷按钮单击事件*****/
    DM->AT_Count->First();   //移动记录号计数数据表当前活动记录是第一条记录
    int Serial = DM->AT_CountCount_Value->Value; //取得档案记录序号值
    DM->AQ_Manage->Append(); //档案管理信息表处于追加记录状态
    DM->AQ_ManageContent_ID->Value = Serial+1;  //显示当前记录序号
    DM->AQ_ManageContent_Class->Value = TV_Manage->Selected->Text; //填写档案分类名字段
    DM->AT_Class->Filtered = false;  //关闭过滤器
    DM->AT_Class->Filter = "Class_Name = '"+TV_Manage->Selected->Text+"'";      //设置过滤值
    DM->AT_Class->Filtered = true;   //启动过滤器
    DM->AQ_ManageContent_SPerson->Value = DM->AT_ClassArchives_SPerson->Value;  //自动填写建档人员字段
    DM->AQ_ManageContent_STime->Value = DM->AT_ClassArchives_SDate->Value;      //自动填写建档日期字段
    DM->AQ_ManageContent_MPerson->Value = DM->AT_ClassArchives_MPerson->Value;  //自动填写修改人员字段
    DM->AQ_ManageContent_MTime->Value = DM->AT_ClassArchives_MDate->Value;      //自动填写修改日期字段
    ToolButton1->Enabled = false;  //增加按钮非使能
    ToolButton2->Enabled = false;  //编辑按钮非使能
    ToolButton3->Enabled = false;  //删除按钮非使能
    SButton1->Enabled = true;      //日期选择按钮使能
    SButton2->Enabled = true;
}
//---------------------------------------------------------------------------

void __fastcall TF_Manage::ToolButton2Click(TObject *Sender)
{   /*****编辑工具条快捷按钮单击事件*****/
    DM->AQ_Manage->Edit();    //档案管理信息表处于编辑记录状态
    ToolButton1->Enabled = false;  //增加按钮非使能
    ToolButton2->Enabled = false;  //编辑按钮非使能
    ToolButton3->Enabled = false;  //删除按钮非使能
    SButton1->Enabled = true;      //日期选择按钮使能
    SButton2->Enabled = true;
}
//---------------------------------------------------------------------------

void __fastcall TF_Manage::ToolButton3Click(TObject *Sender)
{   /*****删除工具条快捷按钮单击事件*****/
    int Button = MessageBox(NULL,"真的要删除记录吗?","提示对话框",MB_ICONASTERISK);  //弹出提示对话框
    if(Button == IDOK)  //单击OK按钮
      DM->AQ_Manage->Delete();  //删除一条档案管理信息表记录
}
//---------------------------------------------------------------------------

void __fastcall TF_Manage::ToolButton4Click(TObject *Sender)
{   /*****提交工具条快捷按钮单击事件*****/
    DM->AQ_Manage->Post();   //提交对档案管理信息表数据集的操作,操作生效
    DM->AT_Count->First();   //移动记录号计数数据表当前活动记录是第一条记录
    DM->AT_Count->Edit();    //记录号计数数据表处于编辑状态
    DM->AT_CountCount_Value->Value = DBEdit1->Text.ToInt(); //赋分类号字段为分类序列号值
    DM->AT_Count->Post();    //提交分类序列号编辑操作
    ToolButton1->Enabled = true;  //增加按钮使能
    ToolButton2->Enabled = true;  //编辑按钮使能
    ToolButton3->Enabled = true;  //删除按钮使能
    SButton1->Enabled = false;     //日期选择按钮非使能
    SButton2->Enabled = false;
}
//---------------------------------------------------------------------------

void __fastcall TF_Manage::ToolButton6Click(TObject *Sender)
{   /*****取消工具条快捷按钮单击事件*****/
    DM->AQ_Manage->Cancel();  //取消对档案管理信息表数据集的操作,回到前一后提交的数据集
    ToolButton1->Enabled = true;  //增加按钮使能
    ToolButton2->Enabled = true;  //编辑按钮使能
    ToolButton3->Enabled = true;  //删除按钮使能
    SButton1->Enabled = false;     //日期选择按钮非使能
    SButton2->Enabled = false;
}
//---------------------------------------------------------------------------

void __fastcall TF_Manage::ToolButton5Click(TObject *Sender)
{   /*****最前条工具条快捷按钮单击事件*****/
    DM->AQ_Manage->First();       //移动当前活动记录为第一条记录
}
//---------------------------------------------------------------------------

void __fastcall TF_Manage::ToolButton7Click(TObject *Sender)
{   /*****前一条工具条快捷按钮单击事件*****/
    DM->AQ_Manage->Prior();       //当前活动记录前移一条
}
//---------------------------------------------------------------------------

void __fastcall TF_Manage::ToolButton8Click(TObject *Sender)
{   /*****后一条工具条快捷按钮单击事件*****/
    DM->AQ_Manage->Next();       //当前活动记录后移一条
}
//---------------------------------------------------------------------------

void __fastcall TF_Manage::ToolButton9Click(TObject *Sender)
{   /*****最后条工具条快捷按钮单击事件*****/
    DM->AQ_Manage->Last();       //移动当前活动记录为最后一条记录
}
//---------------------------------------------------------------------------

void __fastcall TF_Manage::ToolButton10Click(TObject *Sender)
{   /*****查找工具条快捷按钮单击事件*****/
    DM->AQ_Manage->Filtered = false; //关闭档案管理信息表过滤器
    try{
      F_Query = new TF_Query(Application);  //动态创建数据记录查询窗体
      F_Query->ShowModal();                 //显示数据记录查询窗口
      delete F_Query;                       //释放F_Query对象
      F_Query = NULL;                       //编程技巧,以免重复释放时抛出异常
    }
    catch(Exception &exception){
      delete F_Query;                       //释放F_Query对象
      Application->ShowException(&exception); //弹出异常对话框
    }
}
//---------------------------------------------------------------------------

void __fastcall TF_Manage::ToolButton12Click(TObject *Sender)
{   /*****关闭工具条快捷按钮单击事件*****/
    F_Manage->Close();        //关闭档案分类管理窗口
}
//---------------------------------------------------------------------------

void __fastcall TF_Manage::TV_ManageDblClick(TObject *Sender)
{   /*****TreeView控件双击事件*****/
    if(TV_Manage->Selected->Text!="档案分类"){
      DM->AQ_Manage->Close();  //关闭数据集
      DM->AQ_Manage->SQL->Clear();   //清除SQL语句
      DM->AQ_Manage->SQL->Add("SELECT * FROM Archives_Content WHERE  ");  //添加查询语句
      DM->AQ_Manage->SQL->Add("Content_Class='"+TV_Manage->Selected->Text+"'"); //添加查询条件语句
      DM->AQ_Manage->Open(); //执行SQL语句,打开数据集
//      DM->AQ_Manage->Filtered = false;  //关闭过滤器
//      DM->AQ_Manage->Filter = "Content_Class = '"+TV_Manage->Selected->Text+"'";      //设置过滤值
//      DM->AQ_Manage->Filtered = true;   //启动过滤器
      }
}
//---------------------------------------------------------------------------

void __fastcall TF_Manage::SButton1Click(TObject *Sender)
{   /*****修改日期选择按钮SButton1单击事件*****/
    F_Date->Left = F_Manage->Left+SButton1->Left; //控件日期选择窗口显示位置
    F_Date->Top = F_Manage->Top+SButton1->Top;
    F_Date->ShowModal();   //弹出日期选择窗口
    if(F_Date->ModalResult==mrOk)  //用户确定选择的日期
      DM->AQ_ManageContent_MTime->Value = F_Date->MC_Date->Date; //选择的日期赋建档日期字段
}
//---------------------------------------------------------------------------

void __fastcall TF_Manage::SButton2Click(TObject *Sender)
{   /*****建档日期选择按钮SButton2单击事件*****/
    F_Date->Left = F_Manage->Left+SButton2->Left; //控件日期选择窗口显示位置
    F_Date->Top = F_Manage->Top+SButton2->Top;
    F_Date->ShowModal();   //弹出日期选择窗口
    if(F_Date->ModalResult==mrOk)  //用户确定选择的日期
      DM->AQ_ManageContent_STime->Value = F_Date->MC_Date->Date; //选择的日期赋建档日期字段
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -