cxtjpas.pas
来自「本软件是一套功能完整成熟的固定资产管理系统,具有固定资产管理系统的相应全部功能」· PAS 代码 · 共 279 行
PAS
279 行
unit cxtjpas;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, ExtCtrls, DB, ADODB;
type
Tw_tj = class(TForm)
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
sg1: TStringGrid;
tj: TComboBox;
ysf: TComboBox;
ljfs: TComboBox;
cxz: TComboBox;
lscx: TADOQuery;
procedure FormActivate(Sender: TObject);
procedure sg1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure sg1Click(Sender: TObject);
procedure ysfKeyPress(Sender: TObject; var Key: Char);
procedure ysfChange(Sender: TObject);
procedure ljfsChange(Sender: TObject);
procedure tjChange(Sender: TObject);
procedure ysfExit(Sender: TObject);
procedure ljfsExit(Sender: TObject);
procedure cxzChange(Sender: TObject);
procedure cxzExit(Sender: TObject);
procedure tjExit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
w_tj: Tw_tj;
implementation
{$R *.dfm}
procedure Tw_tj.FormActivate(Sender: TObject);
var i:integer;
begin
with sg1 do
begin
Cells[0,0]:=' 条 件';
cells[1,0]:=' 运 算 符';
cells[2,0]:=' 欲查询的值';
cells[3,0]:=' 连接方式';
sg1.ColWidths[0]:=100;
sg1.ColWidths[1]:=70;
sg1.ColWidths[2]:=170;
sg1.colwidths[3]:=70;
for i:=1 to 10 do
begin
sg1.cells[1,i]:='=';
sg1.cells[3,i]:='并且';
end;
end;
end;
procedure Tw_tj.sg1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if (gdfocused in state) and (sg1.col=0) then
begin
tj.SetBounds(rect.left+sg1.left+2,rect.top+sg1.top+2,rect.right-rect.left-2,rect.bottom-rect.Top-2);
tj.Visible:=true;
tj.text:=sg1.cells[sg1.Col,sg1.row];
tj.SetFocus;
end else
if (gdfocused in state) and (sg1.col=1) then
begin
ysf.SetBounds(rect.left+sg1.left+2,rect.top+sg1.top+2,rect.right-rect.left-2,rect.bottom-rect.Top-2);
ysf.Visible:=true;
ysf.text:=sg1.cells[sg1.Col,sg1.row];
ysf.SetFocus;
end else
if (gdfocused in state) and (sg1.col=2) then
begin
cxz.SetBounds(rect.left+sg1.left+2,rect.top+sg1.top+2,rect.right-rect.left-2,rect.bottom-rect.Top-2);
cxz.Visible:=true;
cxz.text:=sg1.cells[sg1.Col,sg1.row];
cxz.SetFocus;
end else
if (gdfocused in state) and (sg1.col=3) then
begin
ljfs.SetBounds(rect.left+sg1.left+2,rect.top+sg1.top+2,rect.right-rect.left-2,rect.bottom-rect.Top-2);
ljfs.Visible:=true;
ljfs.text:=sg1.cells[sg1.Col,sg1.row];
ljfs.SetFocus;
end;
end;
procedure Tw_tj.sg1Click(Sender: TObject);
begin
if sg1.col=0 then
begin
tj.Text:=sg1.Cells[0,sg1.Row];
end else
if sg1.col=1 then
begin
ysf.Text:=sg1.Cells[1,sg1.Row];
end else
if sg1.col=2 then
begin
cxz.Text:=sg1.Cells[2,sg1.Row];
end else
if sg1.col=3 then
begin
ljfs.Text:=sg1.Cells[3,sg1.Row];
end;
end;
procedure Tw_tj.ysfKeyPress(Sender: TObject; var Key: Char);
begin
key:=#0;
beep;
end;
procedure Tw_tj.ysfChange(Sender: TObject);
begin
sg1.cells[1,sg1.Row]:=ysf.Text;
end;
procedure Tw_tj.ljfsChange(Sender: TObject);
begin
sg1.cells[3,sg1.Row]:=ljfs.Text;
end;
procedure Tw_tj.tjChange(Sender: TObject);
begin
sg1.cells[0,sg1.Row]:=tj.Text;
end;
procedure Tw_tj.ysfExit(Sender: TObject);
begin
ysf.Visible:=false;
end;
procedure Tw_tj.ljfsExit(Sender: TObject);
begin
ljfs.Visible:=false;
end;
procedure Tw_tj.cxzChange(Sender: TObject);
begin
sg1.Cells[2,sg1.row]:=cxz.text;
end;
procedure Tw_tj.cxzExit(Sender: TObject);
begin
cxz.Visible:=false;
end;
procedure Tw_tj.tjExit(Sender: TObject);
begin
if tj.text='资产类别' then
begin
with lscx do
begin
close;
sql.clear;
sql.add('select 固定资产类别 from 固定资产类别表');
prepared;
open;
cxz.items.Clear;
while not eof do
begin
cxz.items.Add(fields[0].value);
next;
end;
end;
end;
if tj.text='资产名称' then
begin
with lscx do
begin
close;
sql.clear;
sql.add('select 固定资产名称 from 固定资产名称表');
prepared;
open;
cxz.items.Clear;
while not eof do
begin
cxz.items.Add(fields[0].value);
next;
end;
end;
end;
if tj.text='资产用途' then
begin
with lscx do
begin
close;
sql.clear;
sql.add('select 固定资产用途 from 固定资产用途表');
prepared;
open;
cxz.items.Clear;
while not eof do
begin
cxz.items.Add(fields[0].value);
next;
end;
end;
end;
if tj.text='资产型号' then
begin
with lscx do
begin
close;
sql.clear;
sql.add('select 固定资产型号 from 固定资产型号表');
prepared;
open;
cxz.items.Clear;
while not eof do
begin
cxz.items.Add(fields[0].value);
next;
end;
end;
end;
if tj.text='供应商' then
begin
with lscx do
begin
close;
sql.clear;
sql.add('select 供应商名称 from 供应商编码表');
prepared;
open;
cxz.items.Clear;
while not eof do
begin
cxz.items.Add(fields[0].value);
next;
end;
end;
end;
if (tj.text='使用者') or (tj.text='经手人') then
begin
with lscx do
begin
close;
sql.clear;
sql.add('select 职员姓名 from 职员编码表');
prepared;
open;
cxz.items.Clear;
while not eof do
begin
cxz.items.Add(fields[0].value);
next;
end;
end;
end;
if (tj.text='是否借出') or (tj.text='维修标志') or (tj.text='是否归还') then
begin
cxz.Items.clear;
cxz.Items.add('是');
cxz.Items.add('否');
end;
tj.Visible:=false;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?