📄 rl_lssj_unit.~pas
字号:
unit rl_lssj_Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGridEh, DB, DBTables, ExtCtrls, StdCtrls, Mask, RzEdit,
PrnDbgeh, ComCtrls;
type
Trl_lssj = class(TForm)
Panel1: TPanel;
Splitter1: TSplitter;
Panel2: TPanel;
DataSource1: TDataSource;
Q_cx: TQuery;
DBGridEh1: TDBGridEh;
Label1: TLabel;
cb_dw: TComboBox;
Label2: TLabel;
cb_fc: TComboBox;
Label3: TLabel;
cb_bz: TComboBox;
tb_dw: TTable;
tb_bm: TTable;
tb_bz: TTable;
Label4: TLabel;
cb_jsxm: TComboBox;
tb_jsxm: TTable;
Button1: TButton;
q_js: TQuery;
Button2: TButton;
dateedit1: TRzDateTimeEdit;
dateedit2: TRzDateTimeEdit;
edt_rq1: TEdit;
edt_rq2: TEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
prt: TPrintDBGridEh;
Button3: TButton;
Button4: TButton;
StatusBar1: TStatusBar;
Panel3: TPanel;
Splitter2: TSplitter;
pb1: TProgressBar;
procedure FormCreate(Sender: TObject);
procedure cb_dwChange(Sender: TObject);
procedure cb_fcChange(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure dateedit1Change(Sender: TObject);
procedure dateedit2Change(Sender: TObject);
procedure cb_jsxmChange(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
rl_lssj: Trl_lssj;
implementation
{$R *.dfm}
procedure Trl_lssj.FormCreate(Sender: TObject);
var
i: integer;
begin
tb_dw.Open;
tb_dw.First;
with tb_dw do
while not eof do
begin
cb_dw.Items.Add(tb_dw['dw']);
next;
end;
tb_dw.close;
tb_jsxm.Open;
tb_jsxm.First;
for i := 1 to 30 do
tb_jsxm.Next;
with tb_jsxm do
while not eof do
begin
cb_jsxm.Items.Add(tb_jsxm['gzdm'] + ' ' + tb_jsxm['xsmc']);
next;
end;
tb_jsxm.Close;
end;
procedure Trl_lssj.cb_dwChange(Sender: TObject);
begin
cb_fc.Items.Clear;
cb_bz.Items.Clear;
tb_bm.Open;
tb_bm.First;
with tb_bm do
while not eof do
begin
if trim(cb_dw.Text) = trim(tb_bm['bmlb']) then
cb_fc.Items.Add(tb_bm['bmmc']);
next;
end;
tb_bm.close;
cb_fc.ItemIndex := -1;
cb_fc.Text := '';
cb_bz.ItemIndex := -1;
cb_bz.Text := '';
if cb_dw.Text <> '' then
button1.Enabled := true;
end;
procedure Trl_lssj.cb_fcChange(Sender: TObject);
begin
cb_bz.Items.Clear;
tb_bz.Open;
tb_bz.First;
with tb_bz do
while not eof do
begin
if (trim(cb_fc.Text) = trim(tb_bz['fcmc'])) and (trim(cb_dw.Text) = trim(tb_bz['lbmc'])) then
cb_bz.Items.Add(tb_bz['bzmc']);
next;
end;
tb_bz.close;
cb_bz.ItemIndex := -1;
cb_bz.Text := '';
end;
procedure Trl_lssj.Button1Click(Sender: TObject);
var
sql1: string;
begin
button2.Enabled := true;
if (trim(cb_dw.Text) <> '') and (trim(cb_fc.text) = '') and (trim(cb_bz.Text) = '') then
sql1 := 'select a1,a5,a150 from gzzk where a2=' + '''' + cb_dw.Text + '''';
if (trim(cb_dw.Text) <> '') and (trim(cb_fc.text) <> '') and (trim(cb_bz.Text) = '') then
sql1 := 'select a1,a5,a150 from gzzk where a2=' + '''' + cb_dw.Text + '''' + 'and a3=' + '''' + cb_fc.Text + '''';
if (trim(cb_dw.Text) <> '') and (trim(cb_fc.text) <> '') and (trim(cb_bz.Text) <> '') then
sql1 := 'select a1,a5,a150 from gzzk where a2=' + '''' + cb_dw.Text + '''' + 'and a3=' + '''' + cb_fc.Text + '''' + ' and a4=' + '''' + cb_bz.Text + '''';
q_cx.close;
with q_cx do
begin
sql.Clear;
sql.Add(sql1);
q_cx.Prepare;
open;
if q_cx.RecordCount = 0 then
begin
showmessage('没有发现数据!返回');
q_cx.close;
exit;
end;
end;
end;
procedure Trl_lssj.Button2Click(Sender: TObject);
var
jsdm, sql1, zgbh: string;
jlzs: integer;
begin
if (cb_jsxm.Text = '') or (edt_rq1.Text = '') or (edt_rq2.Text = '') then
begin
showmessage('计算项目、起始日期或终止日期不能为空!重新选择');
exit;
end;
panel3.Visible := true;
application.ProcessMessages;
jsdm := trim(copy(cb_jsxm.Text, 1, 4));
jlzs := q_cx.RecordCount;
q_cx.First;
with q_cx do
while not eof do
begin
application.ProcessMessages;
zgbh := inttostr(strtoint(q_cx.Fields[0].AsString));
sql1 := 'select sum(' + jsdm + ') from gz_bf where a0>=' + edt_rq1.Text + ' and a0<=' + edt_rq2.text + ' and a1=' + zgbh;
q_js.close;
with q_js do
begin
sql.Clear;
sql.Add(sql1);
q_js.Prepare;
q_js.open;
end;
q_cx.Edit;
q_cx['a150'] := q_js.Fields[0].AsFloat;
q_cx.Post;
q_js.Close;
pb1.Position := trunc(q_cx.RecNo / jlzs * 100);
application.ProcessMessages;
q_cx.Next;
end;
panel3.Visible := false;
end;
procedure Trl_lssj.dateedit1Change(Sender: TObject);
begin
edt_rq1.Text := copy(dateedit1.Text, 1, 8);
end;
procedure Trl_lssj.dateedit2Change(Sender: TObject);
begin
edt_rq2.Text := copy(dateedit2.Text, 1, 8);
end;
procedure Trl_lssj.cb_jsxmChange(Sender: TObject);
begin
with dbgrideh1.Columns[2].Title do
begin
caption := copy(cb_jsxm.Text, 4, strlen(pchar(cb_jsxm.text)) - 3);
end;
end;
procedure Trl_lssj.Button4Click(Sender: TObject);
begin
close;
end;
procedure Trl_lssj.Button3Click(Sender: TObject);
begin
prt.Preview;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -