📄 rab120_01.pas.svn-base
字号:
unit Rab120_01;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
wwdbedit, Wwdotdot, wwdbdatetimepicker, StdCtrls, DBCtrls, Mask, Db,
Menus, Grids, ComCtrls, ExtCtrls, ToolWin, Buttons,
Bas200_01, dxExEdtr, ADODB, FR_Desgn, dxCntner, dxTL, dxDBCtrl, dxDBGrid,
ActnList, dxDBTLCl, dxGrClms, wwfltdlg, wwDialog, Wwlocate, Wwintl;
type
TRab120_01Form = class(TBas200_01Form)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
DBEdit4: TDBEdit;
Label5: TLabel;
DBEdit5: TDBEdit;
Label6: TLabel;
DBEdit6: TDBEdit;
Label7: TLabel;
DBEdit7: TDBEdit;
wwDBDateTimePicker1: TwwDBDateTimePicker;
wwDBDateTimePicker2: TwwDBDateTimePicker;
Label8: TLabel;
Label9: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
ComboBox1: TComboBox;
dsRab100: TDataSource;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
Edit2: TEdit;
SpeedButton2: TSpeedButton;
ADOQuery1R120_002: TIntegerField;
ADOQuery1R120_003: TIntegerField;
ADOQuery1R120_004: TDateTimeField;
ADOQuery1R120_005: TDateTimeField;
ADOQuery1R120_006: TFloatField;
ADOQuery1R120_007: TFloatField;
ADOQuery1R120_008: TFloatField;
ADOQuery1R120_009: TStringField;
qryRab100: TADOQuery;
qryRab100R100_001: TAutoIncField;
qryRab100R100_002: TStringField;
qryRab100R100_003: TStringField;
qryRab110: TADOQuery;
qryRab110R110_001: TAutoIncField;
qryRab110R110_002: TIntegerField;
qryRab110R110_003: TStringField;
qryRab110R110_004: TStringField;
ADOQuery1R100_002: TStringField;
ADOQuery1R100_003: TStringField;
ADOQuery1R110_003: TStringField;
ADOQuery1R110_004: TStringField;
dxDBGrid1R120_001: TdxDBGridColumn;
dxDBGrid1R120_004: TdxDBGridDateColumn;
dxDBGrid1R120_005: TdxDBGridDateColumn;
dxDBGrid1R120_006: TdxDBGridMaskColumn;
dxDBGrid1R120_007: TdxDBGridMaskColumn;
dxDBGrid1R120_008: TdxDBGridMaskColumn;
dxDBGrid1R120_009: TdxDBGridColumn;
dxDBGrid1R100_002: TdxDBGridColumn;
dxDBGrid1R100_003: TdxDBGridColumn;
dxDBGrid1R110_003: TdxDBGridColumn;
dxDBGrid1R110_004: TdxDBGridColumn;
ADOQuery1R120_001: TSmallintField;
procedure FormCreate(Sender: TObject);
procedure DBEdit4KeyPress(Sender: TObject; var Key: Char);
procedure DBEdit4Exit(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SpeedButton1Click(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure ADOQuery1R120_001GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure ActSaveExecute(Sender: TObject);
procedure ADOQuery1AfterScroll(DataSet: TDataSet);
procedure ADOQuery1CalcFields(DataSet: TDataSet);
private
AType:array[0..1] of string;
{ Private declarations }
public
procedure SetInterface; override;
procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
{ Public declarations }
end;
var
Rab120_01Form: TRab120_01Form;
implementation
uses SYSDATA, HwSelData, CommFun;
{$R *.DFM}
procedure TRab120_01Form.SetInterface;
begin
inherited;
ComboBox1.Items.Clear;
ComboBox1.Items.Add(GetDBString('RAB12001014')); //水费
ComboBox1.Items.Add(GetDBString('RAB12001015')); //电费
qryRab100.Open;
qryRab110.Open;
Caption:=GetDBString('RAB12001001'); //水电资料维护
Label1.Caption:=GetDBString('RAB12001002'); //水电费
Label8.Caption:=GetDBString('RAB12001003'); //宿舍编号
Label9.Caption:=GetDBString('RAB12001005'); //住房编号
Label2.Caption:=GetDBString('RAB12001007'); //起始日期
Label3.Caption:=GetDBString('RAB12001008'); //结束日期
Label4.Caption:=GetDBString('RAB12001009'); //耗用数量
Label5.Caption:=GetDBString('RAB12001010'); //单价
Label6.Caption:=GetDBString('RAB12001011'); //费用
Label7.Caption:=GetDBString('RAB12001012'); //备注
ADOQuery1R120_001.DisplayLabel:=GetDBString('RAB12001002'); //'水电费'
ADOQuery1R100_002.DisplayLabel:=GetDBString('RAB12001003'); //'宿舍编号'
ADOQuery1R100_003.DisplayLabel:=GetDBString('RAB12001004'); //'宿舍说明'
ADOQuery1R110_003.DisplayLabel:=GetDBString('RAB12001005'); //'住房编号'
ADOQuery1R110_004.DisplayLabel:=GetDBString('RAB12001006'); //'规格说明'
ADOQuery1R120_004.DisplayLabel:=GetDBString('RAB12001007'); //'起始日期'
ADOQuery1R120_005.DisplayLabel:=GetDBString('RAB12001008'); //'结束日期'
ADOQuery1R120_006.DisplayLabel:=GetDBString('RAB12001009'); //'耗用数量'
ADOQuery1R120_007.DisplayLabel:=GetDBString('RAB12001010'); //'单价'
ADOQuery1R120_008.DisplayLabel:=GetDBString('RAB12001011'); //'费用'
ADOQuery1R120_009.DisplayLabel:=GetDBString('RAB12001012'); //'备注'
qryRab100R100_002.DisplayLabel:=GetDBString('RAB12001003'); //'宿舍编号'
qryRab100R100_003.DisplayLabel:=GetDBString('RAB12001004'); //'宿舍说明'
qryRab110R110_003.DisplayLabel:=GetDBString('RAB12001005'); //'住房编号'
qryRab110R110_004.DisplayLabel:=GetDBString('RAB12001006'); //'规格说明'
AType[0]:=GetDBString('RAB12001014'); //水费
AType[1]:=GetDBString('RAB12001015'); //电费
end;
procedure TRab120_01Form.FormCreate(Sender: TObject);
begin
inherited;
//设置界面信息
SetInterface;
end;
procedure TRab120_01Form.DBEdit4KeyPress(Sender: TObject; var Key: Char);
begin
inherited;
ValidFloat(Sender, Key);
end;
procedure TRab120_01Form.DBEdit4Exit(Sender: TObject);
begin
inherited;
if (trim(DBEdit5.Text)<>'') and (trim(DBEdit4.Text)<>'') then
ADOQuery1R120_008.Value:=ADOQuery1R120_006.Value*ADOQuery1R120_007.Value;
end;
procedure TRab120_01Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
inherited;
if ParName='R100_002' then ParValue:=GetDBString('RAB12001003') //宿舍编号
else if ParName='R100_003' then ParValue:=GetDBString('RAB12001004') //宿舍说明
else if ParName='R110_003' then ParValue:=GetDBString('RAB12001005') //住房编号
else if ParName='R110_004' then ParValue:=GetDBString('RAB12001006') //规格说明
else if ParName='R120_001' then ParValue:=GetDBString('RAB12001002') //水电费
else if ParName='R120_004' then ParValue:=GetDBString('RAB12001007') //起始日期
else if ParName='R120_005' then ParValue:=GetDBString('RAB12001008') //结束日期
else if ParName='R120_006' then ParValue:=GetDBString('RAB12001009') //耗用数量
else if ParName='R120_007' then ParValue:=GetDBString('RAB12001010') //单价
else if ParName='R120_008' then ParValue:=GetDBString('RAB12001011') //费用
else if ParName='R120_009' then ParValue:=GetDBString('RAB12001012') //备注
end;
procedure TRab120_01Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
qryRab100.Close;
qryRab110.Close;
end;
procedure TRab120_01Form.SpeedButton1Click(Sender: TObject);
begin
inherited;
//宿舍编号查询
if not ActSave.Enabled then Exit;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryRab100,nil);
if HwSelDataForm.ShowModal=1 then
begin
Edit1.Text:=qryRab100R100_002.AsString;
ADOQuery1R120_002.Value:=qryRab100R100_001.Value;
ADOQuery1R100_003.Value:=qryRab100R100_003.Value;
end;
end;
procedure TRab120_01Form.Edit1Exit(Sender: TObject);
begin
inherited;
if not ActSave.Enabled then Exit;
if qryRab100.Locate('R100_002',Edit1.Text,[loCaseInsensitive]) then
begin
ADOQuery1R120_002.Value:=qryRab100R100_001.Value;
ADOQuery1R100_003.Value:=qryRab100R100_003.Value;
end else
begin
ShowMsg('UMS10000100'); //无效的宿舍编号
Abort;
end;
end;
procedure TRab120_01Form.SpeedButton2Click(Sender: TObject);
begin
inherited;
//住房编号查询
if not tlbSave.Enabled then Exit;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryRab110,nil);
if HwSelDataForm.ShowModal=1 then
begin
Edit2.Text:=qryRab110R110_003.AsString;
ADOQuery1R120_003.Value:=qryRab110R110_001.Value;
ADOQuery1R110_004.Value:=qryRab110R110_004.Value;
end;
end;
procedure TRab120_01Form.Edit2Exit(Sender: TObject);
begin
inherited;
if not tlbSave.Enabled then Exit;
if qryRab110.Locate('R110_003',Edit2.Text,[loCaseInsensitive]) then
begin
ADOQuery1R120_003.Value:=qryRab110R110_001.Value;
ADOQuery1R110_004.Value:=qryRab110R110_004.Value;
end else
begin
ShowMsg('UMS10000101'); //无效的住房编号
Abort;
end;
end;
procedure TRab120_01Form.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if Key=vk_F4 then SpeedButton1.Click;
end;
procedure TRab120_01Form.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if Key=vk_F4 then SpeedButton2.Click;
end;
procedure TRab120_01Form.ADOQuery1R120_001GetText(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]; //电费
end;
end;
procedure TRab120_01Form.ActSaveExecute(Sender: TObject);
begin
//保存
if ComboBox1.Text='' then
begin
ShowMsg('UMS10000102'); //水电费标识不能为空
ComboBox1.SetFocus;
Abort;
end;
if DBEdit6.Text='' then
begin
ShowMsg('UMS10000103'); //水电费用不能为空
DBEdit6.SetFocus;
Abort;
end;
ADOQuery1R120_001.Value:=ComboBox1.ItemIndex;
inherited;
end;
procedure TRab120_01Form.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
inherited;
//水电费标识
if ADOQuery1.IsEmpty then Exit;
ADOQuery1R120_001.Value:=ComboBox1.ItemIndex;
Edit1.Text:=ADOQuery1R100_002.AsString;
Edit2.Text:=ADOQuery1R110_003.AsString;
end;
procedure TRab120_01Form.ADOQuery1CalcFields(DataSet: TDataSet);
begin
inherited;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select B.R100_002,B.R100_003,R110_001,C.R110_003,C.R110_004 from RAB120 A, RAB100 B, RAB110 C where A.R120_002=B.R100_001 and A.R120_003=C.R110_001');
SYSDM.qryQuery.Open;
if SYSDM.qryQuery.Locate('R110_001',ADOQuery1R120_003.Value,[]) then
begin
ADOQuery1R100_002.Value:=SYSDM.qryQuery.FieldByName('R100_002').Value;
ADOQuery1R100_003.Value:=SYSDM.qryQuery.FieldByName('R100_003').Value;
ADOQuery1R110_003.Value:=SYSDM.qryQuery.FieldByName('R110_003').Value;
ADOQuery1R110_004.Value:=SYSDM.qryQuery.FieldByName('R110_004').Value;
end;
end;
initialization
RegisterClass(TRab120_01Form);
finalization
UnRegisterClass(TRab120_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -