⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ucount_person_filter.pas

📁 一个地方税务征收管理系统
💻 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 + -