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

📄 nationaldebt.pas

📁 ProviceSystem-公积金监管系统中心端
💻 PAS
字号:
unit NationalDebt;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, frmMapChild, StdCtrls, CheckLst, ComCtrls, AppEvnts, ImgList,
  ExtCtrls, ToolWin, Types;

type
  TfrmNationalDebt = class(TmapChild)
    ToolBar2: TToolBar;
    TBtnCityAll: TToolButton;
    TBtnCityClear: TToolButton;
    TBtnExit: TToolButton;
    Panel4: TPanel;
    Label2: TLabel;
    dtDate1: TDateTimePicker;
    dtDate2: TDateTimePicker;
    chkDate: TCheckBox;
    TBtnStat: TToolButton;
    ToolButton5: TToolButton;
    clbCity: TCheckListBox;
    pnlVariety: TPanel;
    ToolBar3: TToolBar;
    TBtnVarietyAll: TToolButton;
    TBtnVarietyClear: TToolButton;
    clbVariety: TCheckListBox;
    chkMoney: TCheckBox;
    cmbCondM: TComboBox;
    edtMoney1: TEdit;
    edtMoney2: TEdit;
    chkCount: TCheckBox;
    cmbCondC: TComboBox;
    edtCount1: TEdit;
    edtCount2: TEdit;
    chkVariety: TCheckBox;
    chkCity: TCheckBox;
    procedure chkDateClick(Sender: TObject);
    procedure chkVarietyClick(Sender: TObject);
    procedure chkMoneyClick(Sender: TObject);
    procedure chkCountClick(Sender: TObject);
    procedure edtMoney1Exit(Sender: TObject);
    procedure edtMoney1KeyPress(Sender: TObject; var Key: Char);
    procedure edtCount1KeyPress(Sender: TObject; var Key: Char);
    procedure edtCount1Exit(Sender: TObject);
    procedure edtCount1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure cmbCondMChange(Sender: TObject);
    procedure cmbCondCChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure LabelClick(sender: TObject);
    procedure chkCityClick(Sender: TObject);
    procedure TBtnStatClick(Sender: TObject);
    procedure TBtnExitClick(Sender: TObject);
    procedure TBtnCityAllClick(Sender: TObject);
    procedure TBtnVarietyAllClick(Sender: TObject);
    procedure TBtnCityClearClick(Sender: TObject);
    procedure TBtnVarietyClearClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmNationalDebt: TfrmNationalDebt;

implementation

{$R *.dfm}
uses uDMFunc, uUserFunc, NationalDebtList;

procedure TfrmNationalDebt.chkDateClick(Sender: TObject);
begin
  dtDate1.Enabled := chkDate.Checked;
  dtDate2.Enabled := chkDate.Checked;
end;

procedure TfrmNationalDebt.chkVarietyClick(Sender: TObject);
begin
  pnlVariety.Visible := chkVariety.Checked;
end;

procedure TfrmNationalDebt.chkMoneyClick(Sender: TObject);
begin
  cmbCondM.Enabled := chkMoney.Checked;
  edtMoney1.Enabled := chkMoney.Checked;
  edtMoney2.Enabled := chkMoney.Checked;
end;

procedure TfrmNationalDebt.chkCountClick(Sender: TObject);
begin
  cmbCondC.Enabled := chkCount.Checked;
  edtCount1.Enabled := chkCount.Checked;
  edtCount2.Enabled := chkCount.Checked;
end;

procedure TfrmNationalDebt.edtMoney1Exit(Sender: TObject);
var
  dVal : Double;
  cVal : string;
begin
  try
    dVal := strtofloat((Sender as tEdit).Text);
    str(dVal:16:2,cVal);
    (Sender as tEdit).Text := cVal;
  except
    (Sender as tEdit).Text := '            0.00';
  end;
end;

procedure TfrmNationalDebt.edtMoney1KeyPress(Sender: TObject;
  var Key: Char);
begin
  if not(key in ['0'..'9','.']) and (key <> #8) then
    key:= char(0);
end;

procedure TfrmNationalDebt.edtCount1KeyPress(Sender: TObject;
  var Key: Char);
begin
  inherited;
  if not(key in ['0'..'9']) and (key <> #8) then
    key:= char(0);
end;

procedure TfrmNationalDebt.edtCount1Exit(Sender: TObject);
var
  nVal : longint;
  cVal : string;
begin
  try
    nVal := strtoint((Sender as tEdit).Text);
    str(nVal:16,cVal);
    (Sender as tEdit).Text := cVal;
  except
    (Sender as tEdit).Text := '               0';
  end;
end;

procedure TfrmNationalDebt.edtCount1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  (Sender as tEdit).SelectAll;
end;

procedure TfrmNationalDebt.cmbCondMChange(Sender: TObject);
begin
  if cmbCondM.ItemIndex = 5 then
    edtMoney2.Visible := True
  else
    edtMoney2.Visible := False;
end;

procedure TfrmNationalDebt.cmbCondCChange(Sender: TObject);
begin
  if cmbCondC.ItemIndex = 5 then
    edtCount2.Visible := True
  else
    edtCount2.Visible := False;
end;

procedure TfrmNationalDebt.FormCreate(Sender: TObject);
var
  i: smallint;
  aData: TStringDynArray;
begin
  inherited;
  for i:=0 to high(aNode) do
  begin
    aNode[i].OnClick := LabelClick;
    clbCity.Items.Add(aNode[i].Caption);
  end;
  SearchNationalDebtVariety(aData);
  for i:=0 to high(aData) do
    clbVariety.Items.Add(aData[i]);
end;

procedure TfrmNationalDebt.LabelClick(sender: TObject);
begin
  clbCity.Checked[iNode] := not clbCity.Checked[iNode];
end;

procedure TfrmNationalDebt.chkCityClick(Sender: TObject);
begin
  Panel1.Visible := chkCity.Checked;
//  Panel2.Visible := chkCity.Checked;
end;

procedure TfrmNationalDebt.TBtnStatClick(Sender: TObject);
var
  aCity, aVariety: TStringDynArray;
  sDate, sMoney, sCount: String;
  NationDebtList: TfrmNationalDebtList;
  i, l: smallint;
begin
  setlength(aCity,0);
  setlength(aVariety,0);
  sDate := '';
  sMoney := '';
  sCount := '';
  if chkDate.Checked then
  begin
    if dtDate1.date>dtDate2.Date then
      sDate := '(a.GMRQ betewwn '''+DToS(dtDate2.Date)+''' and '''+DToS(dtDate1.Date)+''')'
    else
      sDate := '(a.GMRQ betewwn '''+DToS(dtDate1.Date)+''' and '''+DToS(dtDate2.Date)+''')';
  end;
  if chkMoney.Checked then
  begin
    case cmbCondM.ItemIndex of
      0: sMoney :='a.GMJE>='+trim(edtMoney1.Text);
      1: sMoney :='a.GMJE>'+trim(edtMoney1.Text);
      2: sMoney :='a.GMJE='+trim(edtMoney1.Text);
      3: sMoney :='a.GMJE<'+trim(edtMoney1.Text);
      4: sMoney :='a.GMJE<='+trim(edtMoney1.Text);
      5: begin
           if strtofloat(edtMoney1.Text)>strtofloat(edtMoney2.Text) then
             sMoney :='(a.GMJE between '+trim(edtMoney2.Text)+' and '+trim(edtMoney1.Text)+')'
           else
             sMoney :='(a.GMJE between '+trim(edtMoney1.Text)+' and '+trim(edtMoney2.Text)+')';
         end;  
    end;
  end;
  if chkCount.Checked then
  begin
    case cmbCondC.ItemIndex of
      0: sCount :='a.QX>='+trim(edtCount1.Text);
      1: sCount :='a.QX>'+trim(edtCount1.Text);
      2: sCount :='a.QX='+trim(edtCount1.Text);
      3: sCount :='a.QX<'+trim(edtCount1.Text);
      4: sCount :='a.QX<='+trim(edtCount1.Text);
      5: begin
           if strtoint(edtCount1.Text)>strtoint(edtCount2.Text) then
             sCount :='(a.QX between '+trim(edtCount2.Text)+' and '+trim(edtCount1.Text)+')'
           else
             sCount :='(a.QX between '+trim(edtCount1.Text)+' and '+trim(edtCount2.Text)+')';
         end;
    end;
  end;
  NationDebtList:= TfrmNationalDebtList.Create(application);
  l:=0;
  if chkCity.Checked then
  begin
    for i:=0 to clbCity.Count -1 do
      if clbCity.Checked[i] then
      begin
        inc(l);
        setlength(aCity,l);
        setlength(NationDebtList.aDs,l);
        aCity[l-1] := aNode[i].Number;
        NationDebtList.aDs[l-1] := aNode[i].Caption;
      end;
  end
  else
  begin
    for i:=0 to clbCity.Count -1 do
    begin
      inc(l);
      setlength(NationDebtList.aDs,l);
      NationDebtList.aDs[l-1] := aNode[i].Caption;
    end;
  end;

  l:=0;
  if chkVariety.Checked then
  begin
    for i:=0 to clbVariety.Count -1 do
      if clbVariety.Checked[i] then
      begin
        inc(l);
        setlength(aVariety,l);
        setlength(NationDebtList.aPz,l);
        aVariety[l-1] := clbVariety.Items.Strings[i];
        NationDebtList.aPz[l-1] := clbVariety.Items.Strings[i];
      end;
  end
  else
  begin
    for i:=0 to clbVariety.Count -1 do
    begin
      inc(l);
      setlength(NationDebtList.aPz,l);
      NationDebtList.aPz[l-1] := clbVariety.Items.Strings[i];
    end;
  end;
  NationDebtList.LoadInfo(aCity,aVariety,sDate,sMoney,sCount);
  NationDebtList.ShowModal;
  NationDebtList.Free;

end;

procedure TfrmNationalDebt.TBtnExitClick(Sender: TObject);
begin
  inherited;
  close;
end;

procedure TfrmNationalDebt.TBtnCityAllClick(Sender: TObject);
var
  i: smallint;
begin
  for i:=0 to clbCity.Count -1 do
    clbCity.Checked[i] := True;
end;

procedure TfrmNationalDebt.TBtnVarietyAllClick(Sender: TObject);
var
  i: smallint;
begin
  for i:=0 to clbVariety.Count -1 do
    clbVariety.Checked[i] := True;
end;

procedure TfrmNationalDebt.TBtnCityClearClick(Sender: TObject);
var
  i: smallint;
begin
  for i:=0 to clbCity.Count -1 do
    clbCity.Checked[i] := False;
end;

procedure TfrmNationalDebt.TBtnVarietyClearClick(Sender: TObject);
var
  i: smallint;
begin
  for i:=0 to clbVariety.Count -1 do
    clbVariety.Checked[i] := False;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -