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

📄 rab120_01.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 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 + -