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

📄 archives_class.pas

📁 该文件主要应用于档案资料管理
💻 PAS
字号:
unit Archives_Class;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Inherit, ImgList, ComCtrls, ToolWin, Menus, StdCtrls, Mask,
  DBCtrls, ExtCtrls, Buttons;

type
  TClassFrm = class(TTInherit)
    PopupMenu1: TPopupMenu;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    Label3: TLabel;
    DBEdit4: TDBEdit;
    Label4: TLabel;
    DBEdit5: TDBEdit;
    Label5: TLabel;
    Label6: TLabel;
    DBEdit6: TDBEdit;
    Label7: TLabel;
    DBEdit7: TDBEdit;
    Label8: TLabel;
    P_Add: TMenuItem;
    P_Modify: TMenuItem;
    P_Delete: TMenuItem;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    DBEdit8: TDBEdit;
    Splitter1: TSplitter;
    TV_Class: TTreeView;
    ImageList2: TImageList;
    procedure FormCreate(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure TV_ClassDblClick(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
  private
    { Private declarations }
    procedure DS_State(State:boolean); //用户自定义控制数据感知控件是否可编辑函数
  public
    { Public declarations }
  end;

var
  ClassFrm: TClassFrm;

implementation
  uses DataModule,MonthCalendar;
{$R *.dfm}

procedure TClassFrm.FormCreate(Sender: TObject);
var    {*****档案分类管理窗体创建事件*****}
    root,node:TTreeNode;    //定义二个存放节点元件TTreeNode
    str:AnsiString;
    i:integer;
begin
  inherited;
  DM.A_Class.Filtered:=false;//关闭档案分类资料信息表过滤器
  TV_Class.Items.Clear;      //清空TreeView所有节点
  root:=TTreeNode.Create(TV_Class.Items);  //声明节点文件指标变量
  node:=TTreeNode.Create(TV_Class.Items);
  root:=TV_Class.Items.AddChild(NiL,'档案分类');//增加档案分类父节点
  root.ImageIndex:=0;            //设定档案分类父节点前面图标
  root.SelectedIndex:=1;         //设定档案分类父节点选中时图标
  DM.A_Class.First;              //设定当前活动记录为第一条记录
  for i:=0 to DM.A_Class.RecordCount-1 do
    //填写档案分类信息表中所有记录的分类名字段到TreeView
    begin
      //取得档案分类信息表中分类名字段值并去掉后面空格
      str:=TrimRight(DM.A_Class['Class_Name']);
      node:=TV_Class.Items.AddChild(root,str);//增加一个子节点
      node.ImageIndex:=2;            //设定档案分类子节点前面图标
      node.SelectedIndex:=3;         //设定档案分类子节点选中时图标
      DM.A_Class.Next;               //当前活动记录下移一条记录
      end;
    root.Expand(true);               //展开档案分类父结点
end;

procedure TClassFrm.DS_State(State:boolean);
begin
  if State then     //State为true时,数据感知控件不可编辑
    begin
    DBEdit1.ReadOnly:=true;     DBEdit2.ReadOnly:=true;
    DBEdit3.ReadOnly:=true;     DBEdit4.ReadOnly:=true;
    DBEdit5.ReadOnly:=true;     DBEdit6.ReadOnly:=true;
    DBEdit7.ReadOnly:=true;     DBEdit8.ReadOnly:=true;
    SpeedButton1.Enabled:=false;     SpeedButton2.Enabled:=false;
    end
  else
    begin
    DBEdit1.ReadOnly:=false;     DBEdit2.ReadOnly:=false;
    DBEdit3.ReadOnly:=false;     DBEdit4.ReadOnly:=false;
    DBEdit5.ReadOnly:=false;     DBEdit6.ReadOnly:=false;
    DBEdit7.ReadOnly:=false;     DBEdit8.ReadOnly:=false;
    SpeedButton1.Enabled:=true;      SpeedButton2.Enabled:=true;
    end;
end;


//增加工具条快捷按钮单击事件
procedure TClassFrm.ToolButton1Click(Sender: TObject);
var
  Serial:integer;
begin
  inherited;
  DS_State(false);     //数据感知控件可编辑
  DM.A_Count.First;    //移动记录号计数数据表当前活动记录是第一条记录
  DM.A_Count.MoveBy(2); //当前活动记录下移到第三条记录
  Serial:=DM.A_Count['Count_Value']; //取得档案分类序号值
  DM.A_Class.Append;        //档案分类信息表处于追加记录状态
  DM.A_Class['Class_ID']:=Serial+1; //显示当前记录序号
end;

//编辑工具条快捷按钮单击事件
procedure TClassFrm.ToolButton2Click(Sender: TObject);
begin
  inherited;
  DS_State(false);     //数据感知控件可编辑
  DM.A_Class.Edit;     //档案分类信息表处于编辑记录状态
end;

//删除工具条快捷按钮单击事件
procedure TClassFrm.ToolButton3Click(Sender: TObject);
begin
  inherited;
  DM.A_Class.Delete;     //删除一条档案分类信息表记录
  FormCreate(Sender);    //刷新TreeView节点值
end;

//保存工具条快捷按钮单击事件
procedure TClassFrm.ToolButton4Click(Sender: TObject);
begin
  inherited;
  DS_State(true);     //数据感知控件可编辑
  DM.A_Class.Post;        //对档案分类信息表数据集的操作保存,操作生效
  FormCreate(Sender);    //刷新TreeView节点值
  DM.A_Count.First;    //移动记录号计数数据表当前活动记录是第一条记录
  DM.A_Count.MoveBy(2); //当前活动记录下移到第三条记录
  DM.A_Count.Edit;      //记录号计数数据表处于编辑状态
  DM.A_Count['Count_Value']:=StrToInt(DBEdit1.Text); //赋分类号字段为分类序号值
  DM.A_Count.Post;        //保存分类分类序列号编辑操作
end;

//取消工具条快捷按钮单击事件
procedure TClassFrm.ToolButton5Click(Sender: TObject);
begin
  inherited;
  DS_State(true);     //数据感知控件不可编辑
  DM.A_Class.Cancel;  //取消对档案分类信息表数据集的操作,回到前一后提交的数据集
end;

//关闭工具条快捷按钮单击事件
procedure TClassFrm.ToolButton12Click(Sender: TObject);
begin
  inherited;
  ClassFrm.Close;    //关闭档案分类管理窗口  
end;

procedure TClassFrm.SpeedButton1Click(Sender: TObject);
begin
  inherited;
    DateFrm.Left:=ClassFrm.Left+SpeedButton1.Left; //控件日期选择窗口显示位置
    DateFrm.Top:=ClassFrm.Top+SpeedButton1.Top;
    DateFrm.ShowModal;   //弹出日期选择窗口
    if DateFrm.ModalResult = mrOk then  //用户确定选择的日期
      DM.A_Class['Archives_STime'] := DateFrm.MC_Date.Date; //选择的日期赋建档日期字段
end;

procedure TClassFrm.TV_ClassDblClick(Sender: TObject);
begin
  inherited;
     if TV_Class.Selected.Text<>'档案分类' then
      begin
      DM.A_Class.Filtered:= false;  //关闭过滤器
      DM.A_Class.Filter:='Class_Name ='''+TV_Class.Selected.Text+'''';      //设置过滤值
      DM.A_Class.Filtered:=true;   //启动过滤器
      end;
end;

procedure TClassFrm.SpeedButton2Click(Sender: TObject);
begin
  inherited;
    DateFrm.Left:=ClassFrm.Left+SpeedButton2.Left; //控件日期选择窗口显示位置
    DateFrm.Top:=ClassFrm.Top+SpeedButton2.Top;
    DateFrm.ShowModal;   //弹出日期选择窗口
    if DateFrm.ModalResult = mrOk then  //用户确定选择的日期
      DM.A_Class['Archives_MTime'] := DateFrm.MC_Date.Date; //选择的日期赋建档日期字段
end;

end.

⌨️ 快捷键说明

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