📄 uquery.~pa
字号:
unit uQuery;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, Mask, ToolEdit, CurrEdit, ExtCtrls, Buttons,tools;
type
TfrmQuery = class(TForm)
Label8: TLabel;
Image2: TImage;
cmdReturn: TBitBtn;
GroupBox2: TGroupBox;
radOneSZ: TRadioButton;
radAllShouRu: TRadioButton;
radAllZhiChu: TRadioButton;
Panel1: TPanel;
Label7: TLabel;
radShouru: TRadioButton;
radZhiChu: TRadioButton;
cboSubType: TComboBox;
cmdCancel: TBitBtn;
GroupBox1: TGroupBox;
Label1: TLabel;
Label3: TLabel;
txtMaxMoney: TCurrencyEdit;
txtMinMoney: TCurrencyEdit;
chkMoney: TCheckBox;
GroupBox3: TGroupBox;
Label2: TLabel;
Label6: TLabel;
DTStartDate: TDateTimePicker;
DTEndDate: TDateTimePicker;
radToday: TRadioButton;
radMonth: TRadioButton;
radDate: TRadioButton;
ListBox1: TListBox;
procedure cmdReturnClick(Sender: TObject);
procedure radShouruClick(Sender: TObject);
procedure radZhiChuClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cmdCancelClick(Sender: TObject);
procedure chkMoneyClick(Sender: TObject);
procedure radTodayClick(Sender: TObject);
procedure radOneSZClick(Sender: TObject);
procedure radAllShouRuClick(Sender: TObject);
procedure radMonthClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmQuery: TfrmQuery;
implementation
{$R *.DFM}
procedure TfrmQuery.cmdReturnClick(Sender: TObject);
var
temp_s:string;
begin
//输入条件下拉框清空
listbox1.clear;
//判断结束时间是否大于开始时间
if DTStartDate.datetime>DTEndDate.datetime then begin
MessageBox(Handle,'开始时间不能大于结束时间!',' 家庭理财',mb_Ok or mb_IconStop or mb_DefButton1);
exit;
end;
if ChkMoney.Checked=true then begin
if Trim(txtMinMoney.Text)='' then begin
MessageBox(Handle,'最小金额不能为空!',' 家庭理财',mb_Ok or mb_IconStop or mb_DefButton1);
txtMinMoney.SetFocus ;
exit;
end;
if Trim(txtMaxMoney.Text)='' then begin
MessageBox(Handle,'最大金额不能为空!',' 家庭理财',mb_Ok or mb_IconStop or mb_DefButton1);
txtMaxMoney.SetFocus ;
exit;
end;
end;
//获得查询条件的开始和结束时间
temp_s:=formatdatetime('yyyy/mm/dd',DTStartDate.date);
listbox1.Items.Add(temp_s);
temp_s:=formatdatetime('yyyy/mm/dd',DTEndDate.date);
listbox1.Items.Add(temp_s);
//获得查询条件的收支种类
//假如选择某种收支
if radOneSZ.Checked=true then begin
if radShouru.Checked=true then
listbox1.Items.Add('收入')
else
listbox1.Items.Add('支出');
listbox1.Items.Add(cboSubType.text);
end
//假如选择全部收支
else if radAllShouRu.Checked=true then begin
listbox1.Items.Add('收入');
listbox1.Items.Add('');
end
//假如选择全部支出
else begin
listbox1.Items.Add('支出');
listbox1.Items.Add('');
end;
//判断是否有金额限制
if chkMoney.Checked=true then begin
listbox1.Items.Add('1');
listbox1.Items.Add(txtMinMoney.Text);
listbox1.Items.Add(txtMaxMoney.text)
end
else begin
listbox1.Items.Add('0');
listbox1.Items.Add('0');
listbox1.Items.Add('0');
end;
if radOneSZ.Checked=true then begin
listbox1.Items.Add('PART')
end
else if radAllShouRu.Checked=true then begin
listbox1.Items.Add('ALL')
end
else begin
listbox1.Items.Add('ALL')
end;
listbox1.Items.SaveToFile(GetAppPath+'\dat\Query.txt');
frmQuery.Close;
end;
procedure TfrmQuery.radShouruClick(Sender: TObject);
begin
if radShouRu.Checked<>true then
radShouRu.Checked :=true;
cboSubType.Items.LoadFromFile(GetAppPath+'dat\Sr.dat');
cboSubType.itemindex:=0;
end;
procedure TfrmQuery.radZhiChuClick(Sender: TObject);
begin
if radZhiChu.Checked<>true then
radZhiChu.Checked :=true;
cboSubType.Items.LoadFromFile(GetAppPath+'dat\ZC.dat');
cboSubType.itemindex:=0;
end;
procedure TfrmQuery.FormShow(Sender: TObject);
begin
DTStartDate.DateTime:=now;
DTEndDate.DateTime:=now;
radShouRuClick(radShouru);
//失效金额限制
chkMoney.Checked :=false;
txtMinMoney.Text :='';
txtMaxMoney.Text :='';
GroupBox1.Enabled :=false;
end;
procedure TfrmQuery.cmdCancelClick(Sender: TObject);
begin
listbox1.Clear;
listbox1.Items.SaveToFile(GetAppPath+'\dat\Query.txt');
frmQuery.Close;
end;
procedure TfrmQuery.chkMoneyClick(Sender: TObject);
begin
//假如金额限制有效
if chkMoney.Checked=true then begin
GroupBox1.Enabled :=true;
txtMinMoney.SetFocus ;
end
//假如金额限制无效
else begin
GroupBox1.Enabled :=false;
txtMinMoney.Text :='';
txtMaxMoney.Text :='';
end;
end;
procedure TfrmQuery.radTodayClick(Sender: TObject);
begin
DTStartDate.DateTime:=Now;
DTEndDate.DateTime:=Now;
end;
procedure TfrmQuery.radOneSZClick(Sender: TObject);
begin
Panel1.Enabled :=true;
end;
procedure TfrmQuery.radAllShouRuClick(Sender: TObject);
begin
Panel1.Enabled :=false;
end;
procedure TfrmQuery.radMonthClick(Sender: TObject);
var
mYear, mMonth, mDay:Word;
mThisDate:string;
begin
//设置为当月
DecodeDate(Now, mYear, mMonth, mDay);
mDay:=1;
//计算当月起始时间
DTStartDate.DateTime:=EncodeDate(mYear, mMonth, mDay);
//计算下月起始时间
mMonth:=mMonth+1;
if mMonth=13 then begin
mYear:=mYear+1;
mMonth:=1;
end;
DTEndDate.DateTime:=EncodeDate(mYear, mMonth, mDay);
//将时间调整为上月最后一天
DTEndDate.DateTime:=DTEndDate.DateTime-1;
end;
procedure TfrmQuery.FormCreate(Sender: TObject);
begin
Groupbox3.Hint:='对查询的时间进行限制。你可以选择一'+chr(10)+chr(13);
Groupbox3.Hint:=Groupbox3.Hint+'定时期或者当月或者当天进行相应的收'+chr(10)+chr(13);
Groupbox3.Hint:=Groupbox3.Hint+'支情况查询。';
Groupbox2.Hint:='对收支的限制。你可以选择具体的'+chr(10)+chr(13);
Groupbox2.Hint:=Groupbox2.Hint+'某类收支或者全部收入或支出进行'+chr(10)+chr(13);
Groupbox2.Hint:=Groupbox2.Hint+'查询。';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -