zcplzjpas.~pas

来自「本软件是一套功能完整成熟的固定资产管理系统,具有固定资产管理系统的相应全部功能」· ~PAS 代码 · 共 858 行 · 第 1/2 页

~PAS
858
字号
unit zcplzjpas;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, jpeg, ExtCtrls, Buttons, DB, ADODB, XP_Form,
  XP_Button;

type
  Tw_zcplrk = class(TForm)
    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;
    Panel2: TPanel;
    Label16: TLabel;
    plzjsl: TEdit;
    XP_Form1: TXP_Form;
    Button1: TXP_Button;
    button3: TXP_Button;
    button4: TXP_Button;
    XP_Button1: TXP_Button;
    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);
    procedure plzjslExit(Sender: TObject);
  private
  function datacheck():boolean;
  procedure datasave;
  procedure datainit;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  w_zcplrk: Tw_zcplrk;

implementation

uses datapas;

{$R *.dfm}
function tw_zcplrk.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_zcplrk.datasave;
var maxbm,zclbbm,zcmcbm,zcxhbm,zcytbm,gysbm,zybm:integer;
i: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;
for i:=1 to strtoint(plzjsl.text) do
with hjzcdata.gdzcxxb do
begin
close;
open;
append;
edit;
fieldbyname('固定资产编码').asinteger:=maxbm+i-1;
fieldbyname('资产类别编码').asinteger:=zclbbm;
fieldbyname('资产名称编码').asinteger:=zcmcbm;
fieldbyname('资产用途编码').asinteger:=zcytbm;
if zcxhbm<>-9999 then
fieldbyname('资产型号编码').asinteger:=zcxhbm;
if gysbm<>-9999 then
fieldbyname('供应商编码').asinteger:=gysbm;
if zybm<>-9999 then
fieldbyname('职员编码').asinteger:=zybm;
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_zcplrk.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_zcplrk.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_zcplrk.l_zclbEnter(Sender: TObject);
begin
if sender is tcombobox then
begin
(sender as tcombobox).color:=clyellow;
end;
end;

procedure Tw_zcplrk.l_bzEnter(Sender: TObject);
begin
l_bz.color:=clyellow;
end;

procedure Tw_zcplrk.DateTimePicker1Enter(Sender: TObject);
begin
DateTimePicker1.color:=clyellow;
end;

procedure Tw_zcplrk.l_yfKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
l_bz.SetFocus else
begin
key:=#0;
beep;
end;
end;

procedure Tw_zcplrk.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_zcplrk.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;
prepared;
open;
while not eof do
begin
l_zcxh.items.add(lscx.fields[0].value);
next;
end;

⌨️ 快捷键说明

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