📄 pawninput.pas
字号:
with cmbCerName.Items do
begin
with dmPawnFrm do
begin
tblCertificate.First ;
while not tblCertificate.Eof do
begin
Add(tblCertificate.fieldByName('Name').asstring);
tblCertificate.Next ;
end;
end;
end;
cmbCerName.ItemIndex :=0;
end;
//初始化画面中文本框的最大输入值
procedure TfrmPawnInput.IniControlBox ;
begin
txtPawnCode.MaxLength :=15;
txtName.MaxLength :=20;
txtAddress.MaxLength :=60;
txtCerCode.MaxLength :=20;
txtPhone.MaxLength :=20;
txtZip.MaxLength :=6;
txtLinkman.MaxLength :=20;
txtPawnBeginYear.MaxLength :=4;
txtPawnBeginMonth.MaxLength :=2;
txtPawnBeginDay.MaxLength :=2;
txtPawnEndYear.MaxLength :=4;
txtPawnEndMonth.MaxLength :=2;
txtPawnEndDay.MaxLength :=2 ;
end;
procedure TfrmPawnInput.IniPawnLimit ;
begin
with cmbPawnLimit.Items do
begin
Add('半个月');
Add('一个月');
Add('二个月');
Add('三个月');
Add('四个月');
Add('五个月');
Add('六个月');
Add('七个月');
Add('八个月');
Add('九个月');
Add('十个月');
Add('十一个月');
Add('十二个月');
end;
cmbPawnLimit.ItemIndex:=1;
end;
//初始化网格中物品类别栏
procedure TfrmPawnInput.IniCategoryInDg ;
begin
with cmbPawnCategory.Items do
begin
with dmPawnFrm do
begin
tblCategory.First ;
while not tblCategory.Eof do
begin
Add(tblCategory.FieldByName('Name').asstring);
tblCategory.Next ;
end;
end;
end;
cmbPawnCategory.ItemIndex:=0;
end;
procedure TfrmPawnInput.cmdCancelClick(Sender: TObject);
begin
ClearForm;
end;
procedure TfrmPawnInput.txtNameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
UserName:string;
CerCode:string;
SearchResult:Boolean;
begin
//根据输入的当户姓名在数据库中检索,并将其相应的其他信息显示出来
if key=VK_RETURN then
begin
if txtName.Text='' then
begin
messagedlg(Msg.MsgPawnerName,mtWarning,[mbYes],0);
txtName.SetFocus;
exit;
end;
with dmPawnFrm do
begin
with tblHead do
begin
IndexFieldNames:='PawnerName';
Open;
//SetKey;
//FieldByName('PawnerName').asstring:=trim(txtName.Text);
UserName:=trim(txtName.Text);
//if txtCerCode.Text<>'' then
//begin
//CerCode:=txtCerCode.Text;
//SearchResult:=Findkey([UserName,CerCode]);
//end
//else
SearchResult:=Findkey([UserName]);
if SearchResult then
begin
//FindLast;
cmbCerName.Text:=FieldByName('CertificateName').asstring;
txtCerCode.Text:=FieldByName('CertificateCode').asstring;
txtAddress.Text:=FieldByName('PawnerAddress').asstring;
txtPhone.Text:=FieldByName('TelephoneCode').asstring;
txtZip.Text:=FieldByName('PostCode').asstring;
txtLinkMan.Text:=FieldByName('LinkMan').asstring;
cmbPawnLimit.SetFocus;
end
else
begin
txtCerCode.Text:='';
txtAddress.Text:='';
txtPhone.Text:='';
txtZip.Text:='';
txtLinkMan.Text:='';
cmbPawnLimit.ItemIndex:=1;
cmbCerName.setfocus;
end;
Close;
end;
end;
end;
end;
procedure TfrmPawnInput.cmbCerNameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_RETURN then
begin
if CertiEnterTimes=0 then
begin
CertiEnterTimes:=CertiEnterTimes+1;
if SendMessage((Sender as TComBoBox).handle,CB_GetDroppedState,0,0)
=0 then
PostMessage((Sender as TComBoBox).handle,CB_SHOWDROPDOWN,1,0);
end
else
begin
CertiEnterTimes:=0;
txtCerCode.SetFocus ;
end;
end;
end;
procedure TfrmPawnInput.txtCerCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
UserName:string;
CerCode:string;
SearchResult:Boolean;
begin
//根据证件号码来检索数据库中当户相应的数据
if key=VK_RETURN then
begin
if txtCerCode.Text='' then
begin
messagedlg(Msg.MsgPawnerCode,mtWarning,[mbYes],0);
txtCerCode.SetFocus;
exit;
end;
with dmPawnFrm do
begin
with tblHead do
begin
IndexFieldNames:='CertificateCode';
Open;
//SetKey;
//FieldByName('CertificateCode').asstring:=trim(txtCerCode.Text);
CerCode:=trim(txtCerCode.Text);
//if txtName.Text<>'' then
//begin
//UserName:=txtName.Text;
//SearchResult:=Findkey([UserName,CerCode]);
//end
//else
SearchResult:=Findkey([CerCode]);
if SearchResult then
begin
//FindLast;
cmbCerName.Text:=FieldByName('CertificateName').asstring;
txtName.Text:=FieldByName('PawnerName').asstring;
txtAddress.Text:=FieldByName('PawnerAddress').asstring;
txtPhone.Text:=FieldByName('TelephoneCode').asstring;
txtZip.Text:=FieldByName('PostCode').asstring;
txtLinkMan.Text:=FieldByName('LinkMan').asstring;
cmbPawnLimit.SetFocus;
end
else
begin
txtPhone.Text:='';
txtAddress.Text:='';
//txtName.Text:='';
txtZip.Text:='';
txtLinkMan.Text:='';
cmbPawnLimit.ItemIndex:=1;
txtPhone.setfocus;
end;
Close;
end;
end;
end;
end;
procedure TfrmPawnInput.txtPhoneKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_RETURN then
txtZip.setfocus;
end;
procedure TfrmPawnInput.txtZipKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_RETURN then
txtLinkman.setfocus;
end;
procedure TfrmPawnInput.txtLinkmanKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_RETURN then
txtAddress.setfocus;
end;
procedure TfrmPawnInput.txtAddressKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_RETURN then
cmbPawnLimit.setfocus;
end;
procedure TfrmPawnInput.txtPawnCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
try
if key=VK_RETURN then
begin
if txtPawnCode.text=''then
begin
messagedlg(Msg.MsgPawnCodeInput,mtWarning,[mbYes],0);
txtPawnCode.SetFocus ;
exit;
end
else
begin
with dmPawnFrm do
begin
tblHead.Open;
tblHead.IndexFieldNames:='PawnTicketCode';
tblHead.SetKey ;
tblHead.FieldByName('PawnTicketCode').AsString:=trim(txtPawnCode.text);
if tblHead.GotoKey then
begin
ClearForm;
messagedlg(Msg.MsgPawnCodeExist,mtInformation,[mbYes],0);
txtPawnCode.SetFocus ;
end
else
txtName.setfocus;
tblHead.Close;
end;
end;
end;
except
exit;
end;
end;
{当焦点进入典当金额列时,计算
procedure TfrmPawnInput.dbgDetailColEnter(Sender: TObject);
begin
if dbgDetail.SelectedField.FieldName='PawnMoney' then
begin
with dmPawnFrm do
begin
dbgDetail.SelectedField.AsFloat:=tblDetailTempAppriseValue.Value
*(tblDetailTempDiscountRate.Value/100) ;
end;
end;
end; }
{当窗体出现时,显示系统时间,打开临时数据表,证件、物品类别数据表
以及初始化证件组合框、物品类别列表框(不可见)}
procedure TfrmPawnInput.FormShow(Sender: TObject);
var
//Present: TDateTime;
//Year, Month, Day: Word;
NewCode:string;
begin
//取出数据库中当票号最大的编号
GlobalVar.MaxTicketCode:=frmMain.MaxCode;
//将数据库中最大的当票编号加1成为新的当票编号
NewCode:=frmMain.CodePlus(GlobalVar.MaxTicketCode);
txtPawnCode.Text:=NewCode;
//Present:= Now;
//DecodeDate(Present, Year, Month, Day);
//获取此时的系统时间从确认系统时间画面得到
txtSysYear.Value:=GlobalVar.SysYear;
txtSysMonth.Value:=GlobalVar.SysMonth;
txtSysDay.Value:=GlobalVar.SysDay;
txtPawnBeginYear.Value:=GlobalVar.SysYear;
txtPawnBeginMonth.Value:=GlobalVar.SysMonth;
txtPawnBeginDay.Value:=GlobalVar.SysDay;
with dmPawnFrm do
begin
tblDetailTemp.close;
//clear tmpdetail tbl
tblDetailTemp.EmptyTable ;
tblDetailTemp.open;
tblCertificate.open;
tblCategory.Open;
end;
IniDBCombox;
IniControlBox;
IniCategoryInDg;
IniPawnLimit;
end;
{当光标从网格的估价和折当率中退出时,将他们的值记下,已备计算金额 }
{procedure TfrmPawnInput.dbgDetailColExit(Sender: TObject);
var
DiscountRate:Double;
//Value:Variant;
begin
dmPawnFrm.tblDetailTemp.Edit;
with dbgDetail do
begin
if SelectedField.FieldName='DiscountRate' then
begin
if selectedField.IsNull then
selDiscountRate:=100
else
selDiscountRate:=selectedField.AsFloat;
with dmPawnFrm do
begin
tblDetailTempPawnMoney.Value:=(selDiscountRate/100)
*tblDetailTempAppriseValue.value;
end;
end;
if selectedField.FieldName='AppriseValue' then
begin
selAppriseValue:=selectedField.AsFloat;
with dmPawnFrm do
begin
if tblDetailTempDiscountRate.Value=0 then
DiscountRate:=100
else
DiscountRate:=tblDetailTempDiscountRate.Value;
tblDetailTempPawnMoney.Value :=selAppriseValue
*(DiscountRate/100);
end;
end;
{
if selectedField.FieldName='PawnNumber' then
begin
Value:=selectedField.asInteger;
if (Value>32767)or (Value<-32768) then
begin
messagedlg(Msg.MsgIntegerOverFlow,mtWarning,[mbYes],0);
exit;
end;
end;}
// end;
//end;}
procedure TfrmPawnInput.cmdSaveClick(Sender: TObject);
var
PawnBeginDate:TDateTime;
PawnEndDate:TDateTime;
Present: TDateTime;
InputDate:TDateTime;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -