📄 ucount_person_filter.pas
字号:
unit ucount_person_filter;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, dialogs, Grids, DBGridEh, Menus, ComCtrls, Mask,
DBCtrlsEh, DBLookupEh, DBCtrls;
type
Tcount_person_filter = class(TForm)
BitBtn1: TBitBtn;
Memo1: TMemo;
GroupBox1: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
ListBox1: TListBox;
Label3: TLabel;
Label4: TLabel;
Edit2: TEdit;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Label5: TLabel;
Button1: TButton;
Button2: TButton;
Label6: TLabel;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
ListBox2: TListBox;
procedure CancelBtnClick(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
function W_exp: string;
procedure ListBox1Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
count_person_filter: Tcount_person_filter;
implementation
uses DB, u_dm, ADODB, urc_query, RICH_SYS, ucount_person, u_main;
{$R *.dfm}
procedure Tcount_person_filter.CancelBtnClick(Sender: TObject);
begin
close;
end;
procedure Tcount_person_filter.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
key := #0;
BitBtn1.Click;
end;
end;
procedure Tcount_person_filter.FormCreate(Sender: TObject);
var
s: string;
begin
// main.Scale_form(0,Self);
edit1.Text := '';
Edit2.Text := '';
s := dm1.A_jd_person.Filter;
if s <> '' then
begin
s := ReplaceAllStr(s, 'name', '姓名');
s := ReplaceAllStr(s, 'pno', '编号');
s := ReplaceAllStr(s, 'b_s1', '农业税完成百分比');
s := ReplaceAllStr(s, 'b_s2', '两工完成百分比');
s := ReplaceAllStr(s, 'b_count', '小计完成百分比');
s := ReplaceAllStr(s, 'r_s1', '农业税任务');
s := ReplaceAllStr(s, 's1', '农业税已交');
s := ReplaceAllStr(s, 'x_s1', '农业税下差');
s := ReplaceAllStr(s, 'r_s2', '两工任务');
s := ReplaceAllStr(s, 's2', '两工已交');
s := ReplaceAllStr(s, 'x_s2', '两工下差');
s := ReplaceAllStr(s, 'r_count', '小计任务');
s := ReplaceAllStr(s, 'y_count', '小计已交');
s := ReplaceAllStr(s, 'x_count', '小计下差');
s := ReplaceAllStr(s, 'AND', '并且');
s := ReplaceAllStr(s, 'OR', '或者');
s := ReplaceAllStr(s, 'NOT', '非');
end;
Memo1.Lines.Text := s;
end;
function Tcount_person_filter.W_exp: string;
begin
if ListBox1.ItemIndex < 0 then exit;
if ListBox2.ItemIndex < 0 then exit;
if ((ListBox1.ItemIndex >= 2) or (ListBox2.ItemIndex <> 6)) then
edit2.Text := ListBox1.Items[ListBox1.itemindex] +
ListBox2.Items[ListBox2.itemindex] + Edit1.Text
else
edit2.Text := ListBox1.Items[ListBox1.itemindex] +
ListBox2.Items[ListBox2.itemindex] + string_sqlText(Edit1.Text);
Result := '';
end;
procedure Tcount_person_filter.ListBox1Click(Sender: TObject);
begin
W_exp;
end;
procedure Tcount_person_filter.Edit1Change(Sender: TObject);
begin
W_exp;
end;
procedure Tcount_person_filter.Button1Click(Sender: TObject);
begin
Memo1.Lines.Add('(' + Edit2.Text + ')');
end;
procedure Tcount_person_filter.Button2Click(Sender: TObject);
begin
edit2.Text := '';
end;
procedure Tcount_person_filter.SpeedButton7Click(Sender: TObject);
var
s: string;
begin
s := Memo1.Lines.Strings[Memo1.Lines.count - 1];
Memo1.Lines.Strings[Memo1.Lines.count - 1] := s + ' 并且 '
end;
procedure Tcount_person_filter.SpeedButton8Click(Sender: TObject);
var
s: string;
begin
s := Memo1.Lines.Strings[Memo1.Lines.count - 1];
Memo1.Lines.Strings[Memo1.Lines.count - 1] := s + ' 或者 '
end;
procedure Tcount_person_filter.SpeedButton9Click(Sender: TObject);
var
s: string;
begin
s := Memo1.Lines.Strings[Memo1.Lines.count - 1];
Memo1.Lines.Strings[Memo1.Lines.count - 1] := s + ' 非 '
end;
procedure Tcount_person_filter.BitBtn1Click(Sender: TObject);
var
s: string;
i: integer;
begin
s := '';
for i := 0 to Memo1.Lines.Count - 1 do
s := s + Memo1.Lines.Strings[i];
s := ReplaceAllStr(s, '姓名', 'name');
s := ReplaceAllStr(s, '编号', 'pno');
s := ReplaceAllStr(s, '农业税完成百分比', 'b_s1');
s := ReplaceAllStr(s, '两工完成百分比', 'b_s2');
s := ReplaceAllStr(s, '小计完成百分比', 'b_count');
s := ReplaceAllStr(s, '小计下差', 'x_count');
s := ReplaceAllStr(s, '两工下差', 'x_s2');
s := ReplaceAllStr(s, '农业税下差', 'x_s1');
s := ReplaceAllStr(s, '农业税任务', 'r_s1');
s := ReplaceAllStr(s, '农业税已交', 's1');
s := ReplaceAllStr(s, '两工任务', 'r_s2');
s := ReplaceAllStr(s, '两工已交', 's2');
s := ReplaceAllStr(s, '小计任务', 'r_count');
s := ReplaceAllStr(s, '小计已交', 'y_count');
s := ReplaceAllStr(s, '并且', 'AND');
s := ReplaceAllStr(s, '或者', 'OR');
s := ReplaceAllStr(s, '非', 'NOT');
dm1.A_jd_person.Filter := s;
dm1.A_jd_person.Filtered := true;
end;
procedure Tcount_person_filter.BitBtn2Click(Sender: TObject);
begin
dm1.A_jd_person.Filtered := false;
end;
procedure Tcount_person_filter.BitBtn3Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -