📄 pawninput.~pa
字号:
unit PawnInput;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, ExtCtrls, DBCtrls, Db, DBTables, Grids, DBGrids, Mask,
Spin;
type
TfrmPawnInput = class(TForm)
Label1: TLabel;
Label2: TLabel;
GroupBox1: TGroupBox;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
cmdSave: TButton;
cmdExit: TButton;
Panel1: TPanel;
Label15: TLabel;
Label16: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
txtMonthRate: TEdit;
txtFeeRate: TEdit;
txtTotalPawnMoney: TEdit;
txtServiceFee: TEdit;
txtRealPayMoney: TEdit;
Panel2: TPanel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
Label31: TLabel;
cmdCancel: TButton;
GroupBox2: TGroupBox;
dbgDetail: TDBGrid;
txtPawnCode: TEdit;
txtName: TEdit;
txtCerCode: TEdit;
txtPhone: TEdit;
txtZip: TEdit;
txtLinkman: TEdit;
txtAddress: TEdit;
cmbCerName: TComboBox;
Label10: TLabel;
txtRate: TEdit;
Label11: TLabel;
staStatus: TStaticText;
Label12: TLabel;
cmbPawnLimit: TComboBox;
cmdPrint: TButton;
txtSysYear: TSpinEdit;
Label14: TLabel;
txtSysMonth: TSpinEdit;
Label17: TLabel;
txtSysDay: TSpinEdit;
Label18: TLabel;
GroupBox3: TGroupBox;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Label38: TLabel;
txtPawnName: TDBEdit;
txtPawnSpec: TDBEdit;
txtPawnNumber: TDBEdit;
Label39: TLabel;
txtLineNum: TDBEdit;
txtAppriseValue: TDBEdit;
txtDiscountRate: TDBEdit;
txtPawnMoney: TDBEdit;
cmbPawnCategory: TDBComboBox;
txtPawnEndYear: TSpinEdit;
txtPawnEndMonth: TSpinEdit;
txtPawnEndDay: TSpinEdit;
txtPawnBeginYear: TSpinEdit;
txtPawnBeginMonth: TSpinEdit;
txtPawnBeginDay: TSpinEdit;
procedure cmdExitClick(Sender: TObject);
procedure cmdCancelClick(Sender: TObject);
procedure txtNameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure cmbCerNameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtCerCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtPhoneKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtZipKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtLinkmanKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtAddressKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtPawnCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
//procedure dbgDetailColEnter(Sender: TObject);
procedure FormShow(Sender: TObject);
//procedure dbgDetailColExit(Sender: TObject);
procedure cmdSaveClick(Sender: TObject);
procedure txtMonthRateKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtFeeRateKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
//procedure txtPawnBeginYearKeyUp(Sender: TObject; var Key: Word;
// Shift: TShiftState);
//procedure txtPawnBeginMonthKeyUp(Sender: TObject; var Key: Word;
// Shift: TShiftState);
//procedure txtPawnBeginDayKeyUp(Sender: TObject; var Key: Word;
// Shift: TShiftState);
//procedure txtPawnEndYearKeyUp(Sender: TObject; var Key: Word;
// Shift: TShiftState);
//procedure txtPawnEndMonthKeyUp(Sender: TObject; var Key: Word;
// Shift: TShiftState);
//procedure txtPawnEndDayKeyUp(Sender: TObject; var Key: Word;
// Shift: TShiftState);
//procedure txtPawnBeginYearExit(Sender: TObject);
//procedure txtPawnEndYearExit(Sender: TObject);
//procedure txtPawnBeginYearEnter(Sender: TObject);
//procedure txtPawnEndYearEnter(Sender: TObject);
//procedure txtFeeRateExit(Sender: TObject);
//procedure txtPawnEndDayExit(Sender: TObject);
procedure txtTotalPawnMoneyKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtServiceFeeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtRealPayMoneyKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
//procedure dbgDetailEnter(Sender: TObject);
procedure txtServiceFeeEnter(Sender: TObject);
procedure txtTotalPawnMoneyEnter(Sender: TObject);
//procedure dbgDetailExit(Sender: TObject);
procedure txtMonthRateExit(Sender: TObject);
procedure txtFeeRateExit(Sender: TObject);
//procedure txtPawnEndDayExit(Sender: TObject);
procedure cmbPawnLimitKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure cmbPawnLimitExit(Sender: TObject);
procedure txtPawnNameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure cmbPawnCategoryKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtPawnSpecKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtPawnNumberKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtAppriseValueKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtDiscountRateKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtPawnMoneyKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtAppriseValueKeyPress(Sender: TObject; var Key: Char);
procedure txtDiscountRateKeyPress(Sender: TObject; var Key: Char);
procedure txtPawnMoneyEnter(Sender: TObject);
procedure cmbPawnLimitClick(Sender: TObject);
//procedure txtSysYearChange(Sender: TObject);
//procedure txtSysMonthChange(Sender: TObject);
//procedure txtSysDayChange(Sender: TObject);
procedure txtPawnEndYearKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtPawnEndMonthKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtPawnEndDayKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
//procedure txtPawnBeginYearKeyDown(Sender: TObject; var Key: Word;
// Shift: TShiftState);
//procedure txtPawnBeginMonthKeyDown(Sender: TObject; var Key: Word;
// Shift: TShiftState);
//procedure txtPawnBeginDayKeyDown(Sender: TObject; var Key: Word;
// Shift: TShiftState);
procedure txtSysYearKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtSysMonthKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtSysDayKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtPawnBeginYearKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtPawnBeginMonthKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtPawnBeginDayKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure cmdPrintClick(Sender: TObject);
//procedure cmbPawnLimitDropDown(Sender: TObject);
private
{ Private declarations }
procedure ClearForm;
procedure IniDBCombox;
procedure IniControlBox;
procedure IniPawnLimit;
procedure IniCategoryInDg;
procedure GetTotalMoney;
procedure ChangePawnEndDate(ChangeYear,ChangeMonth,ChangeDay:integer);
public
{ Public declarations }
end;
var
frmPawnInput: TfrmPawnInput;
gPawnTicketCode:string;
gLineNum:Integer;
implementation
uses dmPawn,Login, Msg, NewPay, GlobalVar, Pawn;
var
//selectCol,selectRow:integer;
//selectField :TField; //在网格中被选中的数据域
CertiEnterTimes:Integer; //证件名称选择时用到(即组合框用键盘控制时用到)
selAppriseValue:Double;//选中的估价
selDiscountRate:Double; //选中的折当率
TimeLimit:Single; //计算典当期限,从选择典当期限中得到的典当期限
TotalPawnMoney:Double; //计算典当总额
PawnLimitMark:Boolean; //判断是否超出典当期限规定值
{$R *.DFM}
//如果典当起始日期被改变,典当终到日期应根据选择的典当期限作相应的改变
procedure TfrmPawnInput.ChangePawnEndDate(ChangeYear,ChangeMonth,ChangeDay:integer);
var
BeginDate:TDateTime;
EndDate:TDateTime;
AddDays:integer;
DayObject:TDayClass; //自定义的类 in GlobalVar
Year,Month,Day:word;
begin
if (txtPawnBeginYear.Text='')or
(txtPawnBeginMonth.Text='')or
(txtPawnBeginDay.Text='') then
begin
messagedlg(Msg.MsgBeginDateInfo,mtWarning,[mbYes],0);
exit;
end;
if ChangeYear<>0 then
begin
//年被改变
try
BeginDate:=EncodeDate(ChangeYear,txtPawnBeginMonth.Value,
txtPawnBeginDay.Value);
except
messagedlg('此月没有31天!',mtWarning,[mbYes],0);
exit;
end;
end;
if ChangeMonth<>0 then
begin
//月被改变
try
BeginDate:=EncodeDate(txtPawnBeginYear.Value,ChangeMonth,
txtPawnBeginDay.Value);
except
messagedlg('此月没有31天!',mtWarning,[mbYes],0);
exit;
end;
end;
if ChangeDay<>0 then
begin
//日被改变
try
BeginDate:=EncodeDate(txtPawnBeginYear.Value,txtPawnBeginMonth.Value,
ChangeDay);
except
messagedlg('此月没有31天!',mtWarning,[mbYes],0);
exit;
end;
end;
//取出此月的天数
DayObject:=TDayClass.Create;
AddDays:=DayObject.GetDays(txtPawnBeginMonth.Value,txtPawnBeginDay.Value);
//释放对象
DayObject.Free;
//取出典当期限
if cmbPawnLimit.ItemIndex=0 then
begin
AddDays:=AddDays div 2;
end
else
begin
AddDays:=AddDays*cmbPawnLimit.ItemIndex;
end;
EndDate:=BeginDate+AddDays;
DecodeDate(EndDate,Year,Month,Day);
txtPawnEndYear.Value:=Year;
txtPawnEndMonth.Value:=Month;
txtPawnEndDay.Value:=Day;
end;
//计算典当总额
procedure TfrmPawnInput.GetTotalMoney;
begin
TotalPawnMoney:=0;
with dmPawnFrm do
begin
tblDetailTemp.First;
while not tblDetailTemp.Eof do
begin
TotalPawnMoney:=TotalPawnMoney+tblDetailTempPawnMoney.AsFloat;
tblDetailTemp.Next ;
end;
end;
if TotalPawnMoney>3000 then
begin
txtMonthRate.Text:='0.5';
end
else
txtMonthRate.Text:='0.5';
txtFeeRate.Text:='4.5';
txtTotalPawnMoney.Text :=format('%8.1f',[TotalPawnMoney]);
end;
procedure TfrmPawnInput.cmdExitClick(Sender: TObject);
begin
with dmPawn.dmPawnFrm do
begin
tblHead.close;
tblDetail.close;
//tblHeadHistory.Close;
//tblDetailHistory.Close;
tblDetailTemp.close;
//clear tmpdetail tbl
tblDetailTemp.EmptyTable ;
tblCertificate.close;
tblCategory.close;
end;
close;
end;
procedure TfrmpawnInput. ClearForm;
//var
//Year, Month, Day: Word;
begin
staStatus.Caption:='';
//txtpawncode.text:='';
txtName.Text:='';
txtPhone.Text:='';
txtZip.Text:='';
cmbCerName.ItemIndex:=0;
cmbPawnLimit.ItemIndex:=1;
txtCerCode.Text:='';
txtLinkMan.Text:='';
txtAddress.Text:='';
txtmonthrate.text:='';
txtfeerate.text:='';
txttotalpawnmoney.text:='';
txtservicefee.text:='';
txtrealpaymoney.text:='';
txtpawnbeginyear.Value:=txtSysYear.Value;
txtpawnbeginmonth.Value:=txtSysMonth.Value;
txtpawnbeginday.Value:=txtSysDay.Value;
txtpawnendyear.Text:='';
txtpawnendmonth.text:='';
txtpawnendday.text:='';
txtRate.Text:='';
//写回系统日期
//DecodeDate(Now, Year, Month, Day);
txtSysYear.Value:=GlobalVar.SysYear;
txtSysMonth.Value:=GlobalVar.SysMonth;
txtSysDay.Value:=GlobalVar.SysDay;
dmPawnFrm.tblDetailTemp.Close;
dmPawnFrm.tblDetailTemp.EmptyTable ;
dmPawnFrm.tblDetailTemp.Open;
dmPawn.LineNo :=0;
txtpawncode.setfocus;
end;
//初始化数据邦定的组合框
procedure TfrmPawnInput.IniDBCombox ;
begin
with cmbCerName.Items do
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -