📄 a02050f002unit.pas
字号:
unit A02050F002Unit;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons, ComCtrls, Mask, DBCtrls, ImgList, Db, ADODB, ToolWin,Variants;type StrArray=array [0..3] of string;// 自定义type pStrArray=^StrArray; // 自定义type TA02050F002Frm = class(TForm) ToolBar1: TToolBar; PrintTBBtn: TToolButton; PreviewTBBtn: TToolButton; SaveTBBtn: TToolButton; AbortTBBtn: TToolButton; ExitTBBtn: TToolButton; HelpTBBtn: TToolButton; ImageList1: TImageList; ImageList2: TImageList; SelectAQey: TADOQuery; TD04ATbl: TADOTable; TD04Dt: TDataSource; Panel3: TPanel; SpeedButton5: TSpeedButton; TD04jsrEdt: TDBEdit; Label6: TLabel; DBEdit1: TDBEdit; Panel1: TPanel; Shape1: TShape; Shape4: TShape; Shape25: TShape; Label37: TLabel; Label12: TLabel; Shape22: TShape; Shape9: TShape; Shape3: TShape; Label11: TLabel; Label13: TLabel; Label14: TLabel; Label15: TLabel; Label16: TLabel; Label17: TLabel; Label18: TLabel; Label19: TLabel; Label20: TLabel; Label21: TLabel; Label22: TLabel; Shape6: TShape; Shape12: TShape; Shape15: TShape; Shape16: TShape; moneyLabel9: TLabel; moneyLabel8: TLabel; moneyLabel7: TLabel; moneyLabel6: TLabel; moneyLabel5: TLabel; moneyLabel4: TLabel; moneyLabel3: TLabel; moneyLabel2: TLabel; moneyLabel1: TLabel; moneyLabel0: TLabel; Shape5: TShape; Shape7: TShape; Shape18: TShape; Shape19: TShape; Shape20: TShape; Shape21: TShape; Shape23: TShape; Shape24: TShape; Shape26: TShape; Label3: TLabel; Label5: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label23: TLabel; Label25: TLabel; Label26: TLabel; Label27: TLabel; Label28: TLabel; Label29: TLabel; Label30: TLabel; Label31: TLabel; OutSBtn: TSpeedButton; Label32: TLabel; Label33: TLabel; InSBtn: TSpeedButton; Label34: TLabel; Label35: TLabel; Label36: TLabel; SpeedButton2: TSpeedButton; Shape33: TShape; MoneyEdt: TEdit; MonthCalendar1: TMonthCalendar; MouthEdt: TMaskEdit; YearEdt: TMaskEdit; DayEdt: TMaskEdit; TD04OutNameDBEdt: TDBEdit; TD04OutCodeDBEdt: TDBEdit; TD04OutBankDBEdt: TDBEdit; TD04InNameDBEdt: TDBEdit; TD04InCodeDBEdt: TDBEdit; TD04InBankDBEdt: TDBEdit; TD04KindDBEdt: TDBEdit; TD04NumDBEdt: TDBEdit; TD04CodeDBEdt: TDBEdit; AddTBBtn: TToolButton; Label1: TLabel; InDBEdt: TDBEdit; Label4: TLabel; procedure SpeedButton2Click(Sender: TObject); procedure YearEditExit(Sender: TObject); procedure MouthEditExit(Sender: TObject); procedure DayEditExit(Sender: TObject); Function EnglishToChina(strYear:string;strMouth:String;strDay:String ):pStrArray; procedure YearEditClick(Sender: TObject); procedure MouthEditClick(Sender: TObject); procedure DayEditClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure SaveTBBtnClick(Sender: TObject); procedure AbortTBBtnClick(Sender: TObject); procedure ExitTBBtnClick(Sender: TObject); procedure MoneyEdtExit(Sender: TObject); procedure SpeedButton5Click(Sender: TObject); procedure TD04OutNameDBEdtKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure MouthEdtKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure DayEdtKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure TD04OutCodeDBEdtKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure TD04OutBankDBEdtKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure TD04InNameDBEdtKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure TD04InCodeDBEdtKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure TD04InBankDBEdtKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure MoneyEdtKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure TD04KindDBEdtKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure TD04NumDBEdtKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure TD04CodeDBEdtKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure YearEdtKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure TD04jsrEdtKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure DBEdit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure OutSBtnClick(Sender: TObject); procedure InSBtnClick(Sender: TObject); procedure PreviewTBBtnClick(Sender: TObject); procedure AddTBBtnClick(Sender: TObject); procedure MonthCalendar1DblClick(Sender: TObject); procedure TD04OutNameDBEdtEnter(Sender: TObject); procedure TD04OutNameDBEdtExit(Sender: TObject); procedure TD04OutCodeDBEdtEnter(Sender: TObject); procedure TD04OutCodeDBEdtExit(Sender: TObject); procedure TD04OutBankDBEdtEnter(Sender: TObject); procedure TD04OutBankDBEdtExit(Sender: TObject); procedure TD04InNameDBEdtEnter(Sender: TObject); procedure TD04InNameDBEdtExit(Sender: TObject); procedure TD04InCodeDBEdtEnter(Sender: TObject); procedure TD04InCodeDBEdtExit(Sender: TObject); procedure TD04InBankDBEdtEnter(Sender: TObject); procedure TD04InBankDBEdtExit(Sender: TObject); procedure MoneyEdtEnter(Sender: TObject); procedure TD04KindDBEdtEnter(Sender: TObject); procedure TD04KindDBEdtExit(Sender: TObject); procedure TD04NumDBEdtEnter(Sender: TObject); procedure TD04NumDBEdtExit(Sender: TObject); procedure InDBEdtEnter(Sender: TObject); procedure InDBEdtExit(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private strYear:string; strMouth:string; strDay:string; retArray:strArray; strForSaveMoney:string; strForSaveDate:string; intErrCounts:Integer; // errno用来记录数据填加时的错误项数 // 初始化为当前必填的项目数,每正确填加一项将减一 { Private declarations } public { Public declarations } strEditArray:array [0..2] of string; striniHelpName:string; gstrOperaterName:string;//操作员 gstrInputMethod:string;//输入法 end;var A02050F002Frm: TA02050F002Frm;implementationuses GlobalLibUnit, F007Unit, A0106F002Unit, A0107F002Unit, DataLinkUnit, A02050Unit;//////////////////////////////////////////////////函数名:EnglishToChina//作用:把年月日以变量输入,生成日期字符与汉字大写//输入参数:strYear:string;年的“2001”字符形式// strMouth:String;月的“01”字符形式// strDay:String;日的“01”字符形式//输出参数:retArray[0];日期字符// retArray[1];年汉字大写// retArray[2];月汉字大写// retArray[3];日汉字大写//使用方法;定义:在TYPE之前定义// type StrArray=array [0..3] of string;// type pStrArray=^StrArray;// 调用:例// var// pp:pStrArray;// begin// pp:=EnglishToChina(strYear,strMouth,strDay);// Label12.Caption :=(pp^)[0]+''+(pp^)[1]+'年'+(pp^)[2]+'月'+(pp^)[3]+'日';// end;//编制人:李刚//编制日期:2001-09-27////////////////////////////////////////////////Function TA02050F002Frm.EnglishToChina(strYear:string;strMouth:String;strDay:String ):pStrArray;var retData:string; strPoint:array [0..3] of string; strDPoint:string; i:integer;begin retData:=strYear+strMouth+strDay; strPoint[0]:=Copy(strYear,1,1); strPoint[1]:=Copy(strYear,2,1); strPoint[2]:=Copy(strYear,3,1); strPoint[3]:=Copy(strYear,4,1); for i:= 0 to 3 do begin strDPoint:= strPoint[i]; case StrToInt(strDPoint) of 1:strDPoint:='壹'; 2:strDPoint:='贰'; 3:strDPoint:='叁'; 4:strDPoint:='肆'; 5:strDPoint:='伍'; 6:strDPoint:='陆'; 7:strDPoint:='柒'; 8:strDPoint:='捌'; 9:strDPoint:='氿'; 0:strDPoint:='零'; end; strPoint[i]:=strDPoint end; strYear:=strPoint[0]+strPoint[1]+strPoint[2]+strPoint[3]; case StrToInt(strMouth) of 01:strMouth:='零壹'; 02:strMouth:='零贰'; 03:strMouth:='零叁'; 04:strMouth:='零肆'; 05:strMouth:='零伍'; 06:strMouth:='零陆'; 07:strMouth:='零柒'; 08:strMouth:='零捌'; 09:strMouth:='零九'; 10:strMouth:='壹拾'; 11:strMouth:='拾壹'; 12:strMouth:='拾贰'; end; case StrToInt(strDay) of 01:strDay:= '零壹'; 02:strDay:= '零贰'; 03:strDay:= '零叁'; 04:strDay:= '零肆'; 05:strDay:= '零伍'; 06:strDay:= '零陆'; 07:strDay:= '零柒'; 08:strDay:= '零捌'; 09:strDay:= '零氿'; 10:strDay:= '壹拾'; 11:strDay:= '拾壹'; 12:strDay:= '拾贰'; 13:strDay:= '拾叁'; 14:strDay:= '拾肆'; 15:strDay:= '拾伍'; 16:strDay:= '拾陆'; 17:strDay:= '拾柒'; 18:strDay:= '拾捌'; 19:strDay:= '拾氿'; 20:strDay:= '贰拾'; 21:strDay:= '贰拾壹'; 22:strDay:= '贰拾贰'; 23:strDay:= '贰拾叁'; 24:strDay:= '贰拾肆'; 25:strDay:= '贰拾伍'; 26:strDay:= '贰拾陆'; 27:strDay:= '贰拾柒'; 28:strDay:= '贰拾捌'; 29:strDay:= '贰拾氿'; 30:strDay:= '叁拾'; 31:strDay:= '叁拾壹'; end; retArray[0]:=retData; retArray[1]:=strYear; retArray[2]:=strMouth; retArray[3]:=strDay; result:=@retArray;end;{$R *.DFM}procedure TA02050F002Frm.SpeedButton2Click(Sender: TObject);var WordYear:Word; WordMouth:Word; WordDay:Word;begin MonthCalendar1.Left :=152; MonthCalendar1.Top :=64; MonthCalendar1.Visible:=not MonthCalendar1.Visible; if not MonthCalendar1.Visible then begin DecodeDate(MonthCalendar1.Date,WordYear,WordMouth,WordDay); YearEdt.Text :=IntToStr(WordYear); MouthEdt.Text :=IntToStr(WordMouth); DayEdt.Text :=IntToStr(WordDay); end else begin try MonthCalendar1.Date :=EncodeDate(StrToInt(YearEdt.Text), StrToInt(trim(MouthEdt.Text)), StrToInt(trim(DayEdt.Text))); except Application.MessageBox('开票日期填写有错误,请检查填写内容', '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal); yearEdt.SetFocus; end; end; if Length(Trim(MouthEdt.Text))=1 then MouthEdt.Text:= '0'+Trim(MouthEdt.Text); strMouth:=MouthEdt.Text; if Length(Trim(DayEdt.Text))=1 then DayEdt.Text:= '0'+Trim(DayEdt.Text); strDay:=DayEdt.Text; strYear:=YearEdt.Text;end;procedure TA02050F002Frm.YearEditExit(Sender: TObject);begin if Length(Trim(YearEdt.Text))<4 then begin Application.MessageBox('请按2001格式输入!','错误',mb_OK+mb_IconStop); YearEdt.SetFocus ; Exit; end; if Trim(MouthEdt.Text) ='' then begin MouthEdt.SetFocus ; strYear:=YearEdt.Text; Exit; end; if Trim(DayEdt.Text) ='' then begin DayEdt.SetFocus ; strYear:=YearEdt.Text; Exit; end; try EncodeDate(StrToInt(YearEdt.Text),StrToInt(MouthEdt.Text), StrToInt(DayEdt.Text)); except begin Application.MessageBox('日期范围错误!','错误',mb_OK+mb_IconStop); DayEdt.SetFocus ; Exit; end; end; strYear:=YearEdt.Text;end;procedure TA02050F002Frm.MouthEditExit(Sender: TObject);Var intMonth:integer;begin if Length(Trim(MouthEdt.Text))=1 then MouthEdt.Text:= '0'+Trim(MouthEdt.Text); intMonth:=strToInt(Trim(MouthEdt.Text)); if (intMonth>12) or (intMonth<1 ) then begin Application.MessageBox('月份范围错误!','错误',mb_OK+mb_IconStop); MouthEdt.Text :=''; MouthEdt.SetFocus ; Exit; end; if Trim(YearEdt.Text) ='' then begin YearEdt.SetFocus ; strMouth:=MouthEdt.Text; Exit; end; if Trim(MouthEdt.Text) ='' then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -