📄 bas200_15.pas.svn-base
字号:
unit Bas200_15;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Bas100_01, Menus, ActnList, ComCtrls, ToolWin, ExtCtrls,
StdCtrls, DB, ADODB, wwDBGrid;
type
TBas200_15Form = class(TBas100_01Form)
Panel1: TPanel;
Image1: TImage;
CoolBar1: TCoolBar;
ToolBar2: TToolBar;
tlbFirst: TToolButton;
tlbPrior: TToolButton;
tlbNext: TToolButton;
tlbLast: TToolButton;
ToolButton1: TToolButton;
tlbInsert: TToolButton;
tlbUpdate: TToolButton;
tlbDelete: TToolButton;
ToolButton2: TToolButton;
tlbSave: TToolButton;
tlbCancel: TToolButton;
ToolButton3: TToolButton;
tlbRefresh: TToolButton;
tlbLocate: TToolButton;
tlbSearch: TToolButton;
tlbPrint: TToolButton;
ToolButton6: TToolButton;
tlbExit: TToolButton;
ActionList1: TActionList;
ActFirst: TAction;
ActPrior: TAction;
ActNext: TAction;
ActLast: TAction;
ActInsert: TAction;
ActUpdate: TAction;
ActDelete: TAction;
ActSave: TAction;
ActCancel: TAction;
ActRefresh: TAction;
ActLocate: TAction;
ActSearch: TAction;
ActPrint: TAction;
ActExit: TAction;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
ScrollBox1: TScrollBox;
gbCreate: TGroupBox;
lblCreateDate: TLabel;
lblCreateBy: TLabel;
lblUpdateDate: TLabel;
lblUpdateBy: TLabel;
edtCreateDate: TEdit;
edtCreateBy: TEdit;
edtUpdateDate: TEdit;
edtUpdateBy: TEdit;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
gbInfo: TGroupBox;
lblCode: TLabel;
edtCode: TEdit;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ActFirstExecute(Sender: TObject);
procedure ActPriorExecute(Sender: TObject);
procedure ActNextExecute(Sender: TObject);
procedure ActLastExecute(Sender: TObject);
procedure ActInsertExecute(Sender: TObject);
procedure ActUpdateExecute(Sender: TObject);
procedure ActDeleteExecute(Sender: TObject);
procedure ActSaveExecute(Sender: TObject);
procedure ActCancelExecute(Sender: TObject);
procedure ActRefreshExecute(Sender: TObject);
procedure ActLocateExecute(Sender: TObject);
procedure ActSearchExecute(Sender: TObject);
procedure ActPrintExecute(Sender: TObject);
procedure ActExitExecute(Sender: TObject);
procedure ADOQuery1AfterScroll(DataSet: TDataSet);
procedure ADOQuery1BeforeOpen(DataSet: TDataSet);
procedure ADOQuery1AfterOpen(DataSet: TDataSet);
private
procedure SetButtonState(AInsUpd:Boolean);
procedure SaveData;
{ Private declarations }
public
{ Public declarations }
protected
AMode,AOldCode:String;
AIsAutoCode:Boolean;
ATableName,AFieldName:string;
procedure SetInterface; virtual;
procedure GetDataInfo; virtual;
procedure InsertEvent; virtual;
procedure UpdateEvent; virtual;
procedure DeleteEvent; virtual;
procedure SetEmptyInit; virtual;
procedure TableBeforePost; virtual;
procedure TableAfterPost; virtual;
procedure ReportGetValue(const ParName: String; var ParValue: Variant); virtual;
end;
var
Bas200_15Form: TBas200_15Form;
implementation
uses SYSDATA, CommFun;
{$R *.dfm}
//设置按钮状态
procedure TBas200_15Form.SetButtonState(AInsUpd:Boolean);
var
I:Integer;
begin
ActFirst.Enabled:=not AInsUpd;
ActPrior.Enabled:=not AInsUpd;
ActNext.Enabled:=not AInsUpd;
ActLast.Enabled:=not AInsUpd;
ActInsert.Enabled:=(ARights[2]='Y') and (not AInsUpd);
ActUpdate.Enabled:=(ARights[3]='Y') and (not AInsUpd);
ActDelete.Enabled:=(ARights[4]='Y') and (not AInsUpd);
ActSave.Enabled:=AInsUpd;
ActCancel.Enabled:=AInsUpd;
ActRefresh.Enabled:=not AInsUpd;
ActLocate.Enabled:=not AInsUpd;
ActSearch.Enabled:=not AInsUpd;
ActPrint.Enabled:=(ARights[5]='Y') and (not AInsUpd);
ActExit.Enabled:=True;
for I:=0 to ComponentCount-1 do
begin
if (Components[I] is TGroupBox) then
begin
TGroupBox(Components[I]).Enabled:=AInsUpd;
end else
if (Components[I] is TwwDBGrid) then
begin
TwwDBGrid(Components[I]).ReadOnly:=not AInsUpd;
end;
if (Components[I] is TScrollBox) then
begin
TScrollBox(Components[I]).Enabled:=AInsUpd;
end;
end;
if AInsUpd then PageControl1.ActivePageIndex:=0;
end;
//设置界面信息
procedure TBas200_15Form.SetInterface;
begin
Image1.Picture.Bitmap.LoadFromResourceName(AImgHandle,'TOPTITL');
ActFirst.Caption:=GetDBString('COM00005001'); //最前
ActPrior.Caption:=GetDBString('COM00005002'); //上移
ActNext.Caption:=GetDBString('COM00005003'); //下移
ActLast.Caption:=GetDBString('COM00005004'); //最后
ActInsert.Caption:=GetDBString('COM00005005'); //新增
ActUpdate.Caption:=GetDBString('COM00005006'); //修改
ActDelete.Caption:=GetDBString('COM00005007'); //删除
ActSave.Caption:=GetDBString('COM00005008'); //保存
ActCancel.Caption:=GetDBString('COM00005009'); //取消
ActRefresh.Caption:=GetDBString('COM00005010'); //刷新
ActLocate.Caption:=GetDBString('COM00005011'); //查找
ActSearch.Caption:=GetDBString('COM00005012'); //查询
ActExit.Caption:=GetDBString('COM00005015'); //退出
ActFirst.Hint:=GetDBString('COM00005001',2); //移到第一条记录
ActPrior.Hint:=GetDBString('COM00005002',2); //移到上一条记录
ActNext.Hint:=GetDBString('COM00005003',2); //移到下一条记录
ActLast.Hint:=GetDBString('COM00005004',2); //移到最后一条记录
ActInsert.Hint:=GetDBString('COM00005005',2); //新增一条记录
ActUpdate.Hint:=GetDBString('COM00005006',2); //修改当前记录
ActDelete.Hint:=GetDBString('COM00005007',2); //删除当前记录
ActSave.Hint:=GetDBString('COM00005008',2); //保存编辑的记录
ActCancel.Hint:=GetDBString('COM00005009',2); //取消编辑的记录
ActRefresh.Hint:=GetDBString('COM00005010',2); //取得最新的数据
ActLocate.Hint:=GetDBString('COM00005011',2); //快速定位记录
ActSearch.Hint:=GetDBString('COM00005012',2); //按条件查询数据
ActExit.Hint:=GetDBString('COM00005015',2); //关闭当前窗口
lblCreateDate.Caption:=GetDBString('COM00005075'); //制单日期
lblCreateBy.Caption:=GetDBString('COM00005076'); //制单人员
lblUpdateDate.Caption:=GetDBString('COM00005077'); //修改日期
lblUpdateBy.Caption:=GetDBString('COM00005078'); //修改人员
gbInfo.Caption:=GetDBString('COM00005079'); //基本信息
PageControl1.ActivePageIndex:=0;
AIsAutoCode:=GetAutoCoding(AProgramID);
edtCode.Enabled:=GetIsModifyCoding(AProgramID);
if edtCode.Enabled then edtCode.Color:=AEnableColor else edtCode.Color:=ADisableColor;
end;
procedure TBas200_15Form.FormCreate(Sender: TObject);
begin
inherited;
SetInterface;
SetButtonState(False);
end;
procedure TBas200_15Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
if ActSave.Enabled then
begin
if ShowDialog('UMS10000007')=IDNO then //数据尚未保存,现在保存吗?
ActCancel.Execute
else
ActSave.Execute;
end;
ADOQuery1.Close;
end;
procedure TBas200_15Form.ActFirstExecute(Sender: TObject);
begin
inherited;
//最前
if ADOQuery1.IsEmpty then Exit;
ADOQuery1.First;
ActFirst.Enabled:=False;
ActPrior.Enabled:=False;
ActNext.Enabled:=True;
ActLast.Enabled:=True;
end;
procedure TBas200_15Form.ActPriorExecute(Sender: TObject);
begin
inherited;
//上移
if ADOQuery1.IsEmpty then Exit;
ADOQuery1.Prior;
ActNext.Enabled:=not ADOQuery1.Eof;
ActLast.Enabled:=not ADOQuery1.Eof;
ActFirst.Enabled:=not ADOQuery1.Bof;
ActPrior.Enabled:=not ADOQuery1.Bof;
end;
procedure TBas200_15Form.ActNextExecute(Sender: TObject);
begin
inherited;
//下移
if ADOQuery1.IsEmpty then Exit;
ADOQuery1.Next;
ActNext.Enabled:=not ADOQuery1.Eof;
ActLast.Enabled:=not ADOQuery1.Eof;
ActFirst.Enabled:=not ADOQuery1.Bof;
ActPrior.Enabled:=not ADOQuery1.Bof;
end;
procedure TBas200_15Form.ActLastExecute(Sender: TObject);
begin
inherited;
//最后
if ADOQuery1.IsEmpty then Exit;
ADOQuery1.Last;
ActNext.Enabled:=False;
ActLast.Enabled:=False;
ActFirst.Enabled:=True;
ActPrior.Enabled:=True;
end;
procedure TBas200_15Form.ActInsertExecute(Sender: TObject);
var
ADate:TDateTime;
begin
inherited;
//新增
try
Screen.Cursor:=crHourGlass;
AMode:='ADD';
ADate:=GetServerDate;
edtCreateDate.Text:=FormatDateTime('yyyy-mm-dd hh:mm:ss',ADate);
edtCreateBy.Text:=AUserName;
edtUpdateDate.Text:=FormatDateTime('yyyy-mm-dd hh:mm:ss',ADate);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -