?? floor.pas
字號(hào):
unit floor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Menus, ComCtrls, ExtCtrls, Grids, DBGridEh,
comobj,Mask, DBCtrlsEh, PrnDbgeh, FR_DSet, FR_DBSet, FR_Class;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
Bevel2: TBevel;
Bevel3: TBevel;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
Label18: TLabel;
DBComboBoxEh2: TDBComboBoxEh;
Label19: TLabel;
DBComboBoxEh3: TDBComboBoxEh;
Label20: TLabel;
DBComboBoxEh4: TDBComboBoxEh;
DBGridEh1: TDBGridEh;
DBGridEh2: TDBGridEh;
BitBtn9: TBitBtn;
BitBtn10: TBitBtn;
BitBtn11: TBitBtn;
BitBtn12: TBitBtn;
Bevel1: TBevel;
DBGridEh3: TDBGridEh;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
BitBtn13: TBitBtn;
Bevel4: TBevel;
Label7: TLabel;
DBComboBoxEh1: TDBComboBoxEh;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn14: TBitBtn;
BitBtn16: TBitBtn;
BitBtn17: TBitBtn;
Bevel5: TBevel;
Bevel7: TBevel;
BitBtn18: TBitBtn;
BitBtn19: TBitBtn;
Label35: TLabel;
BitBtn20: TBitBtn;
PrintDBGridEh1: TPrintDBGridEh;
BitBtn15: TBitBtn;
BitBtn21: TBitBtn;
DBComboBoxEh7: TDBComboBoxEh;
BitBtn22: TBitBtn;
BitBtn23: TBitBtn;
frReport1: TfrReport;
frDBDataSet1: TfrDBDataSet;
frReport2: TfrReport;
frDBDataSet2: TfrDBDataSet;
Label1: TLabel;
Edit1: TEdit;
Label3: TLabel;
Label4: TLabel;
Edit3: TEdit;
Label5: TLabel;
DBNumberEditEh1: TDBNumberEditEh;
Label6: TLabel;
DBNumberEditEh2: TDBNumberEditEh;
Label8: TLabel;
DBNumberEditEh3: TDBNumberEditEh;
Label11: TLabel;
DBNumberEditEh4: TDBNumberEditEh;
Label12: TLabel;
Label13: TLabel;
DBNumberEditEh5: TDBNumberEditEh;
Label14: TLabel;
Label15: TLabel;
DBNumberEditEh6: TDBNumberEditEh;
Label16: TLabel;
Label17: TLabel;
DBNumberEditEh7: TDBNumberEditEh;
DBNumberEditEh8: TDBNumberEditEh;
DBNumberEditEh9: TDBNumberEditEh;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
DBNumberEditEh10: TDBNumberEditEh;
DBNumberEditEh11: TDBNumberEditEh;
DBNumberEditEh12: TDBNumberEditEh;
Label24: TLabel;
DBNumberEditEh13: TDBNumberEditEh;
Label25: TLabel;
DBNumberEditEh14: TDBNumberEditEh;
Label26: TLabel;
Label27: TLabel;
DBNumberEditEh15: TDBNumberEditEh;
Label28: TLabel;
Edit4: TEdit;
Label29: TLabel;
Label30: TLabel;
DBNumberEditEh16: TDBNumberEditEh;
DBNumberEditEh17: TDBNumberEditEh;
DBNumberEditEh18: TDBNumberEditEh;
DBNumberEditEh19: TDBNumberEditEh;
BitBtn24: TBitBtn;
Label9: TLabel;
Label10: TLabel;
DBDateTimeEditEh1: TDBDateTimeEditEh;
DBDateTimeEditEh2: TDBDateTimeEditEh;
Label31: TLabel;
Label32: TLabel;
Edit5: TEdit;
Edit6: TEdit;
ListBox1: TListBox;
BitBtn25: TBitBtn;
BitBtn26: TBitBtn;
ListBox2: TListBox;
ListBox3: TListBox;
ListBox4: TListBox;
BitBtn27: TBitBtn;
BitBtn28: TBitBtn;
BitBtn29: TBitBtn;
BitBtn30: TBitBtn;
Label2: TLabel;
Label33: TLabel;
Label34: TLabel;
Label36: TLabel;
Label37: TLabel;
Label38: TLabel;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
Edit2: TEdit;
Label39: TLabel;
DBNumberEditEh20: TDBNumberEditEh;
DBComboBoxEh5: TDBComboBoxEh;
Label40: TLabel;
procedure N9Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure FormDestroy(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn13Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure BitBtn16Click(Sender: TObject);
procedure BitBtn18Click(Sender: TObject);
procedure Edit10Exit(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn17Click(Sender: TObject);
procedure DBGridEh3TitleBtnClick(Sender: TObject; ACol: Integer;
Column: TColumnEh);
procedure DBGridEh1TitleBtnClick(Sender: TObject; ACol: Integer;
Column: TColumnEh);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn20Click(Sender: TObject);
procedure BitBtn19Click(Sender: TObject);
procedure DBGridEh3KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn15Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure DBGridEh1KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn21Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn14Click(Sender: TObject);
procedure BitBtn12Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure BitBtn23Click(Sender: TObject);
procedure BitBtn22Click(Sender: TObject);
procedure BitBtn24Click(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure DBGridEh2CellClick(Column: TColumnEh);
procedure DBGridEh2ColExit(Sender: TObject);
procedure Edit4KeyPress(Sender: TObject; var Key: Char);
procedure BitBtn25Click(Sender: TObject);
procedure BitBtn26Click(Sender: TObject);
procedure BitBtn27Click(Sender: TObject);
procedure BitBtn29Click(Sender: TObject);
procedure BitBtn28Click(Sender: TObject);
procedure BitBtn30Click(Sender: TObject);
procedure DBNumberEditEh20Exit(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure DBGridEh2GetCellParams(Sender: TObject; Column: TColumnEh;
AFont: TFont; var Background: TColor; State: TGridDrawState);
// function num2str(ls: Extended): String;
private
{ Private declarations }
edit_state:integer;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses maindata, custom, ufloor, sd;
{$R *.dfm}
function num2str(ls: Extended): String;
var
dx_sz,dx_dw,str_int,str_dec,dx_str,fu:string;
a,b,b2,c,d:string;
num_int,num_dec,len_int,a_int,pp:Int64;
i: Integer;
//dx_str為返回字符串
begin
dx_sz:='零壹貳叁肆伍陸柒捌玖';
dx_dw:='萬(wàn)仟佰拾萬(wàn)仟佰拾億仟佰拾萬(wàn)仟佰拾元';
//處理金額小于零情況
if ls<0then
begin
ls:=ls*(-1);
fu:='負(fù)';
end
else
fu:='';
//取得整數(shù)值及整數(shù)串
dx_str := FloatToStrF(ls,ffGeneral,20,0);
if(ls>0)and(ls<1)then
dx_str:='0'+dx_str;
pp:=pos('.',dx_str);
if pp>0 then
str_int:=copy(dx_str,1,pos('.',dx_str)-1)
else
str_int:=dx_str;
num_int:=strtoint64(str_int);
//取得小數(shù)值及小數(shù)串
if(ls>0)and(ls<1)then
num_dec := StrToInt64(FloatToStr(100 * ls))
else
//數(shù)字太大并且有小數(shù)時(shí)這一行會(huì)有錯(cuò)誤.
num_dec:=StrToInt64(FloatToStr(100 * (ls-num_int)));
if num_dec=100 then //產(chǎn)生了進(jìn)位
begin
num_dec := 0;
num_int := num_int + 1;
str_int := IntToStr(num_int);
end;
str_dec:=inttostr(num_dec);
len_int:=Length(str_int);
dx_str:='';
//轉(zhuǎn)換整數(shù)部分
for i:=1 to len_int do
begin
//a為小寫(xiě)數(shù)字字符,b為對(duì)應(yīng)的大寫(xiě)字符
//c為對(duì)應(yīng)大寫(xiě)單位,d為當(dāng)前大寫(xiě)字符串的最后一個(gè)漢字
a:=copy(str_int,i,1);
a_int:=strtoint64(a);
b:=copy(dx_sz,(a_int*2+1),2);
c:=copy(dx_dw,((17-len_int+i-1)*2+1),2);
if dx_str<>''then
d:=copy(dx_str,Length(dx_str)-1,2)
else d:='';
if(b='零')and((d='零')or(b=b2)or(c='元')or(c='萬(wàn)')or(c='億'))then b:='';
if(a='0')and(c<>'元')and(c<>'萬(wàn)')and(c<>'億')then c:='';
if((c='元')or(c='萬(wàn)')or(c='億'))and(d='零')and(a='0')then
begin
dx_str:=copy(dx_str,1,Length(dx_str)-2);
d:=copy(dx_str,Length(dx_str)-1,2);
if((c='元')and(d='萬(wàn)'))or((c='萬(wàn)')and(d='億'))then c:='';
end;
dx_str:=dx_str+b+c;
b2:=b;
end;
//處理金額小于1的情況
if Length(dx_str)<=2 then dx_str:='';
//轉(zhuǎn)換小數(shù)部分
if(num_dec<10)and(ls>0)then
begin
a_int:=strtoint64(str_dec);
b:=copy(dx_sz,(a_int*2+1),2);
if num_dec=0 then dx_str:=dx_str;//+'整';
if num_dec>0 then dx_str:=dx_str+'零'+b+'分';
end;
if num_dec>=10 then
begin
a_int:=strtoint64(copy(str_dec,1,1));
a:=copy(dx_sz,(a_int*2+1),2);
a_int:=strtoint64(copy(str_dec,2,1));
b:=copy(dx_sz,(a_int*2+1),2);
if a<>'零'then a:= a+'角';
if b<>'零'then b:=b+'分'
else b:='';
dx_str:=dx_str+a+b;
end;
if ls=0 then dx_str:='零元/;//整';
dx_str:=fu+dx_str;
//函數(shù)返回字符串
Result:=dx_str + '整';
end;
procedure TForm1.N9Click(Sender: TObject);
begin
form3:=tform3.Create(self);
form3.showmodal;
end;
procedure TForm1.FormShow(Sender: TObject);
var
years,months,days:word;
begin
with datamodule1.searchq do
begin
sql.clear;
sql.Add('select * from company');
open;
end;
with datamodule1.htQ do
begin
sql.clear;
sql.Add('select * from ht');
open;
end;
with datamodule1.sdq do
begin
sql.clear;
sql.Add('select * from sd');
open;
end;
with datamodule1.floorQ do
begin
sql.clear;
open;
first;
end;
//for nn:=1 to dbcomboboxeh1.Items.Count do
// dbcomboboxeh1.Items.Delete(nn-1);
while not datamodule1.floorQ.Eof do
begin
dbcomboboxeh1.Items.Add(datamodule1.floorQ.fieldbyname('floorname').asstring);
dbcomboboxeh2.Items.Add(datamodule1.floorQ.fieldbyname('floorname').asstring);
dbcomboboxeh7.Items.Add(datamodule1.floorQ.fieldbyname('floorname').asstring);
datamodule1.floorQ.Next;
end;
decodedate(date,years,months,days);
dbcomboboxeh3.Text:=inttostr(years);
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -