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

📄 untaccident.pas

📁 用delphi编写的数据库管理软件
💻 PAS
字号:
unit untAcciDent;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseEdit, MSNPopUp, FR_DSet, FR_DBSet, FR_Class, Menus, DB,
  DBClient, ActnList, Grids, DBGridEh, StdCtrls, Mask, wwdbedit, ExtCtrls,
  DBCtrlsEh, wwdblook, FR_Desgn;

type
  TfrmAccident = class(TfrmBaseEdit)
    Label7: TLabel;
    wwDBLookupCombo1: TwwDBLookupCombo;
    Label6: TLabel;
    DBDateTimeEditEh1: TDBDateTimeEditEh;
    Label8: TLabel;
    wwDBEdit3: TwwDBEdit;
    Label4: TLabel;
    wwDBEdit1: TwwDBEdit;
    Label3: TLabel;
    wwDBEdit4: TwwDBEdit;
    Label10: TLabel;
    wwDBEdit2: TwwDBEdit;
    Label13: TLabel;
    wwDBEdit6: TwwDBEdit;
    CDSVehicle: TClientDataSet;
    CDSVehiclefcode: TWideStringField;
    CDSVehiclefname: TWideStringField;
    CDSVehiclefid: TAutoIncField;
    CDSVehiclefmodel: TWideStringField;
    CDSVehiclefcolor: TWideStringField;
    CDSVehicleffuel: TBCDField;
    CDSVehiclefengineno: TWideStringField;
    CDSVehiclefvehicleno: TWideStringField;
    CDSVehiclefprovider: TWideStringField;
    CDSVehiclefbuydate: TDateTimeField;
    CDSVehiclefsafeno: TWideStringField;
    CDSVehiclefsafetype: TWideStringField;
    CDSVehiclefsafecompany: TWideStringField;
    CDSVehiclefsafedate: TDateTimeField;
    CDSVehiclefsafelastdate: TDateTimeField;
    CDSVehiclefdriver: TWideStringField;
    CDSVehiclefbusinessno: TWideStringField;
    CDSVehiclefannexno: TWideStringField;
    CDSVehicleftwomaintenancestart: TDateTimeField;
    CDSVehicleftwomaintenancelast: TDateTimeField;
    CDSVehiclefdeposit: TBCDField;
    CDSVehiclefrentday: TBCDField;
    CDSVehiclefrentweek: TBCDField;
    CDSVehiclefrentmonth: TBCDField;
    CDSVehiclefkilometreday: TBCDField;
    CDSVehiclefreceipthour: TBCDField;
    CDSVehiclefreceiptkilometre: TBCDField;
    CDSVehiclefmaxkilometre: TBCDField;
    CDSVehiclefoutoil: TBCDField;
    CDSVehiclefhandle: TWideStringField;
    CDSVehiclefstate: TBooleanField;
    CDSVehiclefdesc: TWideStringField;
    CDSVehiclefremark: TWideStringField;
    CDSVehiclefpicture: TWideStringField;
    CDSVehiclefoutk: TBCDField;
    CDSVehiclefoutf: TBCDField;
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure wwDBLookupCombo1Change(Sender: TObject);
    procedure acNewExecute(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure CDSBaseinfoBeforePost(DataSet: TDataSet);
    procedure CDSBaseinfoAfterPost(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmAccident: TfrmAccident;

implementation

uses DataProcess, Global;

{$R *.dfm}

procedure TfrmAccident.FormDestroy(Sender: TObject);
begin
  inherited;
   frmAccident:=nil;
end;

procedure TfrmAccident.FormCreate(Sender: TObject);
begin
  inherited;
    iFunctionID:=38;
    MainTable:='tAccident';
    MainView:='vAccident';
    KeyField:='fid';
    ReportName:='frAccident.frf';
end;

procedure TfrmAccident.wwDBLookupCombo1Change(Sender: TObject);
begin
  inherited;
  if CDSBaseinfo.State in [dsEdit,dsInsert] then
    CDSBaseinfo.FieldByName('fVehicleID').AsInteger:=
        CDSVehicle.fieldbyname('fid').AsInteger;  
end;

procedure TfrmAccident.acNewExecute(Sender: TObject);
begin
  inherited;
  wwDBLookupCombo1.SetFocus; 
end;

procedure TfrmAccident.FormShow(Sender: TObject);
begin
  inherited;
  GetsqlData(CDSVehicle,'tVehicle','fid','fid>0',20);
end;

procedure TfrmAccident.CDSBaseinfoBeforePost(DataSet: TDataSet);
begin
  inherited;
with CDSBaseinfo do
begin
if VarisNUll(FieldValues['fcode']) then
   Raise Exception.Create('车名不能为空 !');
if VarisNUll(FieldValues['fdriver']) then
   Raise Exception.Create('责任公司和责任人不能为空 !');
if VarisNUll(FieldValues['fcompensate']) then
   Raise Exception.Create('损失付出不能为空 !');
end;
end;

procedure TfrmAccident.CDSBaseinfoAfterPost(DataSet: TDataSet);
begin
  inherited;
if FormStatus = 'Add' then
  WriteBalance(1,6,CDSBaseinfo.fieldbyname('fno').AsString,self.Caption,
                  0,
                  CDSBaseinfo.fieldbyname('fRemark').AsString+'--出险损失赔付',
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  CDSBaseinfo.FieldByName('fcompensate').AsFloat);
if FormStatus = 'Edit' then
  WriteBalance(2,6,CDSBaseinfo.fieldbyname('fno').AsString,self.Caption,
                  0,
                  CDSBaseinfo.fieldbyname('fRemark').AsString+'--出险损失赔付',
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  CDSBaseinfo.FieldByName('fcompensate').AsFloat);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -