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 + -
显示快捷键?