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

📄 frmpayout.pas

📁 里面有个人一天消费管理
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit frmPayout;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RzButton, StdCtrls, RzCmboBx, Mask, RzEdit, RzSpnEdt, Grids, DBGrids,
  RzDBGrid, RzLabel, ExtCtrls, RzPanel, ImgList, RzRadChk, DBCtrls, RzDBEdit,
  RzDBCmbo, RzSplit, RzGrids, RzTabs, RzCommon;

type
  TNowDataStatus=set of (ndsNormal,ndsAppend,ndsModify);

type
  TPayoutFm = class(TForm)
    panChild: TRzPanel;
    Pnl_Left: TRzPanel;
    Pnl_Left_Top: TRzPanel;
    lbl_payout: TRzLabel;
    Img_payout: TImage;
    ImgLst: TImageList;
    cmdClose: TRzButton;
    Pnl_Right: TRzPanel;
    Splt_Payout: TRzSplitter;
    Pnl_Single_list: TRzPanel;
    Pnl_Much_lst: TRzPanel;
    DbGrd_Income: TRzDBGrid;
    lbl_Payout_list: TRzLabel;
    Radio_Btn_all: TRzRadioButton;
    Radio_Btn_Month: TRzRadioButton;
    SpEdit_Year: TRzSpinEdit;
    lbl_Year: TRzLabel;
    CmbBx_Month: TRzComboBox;
    lbl_Month: TRzLabel;
    StrGrd_PayoutDispaly: TRzStringGrid;
    PgCtrl: TRzPageControl;
    TabSheet1: TRzTabSheet;
    TabSheet2: TRzTabSheet;
    Pnl_Left_Middle: TRzPanel;
    RzLabel2: TRzLabel;
    RzLabel3: TRzLabel;
    RzLabel4: TRzLabel;
    RzLabel6: TRzLabel;
    RzLabel7: TRzLabel;
    CmbBx_Riqi: TRzDBDateTimeEdit;
    CmbBx_Renyuan: TRzDBComboBox;
    CmbBx_Xiangmu: TRzDBComboBox;
    Edit_Jine: TRzDBEdit;
    Memo_Beizhu: TRzDBMemo;
    Pnl_Left_Bottom: TRzPanel;
    Btn_New: TRzBitBtn;
    Btn_Edit: TRzBitBtn;
    Btn_Del: TRzBitBtn;
    Pnl_MuchMiddle: TRzPanel;
    RzLabel1: TRzLabel;
    RzLabel5: TRzLabel;
    Pnl_MuchBtn: TRzPanel;
    Btn_AddMuch: TRzBitBtn;
    Btn_SaveMuch: TRzBitBtn;
    SpEdit_Year_lst: TRzSpinEdit;
    RzLabel11: TRzLabel;
    CmbBx_Month_lst: TRzComboBox;
    RzLabel12: TRzLabel;
    RzLabel13: TRzLabel;
    StrGrd_AddMuch: TRzStringGrid;
    Cmb_Date: TRzDateTimeEdit;
    Cmb_Renyuan: TRzComboBox;
    RzLabel8: TRzLabel;
    Btn_Display: TRzBitBtn;
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
    procedure Btn_DisplayClick(Sender: TObject);
    procedure StrGrd_PayoutDispalyDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure Btn_SaveMuchClick(Sender: TObject);
    procedure Btn_AddMuchClick(Sender: TObject);
    procedure CmbBx_MonthChange(Sender: TObject);
    procedure SpEdit_YearChange(Sender: TObject);
    procedure Btn_DelClick(Sender: TObject);
    procedure Btn_EditClick(Sender: TObject);
    procedure Btn_NewClick(Sender: TObject);
    procedure Radio_Btn_MonthClick(Sender: TObject);
    procedure Radio_Btn_allClick(Sender: TObject);
    procedure FirstRun;
    procedure cmdCloseClick(Sender: TObject);
    procedure Payout_stat;
  private
    { Private declarations }
    NowDataStatus:TNowDataStatus;
    procedure ChangeDisplayStatus(const AValue:TNowDataStatus);
  public
    { Public declarations }
  end;

var
  PayoutFm: TPayoutFm;

implementation

uses Common, frmdata, frmmain;

{$R *.dfm}

procedure TPayoutFm.FirstRun;
begin
  MainFm.RzProgressStatus1.Percent:=10;
  PayoutFm.ChangeDisplayStatus([ndsNormal]);
  MainFm.RzProgressStatus1.Percent:=20;
  AddRenYuan(CmbBx_Renyuan);
  MainFm.RzProgressStatus1.Percent:=30;
  CmbBx_Renyuan.Text:=datafm.Tbl_Payout.FieldByName('renyuan').AsString;
  MainFm.RzProgressStatus1.Percent:=40;
  SpEdit_Year_lst.Text:=GetPrestr(FormatDateTime('YYYY"-"MM"-"DD', date),0,4);
  MainFm.RzProgressStatus1.Percent:=50;
  CmbBx_Month_lst.Text:=GetPrestr(FormatDateTime('YYYY"-"MM"-"DD', date),6,2);
  MainFm.RzProgressStatus1.Percent:=60;
  Cmb_Renyuan.Items.Clear;
  MainFm.RzProgressStatus1.Percent:=70;
  Cmb_Renyuan.Items.AddStrings(GetADOTableFieldValue(dataFm.Tbl_family_option,'xm'));
  MainFm.RzProgressStatus1.Percent:=80;
  with datafm.Qry_Payout_Xiangmu  do    //加入收入项目到下拉列表
  begin
    close;
    sql.clear;
    sql.Add('select * from payout_option where display=True');
    open;
    CmbBx_Xiangmu.Clear;
    CmbBx_Xiangmu.Items.AddStrings(GetADOQueryFieldValue(datafm.Qry_Payout_Xiangmu,'xiangmu'));
    //CmbBx_Xiangmu.Text:=CmbBx_Xiangmu.Items[0];
    close;
    sql.clear;
  end;
  MainFm.RzProgressStatus1.Percent:=90;
  CmbBx_Xiangmu.Text:=datafm.Tbl_Payout.FieldByName('xiangmu').AsString;
  MainFm.RzProgressStatus1.Percent:=100;
  Timer1.Enabled:=true;
end;

procedure TPayoutFm.ChangeDisplayStatus(const AValue: TNowDataStatus);
begin
    if AValue=[ndsNormal] then
    begin
      Pnl_Left_Middle.Enabled:=False;
      Btn_New.Caption:='新建';
      Btn_New.Enabled:=true;
      Btn_New.ImageIndex:=0;
      Btn_New.DisabledIndex:=1;

      Btn_Edit.Caption:='修改';
      Btn_Edit.Enabled:=true;
      Btn_Edit.ImageIndex:=2;
      Btn_Edit.DisabledIndex:=3;

      Btn_Del.Caption:='删除';
      Btn_Del.Enabled:=true;
      Btn_Del.ImageIndex:=6;
      Btn_Del.DisabledIndex:=7;

      PayoutFm.NowDataStatus:=[ndsNormal];
    end;
    if AValue=[ndsAppend] then
    begin
      Pnl_Left_Middle.Enabled:=true;

      Btn_New.Caption:='保存';
      Btn_New.Enabled:=true;
      Btn_New.ImageIndex:=4;
      Btn_New.DisabledIndex:=5;

      Btn_Edit.Caption:='修改';
      Btn_Edit.Enabled:=false;
      Btn_Edit.ImageIndex:=2;
      Btn_Edit.DisabledIndex:=3;

      Btn_Del.Caption:='撤销';
      Btn_Del.Enabled:=true;
      Btn_Del.ImageIndex:=8;
      Btn_Del.DisabledIndex:=9;

      PayoutFm.NowDataStatus:=[ndsAppend];
    end;
    if AValue=[ndsModify] then
    begin
      Pnl_Left_Middle.Enabled:=true;

      Btn_New.Caption:='新建';
      Btn_New.Enabled:=false;
      Btn_New.ImageIndex:=0;
      Btn_New.DisabledIndex:=1;

      Btn_Edit.Caption:='保存';
      Btn_Edit.Enabled:=true;
      Btn_Edit.ImageIndex:=4;
      Btn_Edit.DisabledIndex:=5;

      Btn_Del.Caption:='撤销';
      Btn_Del.Enabled:=true;
      Btn_Del.ImageIndex:=8;
      Btn_Del.DisabledIndex:=9;

      PayoutFm.NowDataStatus:=[ndsModify];
    end;
end;

procedure TPayoutFm.CmbBx_MonthChange(Sender: TObject);
var DateDisplay:string;
begin
  DateDisplay:=SpEdit_Year.Text+'-'+CmbBx_Month.Text;
  with DataFm.QryPayoutData do
  begin
    close;
    sql.clear;
    sql.Add('select * from payout where riqi like'+'''%'+dateDisplay+ '%'''+'Order By riqi Asc');
    open;
  end;
  DbGrd_Income.DataSource:=DataFm.DsPayoutData;
end;

procedure TPayoutFm.Radio_Btn_allClick(Sender: TObject);
begin
  SpEdit_Year.Enabled:=not(Radio_Btn_all.Checked);
  CmbBx_Month.Enabled:=not(Radio_Btn_all.Checked);
  DbGrd_Income.DataSource:=DataFm.Ds_payout;
end;

procedure TPayoutFm.Radio_Btn_MonthClick(Sender: TObject);
var DateDisplay:string;
begin
  SpEdit_Year.Enabled:=Radio_Btn_Month.Checked;
  CmbBx_Month.Enabled:=Radio_Btn_Month.Checked;
  SpEdit_Year.Text:=GetPrestr(FormatDateTime('YYYY"-"MM"-"DD', date),0,4);
  CmbBx_Month.Text:=GetPrestr(FormatDateTime('YYYY"-"MM"-"DD', date),6,2);
  DateDisplay:=SpEdit_Year.Text+'-'+CmbBx_Month.Text;
  with DataFm.QryPayoutData do
  begin
    close;
    sql.clear;
    sql.Add('select * from payout where riqi like'+'''%'+dateDisplay+ '%'''+'Order By riqi Asc');
    open;
  end;
  DbGrd_Income.DataSource:=DataFm.DsPayoutData;
end;

procedure TPayoutFm.SpEdit_YearChange(Sender: TObject);
var  DateDisplay:string;
begin
  DateDisplay:=SpEdit_Year.Text+'-'+CmbBx_Month.Text;
  with DataFm.QryPayoutData do
  begin
    close;
    sql.clear;
    sql.Add('select * from payout where riqi like'+'''%'+dateDisplay+ '%'''+'Order By riqi Asc');
    open;
  end;
  DbGrd_Income.DataSource:=DataFm.DsPayoutData;
end;

procedure TPayoutFm.StrGrd_PayoutDispalyDrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
var
  s:string;
  r:TRect;
begin
   with StrGrd_PayoutDispaly do
    begin
      Canvas.FillRect(Rect);
      s:=Cells[ACol,ARow];
      r:=Rect;

⌨️ 快捷键说明

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