📄 archives_class.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 + -