📄 rab150_01.pas.svn-base
字号:
unit Rab150_01;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, Menus, Grids, ComCtrls, ExtCtrls, ToolWin,
wwdbdatetimepicker, StdCtrls, DBCtrls, Mask, Buttons, Bas200_01, dxExEdtr,
ADODB, dxCntner, dxTL, dxDBCtrl, dxDBGrid, ActnList, dxDBTLCl, dxGrClms,
wwfltdlg, wwDialog, Wwlocate, Wwintl;
type
TRab150_01Form = class(TBas200_01Form)
Label1: TLabel;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
DBEdit5: TDBEdit;
Label6: TLabel;
DBEdit6: TDBEdit;
Label7: TLabel;
DBEdit7: TDBEdit;
wwDBDateTimePicker1: TwwDBDateTimePicker;
wwDBDateTimePicker2: TwwDBDateTimePicker;
Label8: TLabel;
DBEdit1: TDBEdit;
ComboBox1: TComboBox;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
ADOQuery1R150_001: TIntegerField;
ADOQuery1R150_003: TIntegerField;
ADOQuery1R150_004: TDateTimeField;
ADOQuery1R150_005: TDateTimeField;
ADOQuery1R150_006: TFloatField;
ADOQuery1R150_007: TFloatField;
ADOQuery1R150_008: TStringField;
qryHrm150: TADOQuery;
qryHrm150H150_001: TAutoIncField;
qryHrm150H150_002: TStringField;
qryHrm150H150_003: TStringField;
ADOQuery1H150_002: TStringField;
ADOQuery1H150_003: TStringField;
dxDBGrid1R150_002: TdxDBGridColumn;
dxDBGrid1R150_003: TdxDBGridMaskColumn;
dxDBGrid1R150_004: TdxDBGridDateColumn;
dxDBGrid1R150_005: TdxDBGridDateColumn;
dxDBGrid1R150_006: TdxDBGridMaskColumn;
dxDBGrid1R150_007: TdxDBGridMaskColumn;
dxDBGrid1R150_008: TdxDBGridColumn;
dxDBGrid1H150_002: TdxDBGridColumn;
dxDBGrid1H150_003: TdxDBGridColumn;
ADOQuery1R150_002: TSmallintField;
procedure FormCreate(Sender: TObject);
procedure DBEdit2Exit(Sender: TObject);
procedure DBEdit2KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton1Click(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ADOQuery1R150_002GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure ADOQuery1AfterScroll(DataSet: TDataSet);
procedure ActSaveExecute(Sender: TObject);
procedure ADOQuery1CalcFields(DataSet: TDataSet);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
AType:array[0..3] of string;
{ Private declarations }
public
procedure SetInterface; override;
procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
{ Public declarations }
end;
var
Rab150_01Form: TRab150_01Form;
implementation
uses SYSDATA, HwSelData, CommFun;
{$R *.DFM}
procedure TRab150_01Form.SetInterface;
begin
inherited;
Caption:=GetDBString('RAB15001001'); //就餐资料维护
Label8.Caption:=GetDBString('RAB15001002'); //员工编号
Label1.Caption:=GetDBString('RAB15001004'); //餐别
Label3.Caption:=GetDBString('RAB15001006'); //起始日期
Label4.Caption:=GetDBString('RAB15001007'); //结束日期
Label2.Caption:=GetDBString('RAB15001005'); //就餐数量
Label5.Caption:=GetDBString('RAB15001008'); //单价
Label6.Caption:=GetDBString('RAB15001009'); //金额小计
Label7.Caption:=GetDBString('RAB15001010'); //备注
ADOQuery1H150_002.DisplayLabel:=GetDBString('RAB15001002'); //员工编号
ADOQuery1H150_003.DisplayLabel:=GetDBString('RAB15001003'); //员工姓名
ADOQuery1R150_002.DisplayLabel:=GetDBString('RAB15001004'); //餐别
ADOQuery1R150_003.DisplayLabel:=GetDBString('RAB15001005'); //就餐数量
ADOQuery1R150_004.DisplayLabel:=GetDBString('RAB15001006'); //起始日期
ADOQuery1R150_005.DisplayLabel:=GetDBString('RAB15001007'); //结束日期
ADOQuery1R150_006.DisplayLabel:=GetDBString('RAB15001008'); //单价
ADOQuery1R150_007.DisplayLabel:=GetDBString('RAB15001009'); //金额小计
ADOQuery1R150_008.DisplayLabel:=GetDBString('RAB15001010'); //备注
qryHrm150H150_002.DisplayLabel:=GetDBString('RAB15001002'); //员工编号
qryHrm150H150_003.DisplayLabel:=GetDBString('RAB15001003'); //员工姓名
ComboBox1.Items.Clear;
ComboBox1.Items.Add(GetDBString('RAB15001012')); //1=早餐
ComboBox1.Items.Add(GetDBString('RAB15001013')); //2=中餐
ComboBox1.Items.Add(GetDBString('RAB15001014')); //3=晚餐
ComboBox1.Items.Add(GetDBString('RAB15001015')); //4=夜餐
AType[0]:=GetDBString('RAB15001012'); //早餐
AType[1]:=GetDBString('RAB15001013'); //中餐
AType[2]:=GetDBString('RAB15001014'); //晚餐
AType[3]:=GetDBString('RAB15001015'); //夜餐
end;
procedure TRab150_01Form.FormCreate(Sender: TObject);
begin
qryHrm150.Open;
inherited;
//设置界面信息
SetInterface;
end;
procedure TRab150_01Form.DBEdit2Exit(Sender: TObject);
begin
inherited;
if (trim(DBEdit2.Text)<>'') and (trim(DBEdit5.Text)<>'') then
ADOQuery1R150_007.Value:=ADOQuery1R150_003.Value*ADOQuery1R150_006.Value;
end;
procedure TRab150_01Form.DBEdit2KeyPress(Sender: TObject; var Key: Char);
begin
inherited;
ValidFloat(Sender, Key);
end;
procedure TRab150_01Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
inherited;
if ParName='H150_002' then ParValue:=GetDBString('RAB15001002') //员工编号
else if ParName='H150_003' then ParValue:=GetDBString('RAB15001003') //员工姓名
else if ParName='R150_002' then ParValue:=GetDBString('RAB15001004') //餐别
else if ParName='R150_003' then ParValue:=GetDBString('RAB15001005') //就餐数量
else if ParName='R150_004' then ParValue:=GetDBString('RAB15001006') //起始日期
else if ParName='R150_005' then ParValue:=GetDBString('RAB15001007') //结束日期
else if ParName='R150_006' then ParValue:=GetDBString('RAB15001008') //单价
else if ParName='R150_007' then ParValue:=GetDBString('RAB15001009') //金额小计
else if ParName='R150_008' then ParValue:=GetDBString('RAB15001010') //备注
end;
procedure TRab150_01Form.SpeedButton1Click(Sender: TObject);
begin
inherited;
//员工编号查询
if not ActSave.Enabled then Exit;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryHrm150,nil);
if HwSelDataForm.ShowModal=1 then
begin
Edit1.Text:=qryHrm150H150_002.AsString;
ADOQuery1R150_001.AsString:=qryHrm150H150_001.AsString;
ADOQuery1H150_002.AsString:=qryHrm150H150_002.AsString;
ADOQuery1H150_003.AsString:=qryHrm150H150_003.AsString;
end;
end;
procedure TRab150_01Form.Edit1Exit(Sender: TObject);
begin
inherited;
if not ActSave.Enabled then Exit;
if qryHrm150.Locate('H150_002',Edit1.Text,[loCaseInsensitive]) then
begin
ADOQuery1R150_001.AsString:=qryHrm150H150_001.AsString;
ADOQuery1H150_002.AsString:=qryHrm150H150_002.AsString;
ADOQuery1H150_003.AsString:=qryHrm150H150_003.AsString;
end else
begin
ShowMsg('UMS10000042'); //无效的员工编号
Abort;
end;
end;
procedure TRab150_01Form.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if Key=vk_F4 then SpeedButton1.Click;
end;
procedure TRab150_01Form.ADOQuery1R150_002GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
if ADOQuery1.IsEmpty then Exit;
case Sender.AsInteger of
0:Text:=AType[0]; //早餐
1:Text:=AType[1]; //中餐
2:Text:=AType[2]; //晚餐
3:Text:=AType[3]; //夜餐
end;
end;
procedure TRab150_01Form.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
inherited;
//餐别 0=早餐,1=中餐,2=晚餐,3=夜餐
if ADOQuery1.IsEmpty then Exit;
ComboBox1.ItemIndex:=ADOQuery1R150_002.Value;
Edit1.Text:=ADOQuery1H150_002.AsString;
end;
procedure TRab150_01Form.ActSaveExecute(Sender: TObject);
begin
//保存
if trim(DBEdit6.Text)='' then
begin
ShowMsg('UMS10000104'); //金额小计不能为空
DBEdit6.SetFocus;
Abort;
end;
if ComboBox1.ItemIndex=0 then ADOQuery1R150_002.AsString:='1'
else if ComboBox1.ItemIndex=1 then ADOQuery1R150_002.AsString:='2'
else if ComboBox1.ItemIndex=2 then ADOQuery1R150_002.AsString:='3'
else if ComboBox1.ItemIndex=3 then ADOQuery1R150_002.AsString:='4';
inherited;
end;
procedure TRab150_01Form.ADOQuery1CalcFields(DataSet: TDataSet);
begin
inherited;
if qryHrm150.Locate('H150_001',ADOQuery1R150_001.Value,[]) then
begin
ADOQuery1H150_002.Value:=qryHrm150H150_002.Value;
ADOQuery1H150_003.Value:=qryHrm150H150_003.Value;
end;
end;
procedure TRab150_01Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
qryHrm150.Close;
end;
initialization
RegisterClass(TRab150_01Form);
finalization
UnRegisterClass(TRab150_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -