⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pawninput.pas

📁 一个典当行的业务管理系统程序
💻 PAS
📖 第 1 页 / 共 5 页
字号:
     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 + -