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

📄 archives_class.~cpp

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

#include <vcl.h>
#pragma hdrstop

#include "Archives_Class.h"  //MDIChild档案分类管理窗体头文件
#include "DataModule.h"      //数据模块窗体头文件
#include "MonthCalendar.h"   //日期选择窗体头文件
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "Inherit"
#pragma resource "*.dfm"
TF_Class *F_Class;
//---------------------------------------------------------------------------
__fastcall TF_Class::TF_Class(TComponent* Owner)
        : TF_Inherit(Owner)
{   /*****档案分类管理窗体类构造事件*****/
}
//---------------------------------------------------------------------------

void __fastcall TF_Class::FormCreate(TObject *Sender)
{   /*****档案分类管理窗体创建事件*****/
    TTreeNode *root,*node;     //定义二个存放节点元件TTreeNode
    AnsiString str;
//    F_Class->Tag = 1;          //设定档案分类管理窗体标记为1
    DM->AT_Class->Filtered = false;  //关闭档案分类资料信息表过滤器 
    TV_Class->Items->Clear();  //清空TreeView所有节点
    root = new TTreeNode(TV_Class->Items); //声明节点元件指标变量
    node = new TTreeNode(TV_Class->Items);
    root = TV_Class->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_Class->Items->AddChild(root,str);      //增加一个子节点
      node->ImageIndex = 2;    //设定档案分类子节点前面图标
      node->SelectedIndex = 3; //设定档案分类子节点选中时图标
      DM->AT_Class->Next();                            //当前活动记录下移一条记录
      }
    root->Expand(true);                                //展开档案分类父结点
//    F_Class->Tag = 1;          //设定档案分类管理窗体标记为1    
}
//---------------------------------------------------------------------------

void __fastcall TF_Class::DS_State(bool State)
{   /*****用户自定义控制数据感知控件是否可编辑函数*****/
    if(State){  //State为true时,数据感知控件不可编辑
      DBEdit1->ReadOnly = true; DBEdit2->ReadOnly = true;
      DBEdit3->ReadOnly = true; DBEdit4->ReadOnly = true;
      DBEdit5->ReadOnly = true; DBEdit6->ReadOnly = true;
      DBEdit7->ReadOnly = true; DBEdit8->ReadOnly = true;
      SButton1->Enabled = false; SButton2->Enabled = false;
    }
    else{       //State为false时,数据感知控件可编辑
      DBEdit1->ReadOnly = false; DBEdit2->ReadOnly = false;
      DBEdit3->ReadOnly = false; DBEdit4->ReadOnly = false;
      DBEdit5->ReadOnly = false; DBEdit6->ReadOnly = false;
      DBEdit7->ReadOnly = false; DBEdit8->ReadOnly = false;
      SButton1->Enabled = true; SButton2->Enabled = true; 
    }
}
//---------------------------------------------------------------------------


void __fastcall TF_Class::ToolButton1Click(TObject *Sender)
{   /*****增加工具条快捷按钮单击事件*****/
    DS_State(false);         //数据感知控件可编辑
    DM->AT_Count->First();   //移动记录号计数数据表当前活动记录是第一条记录
    DM->AT_Count->MoveBy(2); //当前活动记录下移到第三条记录
    int Serial = DM->AT_CountCount_Value->Value; //取得档案分类序号值
    DM->AT_Class->Append();  //档案分类信息表处于追加记录状态
    DM->AT_ClassClass_ID->Value = Serial+1;  //显示当前记录序号
}
//---------------------------------------------------------------------------

void __fastcall TF_Class::ToolButton2Click(TObject *Sender)
{   /*****编辑工具条快捷按钮单击事件*****/
    DS_State(false);         //数据感知控件可编辑
    DM->AT_Class->Edit();    //档案分类信息表处于编辑记录状态
}
//---------------------------------------------------------------------------

void __fastcall TF_Class::ToolButton3Click(TObject *Sender)
{   /*****删除工具条快捷按钮单击事件*****/
    DM->AT_Class->Delete();  //删除一条档案分类信息表记录
    FormCreate(this);        //刷新TreeView节点值
}
//---------------------------------------------------------------------------

void __fastcall TF_Class::ToolButton4Click(TObject *Sender)
{   /*****提交工具条快捷按钮单击事件*****/
    DS_State(true);          //数据感知控件不可编辑
    DM->AT_Class->Post();    //提交对档案分类信息表数据集的操作,操作生效
    FormCreate(this);        //刷新TreeView节点值
    DM->AT_Count->First();   //移动记录号计数数据表当前活动记录是第一条记录
    DM->AT_Count->MoveBy(2); //当前活动记录下移到第三条记录
    DM->AT_Count->Edit();    //记录号计数数据表处于编辑状态
    DM->AT_CountCount_Value->Value = DBEdit1->Text.ToInt(); //赋分类号字段为分类序列号值
    DM->AT_Count->Post();    //提交分类序列号编辑操作
}
//---------------------------------------------------------------------------

void __fastcall TF_Class::ToolButton6Click(TObject *Sender)
{   /*****取消工具条快捷按钮单击事件*****/
    DS_State(true);          //数据感知控件不可编辑
    DM->AT_Class->Cancel();  //取消对档案分类信息表数据集的操作,回到前一后提交的数据集
}
//---------------------------------------------------------------------------

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

void __fastcall TF_Class::TV_ClassDblClick(TObject *Sender)
{   /*****TreeView控件对象双击事件*****/
    if(TV_Class->Selected->Text!="档案分类"){
      DM->AT_Class->Filtered = false;  //关闭过滤器
      DM->AT_Class->Filter = "Class_Name = '"+TV_Class->Selected->Text+"'";      //设置过滤值
      DM->AT_Class->Filtered = true;   //启动过滤器
      }
}
//---------------------------------------------------------------------------

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

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



⌨️ 快捷键说明

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