?? unit3.pas
字號:
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, RzListVw, StdCtrls, xpGroupBox, xpBitBtn, xpCombo,
xpEdit, ExtCtrls, xpPanel, Menus, DB, ADODB, Mask, RzEdit;
type
TForm3 = class(TForm)
xpPanel1: TxpPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
xpEdit1: TxpEdit;
xpEdit2: TxpEdit;
xpBitBtn1: TxpBitBtn;
xpBitBtn2: TxpBitBtn;
xpComboBox1: TxpComboBox;
xpGroupBox2: TxpGroupBox;
xpBitBtn7: TxpBitBtn;
xpBitBtn8: TxpBitBtn;
xpPanel2: TxpPanel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
xpComboBox2: TxpComboBox;
xpBitBtn3: TxpBitBtn;
xpBitBtn4: TxpBitBtn;
xpEdit7: TxpEdit;
xpEdit8: TxpEdit;
xpGroupBox1: TxpGroupBox;
Label12: TLabel;
Label13: TLabel;
xpedit9: TxpEdit;
xpEdit10: TxpEdit;
xpBitBtn5: TxpBitBtn;
xpEdit4: TxpEdit;
xpEdit5: TxpEdit;
xpGroupBox3: TxpGroupBox;
PopupMenu1: TPopupMenu;
M1: TMenuItem;
payoutTable: TADOTable;
RzListView1: TRzListView;
RzMaskEdit1: TRzMaskEdit;
incometable: TADOTable;
RzMaskEdit2: TRzMaskEdit;
xpEdit3: TxpEdit;
xpEdit6: TxpEdit;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
xpEdit11: TxpEdit;
dbusertable: TADOTable;
procedure xpBitBtn5Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure xpedit9KeyPress(Sender: TObject; var Key: Char);
procedure xpEdit10KeyPress(Sender: TObject; var Key: Char);
procedure RzListView1SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
procedure M1Click(Sender: TObject);
procedure xpBitBtn4Click(Sender: TObject);
procedure xpBitBtn3Click(Sender: TObject);
procedure RzMaskEdit1KeyPress(Sender: TObject; var Key: Char);
procedure xpEdit5KeyPress(Sender: TObject; var Key: Char);
procedure xpEdit2KeyPress(Sender: TObject; var Key: Char);
procedure xpBitBtn1Click(Sender: TObject);
procedure xpBitBtn2Click(Sender: TObject);
procedure xpBitBtn7Click(Sender: TObject);
procedure xpBitBtn8Click(Sender: TObject);
procedure dbusertableAfterPost(DataSet: TDataSet);
procedure dbusertableAfterDelete(DataSet: TDataSet);
procedure payoutTableAfterPost(DataSet: TDataSet);
procedure incometableAfterPost(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
listviewindex:integer;
Listindex_m:integer;
modify:boolean;
list:array[1..100,1..2] of string;
list_index:integer;
implementation
uses main, search;
{$R *.dfm}
procedure TForm3.xpBitBtn5Click(Sender: TObject);
begin
if (xpedit9.Text='') then
begin
application.MessageBox('支出物品不能為空!','提示',mb_Ok);
xpedit9.SetFocus;
exit;
end;
if (xpedit10.Text='') then
begin
application.MessageBox('支出金額不能為空!','提示',mb_Ok);
xpedit10.SetFocus;
exit;
end;
if modify then
begin
rzlistview1.Items.Item[listindex_m].SubItems[0]:=xpedit9.text;
rzlistview1.items.Item[listindex_m].SubItems[1]:=xpedit10.Text;
listindex_m:=-1;
modify:=false;
xpedit9.Text:='';
xpedit10.Text:='';
xpedit9.SetFocus;
exit;
end;
with rzlistview1.Items.Add do
begin
listviewindex:=listviewindex+1;
caption:=inttostr(listviewindex);
subitems.Add(xpedit9.Text);
subitems.Add(xpedit10.Text);
list[list_index][1]:=xpedit9.text;
list[list_index][2]:=xpedit10.Text;
list_index:=list_index+1;
end;
xpedit9.Text:='';
xpedit10.Text:='';
xpedit9.SetFocus;
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
modify:=false;
listindex_m:=-1;
listviewindex:=0;
list_index :=1;
end;
procedure TForm3.xpedit9KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
xpedit10.SetFocus;
end;
procedure TForm3.xpEdit10KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
xpbitbtn5.OnClick(self);
end;
procedure TForm3.RzListView1SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
begin
listindex_m:=item.Index;
end;
procedure TForm3.M1Click(Sender: TObject);
begin
modify:=true;
xpedit9.Text:=rzlistview1.Items.Item[listindex_m].SubItems[0];
xpedit10.Text:=rzlistview1.Items.Item[listindex_m].SubItems[1];
end;
procedure TForm3.xpBitBtn4Click(Sender: TObject);
begin
list_index:=1;
xpedit4.Text:='';
xpedit5.Text:='';
rzmaskedit1.Text:='';
xpedit7.Text:='';
xpedit8.Text:='';
xpedit9.Text:='';
xpedit10.Text:='';
xpcombobox2.ItemIndex:=0;
rzlistview1.Clear;
listviewindex:=-1
end;
procedure TForm3.xpBitBtn3Click(Sender: TObject);
var num,i:integer;
begin
if xpedit4.Text='' then
begin
application.MessageBox('輸入支出人不能為空','提示',mb_ok);
exit;
end;
if xpedit5.Text='' then
begin
application.MessageBox('輸入支出金額不能為空','提示',mb_ok);
exit;
end;
if xpedit7.Text='' then
begin
application.MessageBox('輸入支出地點不能為空','提示',mb_ok);
exit;
end;
if xpedit8.Text='' then
begin
application.MessageBox('輸入支出緣由不能為空','提示',mb_ok);
exit;
end;
try
strtodatetime(rzmaskedit1.Text)
except
on e:econverterror do
begin
application.MessageBox('輸入時間格式不對','提示',mb_ok);
rzmaskedit1.Text:='';
rzmaskedit1.SetFocus;
exit;
end;
end;
try
strtofloat(xpedit5.Text);
except
on e: econverterror do
begin
application.MessageBox('輸入金額格式不對','提示',mb_ok);
xpedit5.Text:='';
xpedit5.SetFocus;
exit;
end;
end;
payouttable.Open;
with payouttable do
begin
last;
if bof then
num:=0
else
num:=fieldvalues['payout_num'];
//num:=num+1;
if rzlistview1.Items.Count>0 then
begin
for i:=1 to rzlistview1.Items.Count do
begin
append;
num:=num+1;
Fieldvalues['payout_num']:=num;
Fieldvalues['payout_name']:=xpedit4.Text;
Fieldvalues['payout_money']:=strtofloat(xpedit5.Text);
Fieldvalues['payout_date']:=strtodatetime(rzmaskedit1.Text);
Fieldvalues['payout_address']:=xpedit7.Text;
Fieldvalues['payout_reason']:=xpedit8.Text;
Fieldvalues['payout_mode']:=xpcombobox2.Text;
Fieldvalues['payout_single']:=list[i+1][1];
Fieldvalues['payout_single_money']:=list[i+1][2];
//str1:=rzlistview1.
{j:=i; }
{if rzlistview1.Items.Count<>0 then
begin
str1:=rzlistview1.Items.Item[i].SubItems.Strings[0];
// SubItems[0];
str2:=rzlistview1.Items.Item[i].SubItems[1];
Fieldvalues['payout_single']:=str1;
Fieldvalues['payout_single_money']:=str2;
end; }
Fieldvalues['payout_filldate']:=now;
post;
end;
end
else
begin
append;
num:=num+1;
Fieldvalues['payout_num']:=num;
Fieldvalues['payout_name']:=xpedit4.Text;
Fieldvalues['payout_money']:=strtofloat(xpedit5.Text);
Fieldvalues['payout_date']:=strtodatetime(rzmaskedit1.Text);
Fieldvalues['payout_address']:=xpedit7.Text;
Fieldvalues['payout_reason']:=xpedit8.Text;
Fieldvalues['payout_mode']:=xpcombobox2.Text;
Fieldvalues['payout_filldate']:=now;
post;
end;
end;
end;
procedure TForm3.RzMaskEdit1KeyPress(Sender: TObject; var Key: Char);
begin
try
if not (key in ['1','2','3','4','5','6','7','8','9','0',#8]) then
key:=#0;
except
on e:edbediterror do
rzmaskedit1.Text:='';
end;
end;
procedure TForm3.xpEdit5KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['1','2','3','4','5','6','7','8','9','0','.',#8]) then
key:=#0;
end;
procedure TForm3.xpEdit2KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['1','2','3','4','5','6','7','8','9','0','.',#8]) then
key:=#0;
end;
procedure TForm3.xpBitBtn1Click(Sender: TObject);
var num:integer;
begin
if xpedit1.Text='' then
begin
application.MessageBox('輸入收入人不能為空','提示',mb_ok);
exit;
end;
if xpedit2.Text='' then
begin
application.MessageBox('輸入收入金額不能為空','提示',mb_ok);
exit;
end;
if rzmaskedit2.Text='' then
begin
application.MessageBox('輸入收入日期不能為空','提示',mb_ok);
exit;
end;
try
strtofloat(xpedit2.Text)
except
on E:EconvertError do
begin
application.MessageBox('輸入金額格式不對','提示',mb_ok);
xpedit2.Text:='';
xpedit2.SetFocus;
exit;
end;
end;
try
strtodatetime(rzmaskedit2.Text)
except
on E:EconvertError do
begin
application.MessageBox('輸入日期格式不對','提示',mb_ok);
rzmaskedit2.Text:='';
rzmaskedit2.SetFocus;
exit;
end;
end;
incometable.open;
with incometable do
begin
last;
if bof then
begin
num:=0;
edit;
end
else
begin
num:=Fieldvalues['income_num'];
append;
end;
num:=num+1;
fieldvalues['income_num']:=num;
Fieldvalues['income_name']:=xpedit1.Text;
Fieldvalues['income_money']:=strtofloat(xpedit2.Text);
fieldvalues['income_date']:=strtodatetime(rzmaskedit2.Text);
fieldvalues['income_source']:=xpcombobox1.Text;
fieldvalues['income_filldate']:=now;
post;
end;
xpedit1.Text:='';
xpedit2.Text:='';
rzmaskedit2.Text:='';
xpcombobox1.ItemIndex:=0;
end;
procedure TForm3.xpBitBtn2Click(Sender: TObject);
begin
xpedit1.Text:='';
xpedit2.Text:='';
rzmaskedit2.Text:='';
xpcombobox1.ItemIndex:=0;
end;
procedure TForm3.xpBitBtn7Click(Sender: TObject);
var SearchOptions:TLocateOptions;
searchresult:boolean;
begin
SearchOptions:=[loCaseInsensitive];
if (xpedit3.Text='') or (xpedit6.Text='') or (xpedit11.Text='') then
begin
application.MessageBox('請輸入完整的信息!','提示',mb_ok);
exit;
end;
if xpedit6.Text<>xpedit11.Text then
begin
xpedit6.Text:='';
xpedit11.Text:='';
xpedit6.SetFocus;
exit;
end;
dbusertable.Open;
searchresult:=dbusertable.Locate('username',xpedit3.Text,SearchOptions);
if searchresult then
begin
application.MessageBox('用戶已存在!','提示',MB_OK);
XPedit3.Text:='';
xpedit6.Text:='';
xpedit11.Text:='';
xpedit3.SetFocus;
exit;
end;
with dbusertable do
begin
last;
append;
FieldValues['username']:=xpedit3.text;
FieldValues['password']:=xpedit6.text;
post;
end;
end;
procedure TForm3.xpBitBtn8Click(Sender: TObject);
var SearchOptions:TLocateOptions;
searchresult:boolean;
begin
SearchOptions:=[loCaseInsensitive];
if (xpedit3.Text='') then
begin
application.MessageBox('請輸入用戶名!','提示',mb_ok);
exit;
end;
dbusertable.Open;
searchresult:=dbusertable.Locate('username',xpedit3.Text,SearchOptions);
if not searchresult then
begin
application.MessageBox('用戶不存在!','提示',MB_OK);
XPedit3.Text:='';
xpedit6.Text:='';
xpedit11.Text:='';
xpedit3.SetFocus;
exit;
end;
with dbusertable do
begin
delete;
end;
end;
procedure TForm3.dbusertableAfterPost(DataSet: TDataSet);
begin
XPedit3.Text:='';
xpedit6.Text:='';
xpedit11.Text:='';
xpedit3.SetFocus;
application.MessageBox('用戶添加成功!','提示',MB_ok);
xpgroupbox2.Visible:=false;
xpgroupbox3.Visible:=true;
dbusertable.Close;
end;
procedure TForm3.dbusertableAfterDelete(DataSet: TDataSet);
begin
XPedit3.Text:='';
xpedit6.Text:='';
xpedit11.Text:='';
xpedit3.SetFocus;
application.MessageBox('用戶刪除成功!','提示',MB_ok);
xpgroupbox2.Visible:=false;
xpgroupbox3.Visible:=true;
dbusertable.Close;
end;
procedure TForm3.payoutTableAfterPost(DataSet: TDataSet);
var i:integer;
begin
application.MessageBox('支出信息保存成功!','提示',mb_ok);
for i:=1 to 100 do
begin
list[i][1]:='';
list[i][2]:='';
end;
payouttable.Close;
list_index:=1;
xpedit4.Text:='';
xpedit5.Text:='';
rzmaskedit1.Text:='';
xpedit7.Text:='';
xpedit8.Text:='';
xpedit9.Text:='';
xpedit10.Text:='';
xpcombobox2.ItemIndex:=0;
rzlistview1.Clear;
listviewindex:=-1
end;
procedure TForm3.incometableAfterPost(DataSet: TDataSet);
begin
application.MessageBox('收入信息保存成功!','提示',mb_ok);
incometable.Close;
xpedit1.Text:='';
xpedit2.Text:='';
rzmaskedit2.Text:='';
xpcombobox1.ItemIndex:=0;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -