【delphi开源代码栏目提醒】:以下是网学会员为您推荐的delphi开源代码-gdzcjc.pas,希望本篇文章对您学习有所帮助。
unit gdzcjc;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, DB, ADODB;
type
TBorrowOrReturn =(borBorrow,borReturn);
TBhValidate = (bvEmpty,bvNoBh,bvNoBorrow,bvHasBorrow);
TfrmGdzcjc = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
edtMc: TEdit;
BitBtn1: TBitBtn;
BitBtnXxzl: TBitBtn;
GroupBox3: TGroupBox;
Label3: TLabel;
Label4: TLabel;
DTPJcrq: TDateTimePicker;
Label5: TLabel;
DTPGhrq: TDateTimePicker;
BitBtnTj: TBitBtn;
BitBtn4: TBitBtn;
cmbJrbm: TComboBox;
BitBtn5: TBitBtn;
EdtBh: TEdit;
edtBm: TEdit;
ADODataSet1: TADODataSet;
ADOQuery1: TADOQuery;
procedure BitBtn4Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure EdtBhExit(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure BitBtnXxzlClick(Sender: TObject);
procedure BitBtnTjClick(Sender: TObject);
private
{ Private declarations }
FBOR:TBorrowOrReturn ;
FBmdmlb,FBmmclb : TStrings ;
FBhValidate : TBhValidate ; //已输入的编号状态
procedure setBOR(value:TBorrowOrReturn);
function checkBh:TBhValidate ; //检验检验用户输入的编号
public
{ Public declarations }
property BOR:TBorrowOrReturn read FBOR write setBOR default borBorrow ;
end;
var
frmGdzcjc: TfrmGdzcjc;
implementation
uses Main, DataModule;
{$R *.dfm}
procedure TfrmGdzcjc.BitBtn4Click(Sender: TObject);
begin
close;
end;
procedure TfrmGdzcjc.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if BOR = borBorrow then
MainForm.OprState := osJcQ
else
MainForm.OprState := osGhQ ;
end;
procedure TfrmGdzcjc.BitBtn1Click(Sender: TObject);
begin
MainForm.OprState := osZhcx ;
end;
procedure TfrmGdzcjc.FormCreate(Sender: TObject);
begin
FBmdmlb := TStringList.Create ;
FBmmclb := TStringList.Create ;
with DM.ADODataSetBmdm do
begin
First ;
while not Eof do
begin
FBmdmlb.Add(FieldValues['bmdm_dm']);
FBmmclb.Add(FieldValues['bmdm_mc']);
Next ;
end;
end;
cmbJrbm.Items := FBmmclb ;
DTPJcrq.MaxDate := Now ;
DTPGhrq.MaxDate := Now ;
end;
procedure TfrmGdzcjc.BitBtn5Click(Sender: TObject);
begin
if trim(dm.bh) <> '' then
begin
EdtBh.Text := dm.bh;
EdtBhExit(Sender);
end;
end;
procedure TfrmGdzcjc.setBOR(value:TBorrowOrReturn);
begin
FBOR := value ;
if FBOR = borBorrow then
begin
GroupBox1.Caption := '固定资产借出';
cmbJrbm.Enabled := true;
cmbJrbm.Color := COLOR_ENABLED ;
DTPJcrq.Enabled := true;
DTPJcrq.Color := COLOR_ENABLED ;
DTPGhrq.Enabled := False ;
DTPGhrq.Color := COLOR_UNABLED ;
end
else
begin
GroupBox1.Caption := '固定资产归还';
cmbJrbm.Enabled := False;
cmbJrbm.Color := COLOR_UNABLED ;
DTPJcrq.Enabled := False ;
DTPJcrq.Color := COLOR_UNABLED ;
DTPGhrq.Enabled := True;
DTPGhrq.Color := COLOR_ENABLED ;
end;
EdtBhExit(self);
end;
procedure TfrmGdzcjc.EdtBhExit(Sender: TObject);
begin
FBhValidate := checkBh;
case FBhValidate of
bvEmpty :
begin
BitBtnXxzl.Enabled := false;
BitBtnTj.Enabled := False ;
end;
bvNoBh:
begin
BitBtnXxzl.Enabled := false;
BitBtnTj.Enabled := False ;
ShowMessage('无编号为'+ trim(EdtBh.Text)+ '的固定资产资料!');
end;
bvNoBorrow :
begin
if FBOR = borBorrow then
begin
BitBtnXxzl.Enabled := True ;
BitBtnTj.Enabled := True ;
end
else
begin
BitBtnXxzl.Enabled := True ;
BitBtnTj.Enabled := False ;
ShowMessage('无编号为'+ trim(EdtBh.Text)+ '的固定资产借出资料!');
end;
end;
bvHasBorrow :
begin
if FBOR = borBorrow then
begin
BitBtnXxzl.Enabled := True ;
BitBtnTj.Enabled := False ;
ShowMessage('编号为'+ trim(EdtBh.Text)+ '的固定资产已被借出!');
end
else
begin
BitBtnXxzl.Enabled := True ;
BitBtnTj.Enabled := true ;
end;
end;
end;
end;
procedure TfrmGdzcjc.FormDestroy(Sender: TObject);
begin
FBmdmlb.Free ;
FBmmclb.Free ;
end;
function TfrmGdzcjc.checkBh:TBhValidate ; //检验检验用户输入的编号
var
i:integer;
str:string;
begin
if (trim(EdtBh.Text) = '') then
begin
//编号为空
result := bvEmpty ;
exit;
end;
if dm.ADODataSetGdzc.Locate('gdzc_bh',trim(edtbh.Text),[]) then
begin
//存在此编号
edtMc.Text := dm.ADODataSetGdzc.FieldValues['gdzc_mc'];
edtBm.Text := dm.ADODataSetGdzc.FieldValues['gdzc_sybm'];
ADODataSet1.Active := false;
ADODataSet1.CommandText := 'SELECT gdzcjc.*, bmdm.BMDM_MC '
+ ' FROM bmdm RIGHT JOIN gdzcjc '
+ ' ON bmdm.BMDM_DM = gdzcjc.GDZCJC_BMDM '
+ ' where trim(gdzcjc.gdzcjc_bh) ='''
+ trim(EdtBh.Text) + ''' and '
+ ' gdzcjc.gdzcjc_ghrq is null';
ADODataSet1.Active := true;
if ADODataSet1.IsEmpty then
begin
//不存在借出记录
Result := bvNoBorrow ;
end
else
begin
//存在借出记录
str := ADODataSet1.FieldValues['bmdm_mc'];
for i := 0 to FBmmclb.Count - 1 do
begin
if trim(FBmmclb[i])=trim(str) then
begin
cmbJrbm.ItemIndex := i;
break;
end;
end;
DTPJcrq.DateTime := ADODataSet1.FieldValues['gdzcjc_jcrq'];
Result := bvHasBorrow ;
end;
end
else
begin
//不存在此编号
Result := bvNoBh ;
end;
end;
procedure TfrmGdzcjc.BitBtnXxzlClick(Sender: TObject);
begin
dm.ADODataSetGdzc.Locate('GDZC_BH',EdtBh.Text ,[]);
MainForm.OprState := osZcxq ;
end;
procedure TfrmGdzcjc.BitBtnTjClick(Sender: TObject);
var
strSQL :string;
begin
if FBOR = borBorrow then
begin
if trim(cmbJrbm.Text) = '' then
begin
ShowMessage('请选择借入固定资产的部门!');
cmbJrbm.SetFocus ;
exit;
end;
if trim(cmbJrbm.Text ) = trim(edtBm.Text ) then
begin
ShowMessage('借入固定资产部门与借出部门相同!');
cmbJrbm.SetFocus ;
exit;
end;
if MessageDlg('提交固定资产借出记录:' + #13#10
+ '编号:' + Trim(EdtBh.Text ) + #13#10
+ '名称:' + trim(edtMc.Text ) + #13#10
+ '使用部门:' + trim(edtBm.Text) + #13#10
+ '借用部门:' + trim(cmbJrbm.Text) + #13#10
+ '借用日期:' + DateToStr(DTPJcrq.Date ) + '?',
mtConfirmation ,[mbYes ,mbNo],MB_YESNO ) = mrYes then
begin
try
with ADOQuery1 do
begin
strSQL := 'insert into gdzcjc (gdzcjc_bh,gdzcjc_bmdm,'
+ ' gdzcjc_jcrq) values(:bh,:bmdm,:jcrq)' ;
SQL.Clear ;
SQL.Add(strSQL);
Parameters.ParamByName('bh').Value := EdtBh.text ;
Parameters.ParamByName('bmdm').Value := FBmdmlb[cmbJrbm.ItemIndex];
Parameters.ParamByName('jcrq').Value := DTPJcrq.DateTime ;
ExecSQL ;
ShowMessage('提交记录成功!');
close;
end;
except
on E:exception do
begin
ShowMessage('提交记录时出现错误!' + #13#10
+ '错误信息:' + E.Message);
end
end;
end;
end
else
begin
if DTPGhrq.Date < DTPJcrq.Date then
begin
ShowMessage('归还日期早于借出日期!');
DTPGhrq.SetFocus ;
exit;
end;
if MessageDlg('提交固定资产归还记录:' + #13#10
+ '编号:' + Trim(EdtBh.Text ) + #13#10
+ '名称:' + trim(edtMc.Text ) + #13#10
+ '使用部门:' + trim(edtBm.Text)
上一篇:
GDZCGL.PAS
下一篇:
秋天是疼痛的