?? frmincome.pas
字號:
unit frmIncome;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, RzPanel, RzGroupBar, ImgList, Grids, DBGrids, RzDBGrid,
RzButton, StdCtrls, RzCmboBx, RzLabel, Mask, RzEdit, RzSpnEdt, RzRadGrp,
RzRadChk, DBCtrls, RzDBEdit, RzDBCmbo;
type
TNowDataStatus=set of (ndsNormal,ndsAppend,ndsModify);
type
TIncomeFm = class(TForm)
panChild: TRzPanel;
ImgLst: TImageList;
Pnl_Left: TRzPanel;
Pnl_Left_Top: TRzPanel;
Pnl_Left_Middle: TRzPanel;
Pnl_Left_Bottom: TRzPanel;
lbl_income_list: TRzLabel;
RzLabel1: TRzLabel;
RzLabel2: TRzLabel;
RzLabel3: TRzLabel;
RzLabel4: TRzLabel;
RzLabel6: TRzLabel;
RzLabel7: TRzLabel;
CmbBx_Renyuan: TRzDBComboBox;
CmbBx_Xiangmu: TRzDBComboBox;
Btn_New: TRzBitBtn;
Btn_Edit: TRzBitBtn;
Btn_Del: TRzBitBtn;
Img_Income: TImage;
CmbBx_Riqi: TRzDBDateTimeEdit;
Memo_Beizhu: TRzDBMemo;
Edit_Jine: TRzDBEdit;
Radio_Btn_all: TRzRadioButton;
Radio_Btn_Month: TRzRadioButton;
SpEdit_Year: TRzSpinEdit;
lbl_Year: TRzLabel;
CmbBx_Month: TRzComboBox;
lbl_Month: TRzLabel;
DbGrd_Income: TRzDBGrid;
cmdClose: TRzButton;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure CmbBx_MonthChange(Sender: TObject);
procedure SpEdit_YearChange(Sender: TObject);
procedure Radio_Btn_MonthClick(Sender: TObject);
procedure Radio_Btn_allClick(Sender: TObject);
procedure Btn_DelClick(Sender: TObject);
procedure Btn_EditClick(Sender: TObject);
procedure Btn_NewClick(Sender: TObject);
procedure FirstRun;
procedure cmdCloseClick(Sender: TObject);
private
{ Private declarations }
NowDataStatus:TNowDataStatus;
procedure ChangeDisplayStatus(const AValue:TNowDataStatus);
public
{ Public declarations }
end;
var
IncomeFm: TIncomeFm;
implementation
uses Common, frmdata, frmmain;
{$R *.dfm}
procedure TIncomeFm.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;
IncomeFm.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;
IncomeFm.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;
IncomeFm.NowDataStatus:=[ndsModify];
end;
end;
procedure TIncomeFm.CmbBx_MonthChange(Sender: TObject);
var dateDisplay:string;
begin
dateDisplay:=SpEdit_Year.Text+'-'+CmbBx_Month.Text;
with DataFm.QryIncomeData do
begin
close;
sql.clear;
sql.Add('select * from income where riqi like'+'''%'+dateDisplay+ '%'''+'Order By riqi Asc');
open
end;
DbGrd_Income.DataSource:=DataFm.DsIncomeData;
end;
procedure TIncomeFm.FirstRun;
begin
MainFm.RzProgressStatus1.Percent:=10;
IncomeFm.ChangeDisplayStatus([ndsNormal]);
MainFm.RzProgressStatus1.Percent:=20;
AddRenYuan(CmbBx_Renyuan);
MainFm.RzProgressStatus1.Percent:=30;
CmbBx_Renyuan.Text:=datafm.Tbl_Income.FieldByName('renyuan').AsString;
MainFm.RzProgressStatus1.Percent:=40;
with datafm.Qry_Income_Xiangmu do //加入收入項目到下拉列表
begin
close;
sql.clear;
sql.Add('select * from income_option where display=True');
open;
CmbBx_Xiangmu.Clear;
CmbBx_Xiangmu.Items.AddStrings(GetADOQueryFieldValue(datafm.Qry_Income_Xiangmu,'xiangmu'));
//CmbBx_Xiangmu.Text:=CmbBx_Xiangmu.Items[0];
close;
sql.clear;
end;
MainFm.RzProgressStatus1.Percent:=90;
CmbBx_Xiangmu.Text:=datafm.Tbl_Income.FieldByName('xiangmu').AsString;
MainFm.RzProgressStatus1.Percent:=100;
Timer1.Enabled:=true;
end;
procedure TIncomeFm.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_income;
end;
procedure TIncomeFm.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.QryIncomeData do
begin
close;
sql.clear;
sql.Add('select * from income where riqi like'+'''%'+dateDisplay+ '%''');
open
end;
DbGrd_Income.DataSource:=DataFm.DsIncomeData;
end;
procedure TIncomeFm.SpEdit_YearChange(Sender: TObject);
var dateDisplay:string;
begin
dateDisplay:=SpEdit_Year.Text+'-'+CmbBx_Month.Text;
with DataFm.QryIncomeData do
begin
close;
sql.clear;
sql.Add('select * from income where riqi like'+'''%'+dateDisplay+ '%''');
open
end;
DbGrd_Income.DataSource:=DataFm.DsIncomeData;
end;
procedure TIncomeFm.Timer1Timer(Sender: TObject);
begin
Timer1.Tag:=Timer1.Tag+1;
if Timer1.Tag>0 then
begin
MainFm.RzProgressStatus1.Percent:=0;
Timer1.Enabled:=false;
Timer1.Tag:=0;
end;
end;
procedure TIncomeFm.cmdCloseClick(Sender: TObject);
begin
panChild.Parent:=IncomeFm;
IncomeFm.Close;
end;
procedure TIncomeFm.Btn_DelClick(Sender: TObject);
var
strDeleteConfimInfo:string;
intResult:Integer;
begin
if IncomeFm.NowDataStatus=[ndsNormal] then
begin
strDeleteConfimInfo:='真的刪除嗎?';
intResult:=MessageBox(Application.Handle,pchar(strDeleteConfimInfo),'確認',32+4);
if intResult=mrYes then
dataFm.Tbl_Income.Delete;
end
else
begin
IncomeFm.ChangeDisplayStatus([ndsNormal]);
dataFm.Tbl_Income.Cancel;
end;
end;
procedure TIncomeFm.Btn_EditClick(Sender: TObject);
begin
if IncomeFm.NowDataStatus=[ndsNormal] then
begin
ChangeDisplayStatus([ndsModify]);
dataFm.Tbl_Income.Edit;
end
else
begin
if (IncomeFm.CmbBx_Riqi.Text='')
or (IncomeFm.CmbBx_Renyuan.Text='')
or (IncomeFm.CmbBx_Xiangmu.Text='')
or (IncomeFm.Edit_Jine.Text='') then
begin
showmessage('數據信息不全');
end
else
begin
dataFm.Tbl_Income.Post;
ChangeDisplayStatus([ndsNormal]);
end;
end;
end;
procedure TIncomeFm.Btn_NewClick(Sender: TObject);
begin
if IncomeFm.NowDataStatus=[ndsNormal] then
begin
ChangeDisplayStatus([ndsAppend]);
dataFm.Tbl_Income.Append;
end
else
begin
if (IncomeFm.CmbBx_Riqi.Text='')
or (IncomeFm.CmbBx_Renyuan.Text='')
or (IncomeFm.CmbBx_Xiangmu.Text='')
or (IncomeFm.Edit_Jine.Text='') then
begin
showmessage('數據信息不全');
end
else
begin
ChangeDisplayStatus([ndsNormal]);
dataFm.Tbl_Income.Post;
end;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -