📄 ransom.pas
字号:
unit Ransom;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, ExtCtrls, StdCtrls, ComCtrls, DBCtrls, Db, DBTables, Spin;
type
TfrmRansom = class(TForm)
Label1: TLabel;
txtPawnCode: TEdit;
cmdOk: TButton;
cmdCancel: TButton;
cmdExit: TButton;
GroupBox2: TGroupBox;
dgDetail: TDBGrid;
GroupBox1: TGroupBox;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
txtName: TEdit;
txtAddress: TEdit;
txtPhone: TEdit;
txtZip: TEdit;
txtCerCode: TEdit;
txtLinkman: TEdit;
Label2: TLabel;
Label21: TLabel;
Panel2: TPanel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Label28: TLabel;
Label29: TLabel;
Label30: TLabel;
Label31: TLabel;
txtPawnBeginYear: TEdit;
txtPawnBeginMonth: TEdit;
txtPawnBeginDay: TEdit;
txtPawnEndYear: TEdit;
txtPawnEndMonth: TEdit;
txtPawnEndDay: TEdit;
Panel1: TPanel;
Label15: TLabel;
Label16: TLabel;
Label19: TLabel;
Label20: TLabel;
Label10: TLabel;
txtMonthRate: TEdit;
txtFeeRate: TEdit;
txtTotalPawnMoney: TEdit;
txtServiceFee: TEdit;
txtRealPayMoney: TEdit;
txtCerName: TEdit;
Label11: TLabel;
lbServiceFeeRate: TLabel;
txtServiceRate: TEdit;
txtTimeOutMoney: TEdit;
lbTimeOutMoney: TLabel;
staBuy: TStaticText;
Label12: TLabel;
txtRate: TEdit;
txtSysYear: TSpinEdit;
Label14: TLabel;
txtSysMonth: TSpinEdit;
Label17: TLabel;
txtSysDay: TSpinEdit;
Label18: TLabel;
cmdPrint: TButton;
procedure cmdExitClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure txtPawnCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure cmdCancelClick(Sender: TObject);
procedure cmdOkClick(Sender: TObject);
procedure txtServiceRateKeyDown(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 txtRateKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure txtTimeOutMoneyKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure cmdPrintClick(Sender: TObject);
private
{ Private declarations }
procedure ClearForm;
public
{ Public declarations }
end;
var
frmRansom: TfrmRansom;
RansomMark:Boolean;
ReInputMark:Boolean;
ReInputYear,ReInputMonth,ReInputDay:word;
implementation
uses DmPawn, Msg, BuyPay, PrintTicket;
{$R *.DFM}
var
HeadBookMark:TBookMark;
MonthRate:Double;
BuyMoney:Double;
TimeOutServiceMoney:Double;
DaysLimit:Integer;
procedure TfrmRansom.ClearForm ;
begin
txtpawncode.text:='';
txtName.Text :='';
txtCerName.Text :='';
txtCerCode.Text :='';
txtAddress.Text :='';
txtPhone.Text :='';
txtZip.Text :='';
txtLinkman.Text :='';
txtmonthrate.text:='';
txtRate.Text:='';
txtfeerate.text:='';
txttotalpawnmoney.text:='';
txtservicefee.text:='';
if txtServiceRate.Visible=True then
begin
txtServiceRate.Visible:=False;
end;
if self.lbServiceFeeRate.Visible=True then
begin
self.lbServiceFeeRate.Visible:=False;
end;
txtServiceRate.Text:='';
if txtTimeOutMoney.Visible=True then
begin
txtTimeOutMoney.Visible:=False;
end;
if self.lbTimeOutMoney.Visible=True then
begin
self.lbTimeOutMoney.Visible:=False;
end;
txtTimeOutMoney.Text:='';
txtrealpaymoney.text:='';
txtpawnbeginyear.text:='';
txtpawnbeginmonth.text:='';
txtpawnbeginday.text:='';
txtpawnendyear.text:='';
txtpawnendmonth.text:='';
txtpawnendday.text:='';
staBuy.Caption :='';
dmPawnFrm.dqDetailUn.Close;
txtpawncode.setfocus;
end;
procedure TfrmRansom.cmdExitClick(Sender: TObject);
begin
dmPawnFrm.tblHead.Close;
dmPawnFrm.tblDetail.Close;
dmPawnFrm.dqDetailUn.Close;
close;
end;
procedure TfrmRansom.FormShow(Sender: TObject);
var
Present: TDateTime;
Year, Month, Day: Word;
key:word;
shift:TshiftState;
begin
key:=VK_RETURN;
Present:= Now;
DecodeDate(Present, Year, Month, Day);
if ReInputMark=True then
begin
txtSysYear.Value:=ReInputYear;
txtSysMonth.Value:=ReInputMonth;
txtSysDay.Value:=ReInputDay;
end
else
begin
txtSysYear.Value:=Year;
txtSysMonth.Value:=Month;
txtSysDay.Value:=Day;
end;
//txtsysdate.text := IntToStr(Year) + '年'
// + IntToStr(Month) + '月' + IntToStr(Day)+'日';
dmPawnFrm.tblHead.Open;
if self.txtPawnCode.Text<>''then
txtPawnCodeKeyDown(Sender,key,shift)
else
dmPawnFrm.dqDetailUn.Close;
end;
procedure TfrmRansom.txtPawnCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
QuerySql:string;
BeginYear,EndYear,BeginMonth,EndMonth:word;
BeginDay,EndDay:word;
NowDate:TDateTime;
//Year,Month,Day:Word;
//MonthLimit:integer;
begin
try
//取出今天的日期
//DecodeDate(Now,Year,Month,Day);
NowDate:=EncodeDate(txtSysYear.Value,txtSysMonth.Value,txtSysDay.Value);
//--------------------------------
if lbServiceFeeRate.Visible=True then
lbServiceFeeRate.Visible :=False;
if txtServiceRate.Visible=True then
txtServiceRate.Visible:=False;
if lbTimeOutMoney.Visible=True then
lbTimeOutMoney.Visible:=False;
if txtTimeOutMoney.Visible=True then
txtTimeOutMoney.Visible:=False;
//---------------------------------
if key=VK_RETURN then
begin
if txtPawnCode.Text='' then
begin
messagedlg(Msg.MsgPawnCodeInput,mtWarning,[mbYes],0);
txtPawnCode.SetFocus ;
end
else
begin
with dmPawnFrm do
begin
tblHead.IndexFieldNames:='PawnTicketCode';
tblHead.SetKey ;
tblHeadPawnTicketCode.AsString:=trim(txtPawnCode.text);
if tblHead.GotoKey then
begin
if (tblHeadStatus.Value ='未赎') or
(tblHeadStatus.Value='解挂') or
(tblHeadStatus.Value='半处') or
(tblHeadStatus.Value='绝当')then
begin
DaysLimit:=Round(NowDate-tblHeadPawnEndDate.Value );
//计算月利息
{MonthLimit:=Round(tblHeadPawnEndDate.Value -tblHeadPawnBeginDate.Value );
MonthRate:=(MonthLimit/30)*(tblHeadMonthRate.Value/100)
*tblHeadTotalPawnMoney.Value ;}
MonthRate:=tblHeadMonthRateFee.Value;
//客户应付的赎金
BuyMoney:=tblHeadTotalPawnMoney.Value ;
HeadBookMark:=tblHead.GetBookmark ;
//QueryPawnCode:=trim(txtPawnCode.text);
//判断是否在当、逾期、绝当
if DaysLimit<=0 then
begin
//在当
staBuy.Caption :=Msg.StatusBuyOnline ;
TimeOutServiceMoney:=0;
end;
if (DaysLimit<10) and(DaysLimit>=1)
or (DaysLimit>=10) then
begin
//逾期,输入服务费率
staBuy.Caption :=Msg.StatusBuyTimeOut;
//因为只有逾期了才能转为绝当,否则不能转为绝当
if tblHeadStatus.Value='绝当'then
begin
staBuy.Caption:=Msg.StatusBuyDeadPawn;
end;
lbServiceFeeRate.Visible:=True;
txtServiceRate.Visible:=True;
txtServiceRate.SetFocus ;
end;
{if DaysLimit>=10 then
begin
//绝当,输入服务费率
staBuy.Caption:=Msg.StatusBuyDeadPawn;
//利息
lbServiceFeeRate.Visible:=True;
txtServiceRate.Visible:=True;
txtServiceRate.SetFocus ;
end;}
//将客户信息从头表中取出放入当户栏中
txtName.Text :=tblHeadPawnerName.Value ;
txtCerName.Text :=tblHeadCertificateName.Value ;
txtCerCode.Text :=tblHeadCertificateCode.Value;
txtPhone.Text :=tblHeadTelephoneCode.Value ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -