zcrkpas.pas
来自「本软件是一套功能完整成熟的固定资产管理系统,具有固定资产管理系统的相应全部功能」· PAS 代码 · 共 830 行 · 第 1/2 页
PAS
830 行
unit zcrkpas;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, jpeg, ExtCtrls, Buttons, DB, ADODB;
type
Tw_gdzcrk = class(TForm)
Panel2: TPanel;
Panel1: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
l_xlh: TEdit;
l_zclb: TComboBox;
l_zcyt: TComboBox;
l_zcmc: TComboBox;
l_gys: TComboBox;
l_zcxh: TComboBox;
l_syz: TComboBox;
l_sylx: TComboBox;
l_yf: TComboBox;
l_pz: TEdit;
DateTimePicker1: TDateTimePicker;
l_gmjg: TEdit;
l_cfwz: TEdit;
l_bz: TMemo;
lscx: TADOQuery;
Button1: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure l_xlhExit(Sender: TObject);
procedure l_zclbEnter(Sender: TObject);
procedure l_bzEnter(Sender: TObject);
procedure DateTimePicker1Enter(Sender: TObject);
procedure l_yfKeyPress(Sender: TObject; var Key: Char);
procedure FormActivate(Sender: TObject);
procedure l_zclbChange(Sender: TObject);
procedure l_zcmcChange(Sender: TObject);
procedure l_zclbExit(Sender: TObject);
procedure l_xlhEnter(Sender: TObject);
procedure l_zcmcExit(Sender: TObject);
procedure l_zcytExit(Sender: TObject);
procedure l_zcxhExit(Sender: TObject);
procedure l_gmjgExit(Sender: TObject);
procedure l_gysExit(Sender: TObject);
procedure l_zcmcKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure l_zclbKeyPress(Sender: TObject; var Key: Char);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure l_sylxKeyPress(Sender: TObject; var Key: Char);
procedure l_bzKeyPress(Sender: TObject; var Key: Char);
procedure l_syzKeyPress(Sender: TObject; var Key: Char);
private
function datacheck():boolean;
procedure datasave;
procedure datainit;
{ Private declarations }
public
{ Public declarations }
end;
var
w_gdzcrk: Tw_gdzcrk;
implementation
uses datapas;
{$R *.dfm}
function tw_gdzcrk.datacheck():boolean;
begin
if (strtocurr(l_gmjg.text)<=0) or ((l_sylx.text='0') and (l_yf.text='0')) then
result:=false else
result:=true;
end;
procedure tw_gdzcrk.datasave;
var maxbm,zclbbm,zcmcbm,zcxhbm,zcytbm,gysbm,zybm:integer;
begin
zclbbm:=-9999;
zcmcbm:=-9999;
zcxhbm:=-9999;
zcytbm:=-9999;
gysbm:=-9999;
zybm:=-9999;
with lscx do //查询最大固定资产编码
begin
close;
sql.clear;
sql.add('select max(固定资产编码) from 固定资产信息表');
prepared;
open;
if not isempty then
maxbm:=fields[0].asinteger+1 else
maxbm:=1;
//查询固定资产类别编码
close;
sql.clear;
sql.add('select 资产类别编码 from 固定资产类别表 where 固定资产类别=:gdzclb');
parameters.ParamByName('gdzclb').value:=l_zclb.Text;
prepared;
open;
if not isempty then
zclbbm:=fields[0].asinteger;
//查询固定资产名称编码
close;
sql.clear;
sql.add('select 资产名称编码 from 固定资产名称表 a,固定资产类别表 b');
sql.Add('where a.资产类别编码=b.资产类别编码 and b.固定资产类别=:gdzclb and a.固定资产名称=:gdzcmc');
parameters.ParamByName('gdzclb').value:=l_zclb.Text;
parameters.ParamByName('gdzcmc').value:=l_zcmc.text;
prepared;
open;
if not isempty then
zcmcbm:=fields[0].asinteger;
//查询固定资产用途编码
close;
sql.clear;
sql.add('select 资产用途编码 from 固定资产用途表 a,固定资产类别表 b');
sql.Add('where a.资产类别编码=b.资产类别编码 and b.固定资产类别=:gdzclb and a.固定资产用途=:gdzcyt');
parameters.ParamByName('gdzclb').value:=l_zclb.Text;
parameters.ParamByName('gdzcyt').value:=l_zcyt.text;
prepared;
open;
if not isempty then
zcytbm:=fields[0].asinteger;
//查询固定资产型号编码
if l_zcxh.Text<>'' then
begin
close;
sql.clear;
sql.add('select 资产型号编码 from 固定资产型号表 a,固定资产名称表 b');
sql.Add('where a.资产名称编码=b.资产名称编码 and b.固定资产名称=:gdzcmc and a.固定资产型号=:gdzcxh');
parameters.ParamByName('gdzcmc').value:=l_zcmc.Text;
parameters.ParamByName('gdzcxh').value:=l_zcxh.text;
prepared;
open;
if not isempty then
zcxhbm:=fields[0].asinteger;
end;
//查询供应商编码
if l_gys.Text<>'' then
begin
close;
sql.clear;
sql.add('select 供应商编码 from 供应商编码表 where 供应商名称=:gysmc');
parameters.ParamByName('gysmc').value:=l_gys.text;
prepared;
open;
if not isempty then
gysbm:=fields[0].asinteger;
end;
//查询使用者编码
if l_syz.Text<>'' then
begin
close;
sql.clear;
sql.add('select 职员编码 from 职员编码表 where 职员姓名=:zyxm');
parameters.ParamByName('zyxm').value:=l_syz.text;
prepared;
open;
if not isempty then
zybm:=fields[0].asinteger;
end;
end;
with hjzcdata.gdzcxxb do
begin
close;
open;
append;
edit;
fieldbyname('固定资产编码').asinteger:=maxbm;
fieldbyname('资产类别编码').asinteger:=maxbm;
fieldbyname('资产名称编码').asinteger:=maxbm;
fieldbyname('资产用途编码').asinteger:=maxbm;
if zcxhbm<>-9999 then
fieldbyname('资产型号编码').asinteger:=maxbm;
if gysbm<>-9999 then
fieldbyname('供应商编码').asinteger:=maxbm;
if zybm<>-9999 then
fieldbyname('职员编码').asinteger:=maxbm;
if l_pz.text<>'' then
fieldbyname('配置').asstring:=l_pz.text;
if l_xlh.text<>'' then
fieldbyname('序列号').asstring:=l_xlh.text;
fieldbyname('购买日期').asdatetime:=DateTimePicker1.date;
fieldbyname('购买价格').ascurrency:=strtocurr(l_gmjg.text);
if l_cfwz.text<>'' then
fieldbyname('存放地点').asstring:=l_cfwz.text;
fieldbyname('使用年限').asinteger:=strtoint(l_sylx.text)*12+strtoint(l_yf.text);
fieldbyname('是否借出').asboolean:=false;
fieldbyname('报废').asboolean:=false;
if l_bz.text<>'' then
fieldbyname('备注').asstring:=copy(l_bz.text,1,100);
post;
end;
end;
procedure tw_gdzcrk.datainit;
begin
if l_zclb.items.count>0 then
l_zclb.itemindex:=0;
l_zclbChange(self);
if l_zcmc.items.count>0 then
l_zcmc.itemindex:=0;
l_zcmcchange(self);
if l_zcyt.items.count>0 then
l_zcyt.itemindex:=0;
if l_zcxh.items.count>0 then
l_zcxh.itemindex:=0;
l_gys.text:='';
l_xlh.text:='';
l_pz.Text:='';
DateTimePicker1.Date:=now;
l_gmjg.text:='0';
l_syz.text:='';
l_cfwz.text:='';
l_sylx.itemindex:=0;
l_yf.itemindex:=0;
l_bz.Clear;
end;
procedure Tw_gdzcrk.l_xlhExit(Sender: TObject);
begin
if sender is tedit then
(sender as tedit).color:=clwindow
else
if sender is tcombobox then
(sender as tcombobox).color:=clwindow else
if sender is tdatetimepicker then
(sender as tdatetimepicker).color:=clwindow else
if sender is tmemo then
(sender as tmemo).color:=clwindow;
end;
procedure Tw_gdzcrk.l_zclbEnter(Sender: TObject);
begin
if sender is tcombobox then
begin
(sender as tcombobox).color:=clyellow;
end;
end;
procedure Tw_gdzcrk.l_bzEnter(Sender: TObject);
begin
l_bz.color:=clyellow;
end;
procedure Tw_gdzcrk.DateTimePicker1Enter(Sender: TObject);
begin
DateTimePicker1.color:=clyellow;
end;
procedure Tw_gdzcrk.l_yfKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
l_bz.SetFocus else
begin
key:=#0;
beep;
end;
end;
procedure Tw_gdzcrk.FormActivate(Sender: TObject);
begin
l_zclb.Items.clear;
with lscx do
begin
close;
sql.clear;
sql.add('select 固定资产类别 from 固定资产类别表');
prepared;
open;
while not eof do
begin
l_zclb.items.add(lscx.fields[0].value);
next;
end;
end;
l_zclb.itemindex:=0;
l_zcmc.Items.clear;
with lscx do
begin
close;
sql.clear;
sql.add('select a.固定资产名称 from 固定资产名称表 a,固定资产类别表 b');
sql.add('where a.资产类别编码=b.资产类别编码 and b.固定资产类别=:gdzclb');
parameters.ParamByName('gdzclb').value:=l_zclb.Text;
prepared;
open;
while not eof do
begin
l_zcmc.items.add(lscx.fields[0].value);
next;
end;
end;
l_zcmc.ItemIndex:=0;
l_zcxh.Items.clear;
with lscx do
begin
close;
sql.clear;
sql.add('select a.固定资产型号 from 固定资产型号表 a,固定资产名称表 b');
sql.add('where a.资产名称编码=b.资产名称编码 and b.固定资产名称=:gdzcmc');
parameters.ParamByName('gdzcmc').value:=l_zcmc.Text;
prepared;
open;
while not eof do
begin
l_zcxh.items.add(lscx.fields[0].value);
next;
end;
end;
l_zcxh.itemindex:=0;
l_zcyt.Items.clear;
with lscx do
begin
close;
sql.clear;
sql.add('select a.固定资产用途 from 固定资产用途表 a,固定资产类别表 b');
sql.add('where a.资产类别编码=b.资产类别编码 and b.固定资产类别=:gdzclb');
parameters.ParamByName('gdzclb').value:=l_zclb.Text;
prepared;
open;
while not eof do
begin
l_zcyt.items.add(lscx.fields[0].value);
next;
end;
end;
l_zcyt.ItemIndex:=0;
l_gys.Items.clear;
with lscx do
begin
close;
sql.clear;
sql.add('select 供应商名称 from 供应商编码表');
prepared;
open;
while not eof do
begin
l_gys.items.add(lscx.fields[0].value);
next;
end;
end;
l_syz.Items.clear;
with lscx do
begin
close;
sql.clear;
sql.add('select 职员姓名 from 职员编码表');
prepared;
open;
while not eof do
begin
l_syz.items.add(lscx.fields[0].value);
next;
end;
end;
end;
procedure Tw_gdzcrk.l_zclbChange(Sender: TObject);
begin
l_zcmc.Items.clear;
with lscx do
begin
close;
sql.clear;
sql.add('select a.固定资产名称 from 固定资产名称表 a,固定资产类别表 b');
sql.add('where a.资产类别编码=b.资产类别编码 and b.固定资产类别=:gdzclb');
parameters.ParamByName('gdzclb').value:=l_zclb.Text;
prepared;
open;
while not eof do
begin
l_zcmc.items.add(lscx.fields[0].value);
next;
end;
end;
l_zcmc.ItemIndex:=0;
l_zcxh.Items.clear;
with lscx do
begin
close;
sql.clear;
sql.add('select a.固定资产型号 from 固定资产型号表 a,固定资产名称表 b');
sql.add('where a.资产名称编码=b.资产名称编码 and b.固定资产名称=:gdzcmc');
parameters.ParamByName('gdzcmc').value:=l_zcmc.Text;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?