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

📄 unid_novo_recibo.pas

📁 System for issue quitter of rental immobile.
💻 PAS
字号:
unit Unid_Novo_Recibo;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls, Buttons, Nelsoft, DateUtils;

type
  TForm_Novo_Recibo = class(TForm)
    LED_Numero_CPF: TLabeledEdit;
    LED_Numero_RG: TLabeledEdit;
    LED_Nome: TLabeledEdit;
    LED_End_Logradouro: TLabeledEdit;
    LED_End_Numero: TLabeledEdit;
    LED_End_Complemento: TLabeledEdit;
    LED_End_Bairro: TLabeledEdit;
    LED_End_CEP: TLabeledEdit;
    LED_End_Cidade: TLabeledEdit;
    LED_Rec_Valor: TLabeledEdit;
    DTP_Data_Nasc: TDateTimePicker;
    DTP_Data_Ref1: TDateTimePicker;
    DTP_Data_Ref2: TDateTimePicker;
    DTP_Data_Emissao: TDateTimePicker;
    CBB_Sexo: TComboBox;
    CBB_Estado: TComboBox;
    LAB_Data_Nasc: TLabel;
    LAB_Sexo: TLabel;
    LAB_Estado: TLabel;
    LAB_Data_Ref2: TLabel;
    LAB_Data_Ref1: TLabel;
    LAB_Data_Emissao: TLabel;
    BIT_Cancela: TBitBtn;
    BIT_Salva: TBitBtn;
    LED_Rec_Numero: TLabeledEdit;
    procedure FormShow(Sender: TObject);
    procedure SoNumero(Sender: TObject; var Key: Char);
    procedure BIT_SalvaClick(Sender: TObject);
  private
    { Private declarations }
    procedure Prepara_Novo;
    procedure Prepara_Outro;
  public
    { Public declarations }
  end;

var
  Form_Novo_Recibo: TForm_Novo_Recibo;
  MatrizValidacao: array [1..10] of char;

implementation

uses Unid_Dados;

{$R *.dfm}

procedure TForm_Novo_Recibo.Prepara_Novo;
begin
   //Prepara_Novo
   LED_Nome.Text := '';
   LED_Numero_CPF.Text := '';
   LED_Numero_RG.Text := '';
   DTP_Data_Nasc.Date := StrToDate('01.01.1991');
   CBB_Sexo.ItemIndex := 0;
   LED_End_CEP.Text := '';
   LED_End_Logradouro.Text := '';
   LED_End_Numero.Text := '';
   LED_End_Complemento.Text := '';
   LED_End_Bairro.Text := 'Sobradinho';
   LED_End_Cidade.Text := 'Bras韑ia';
   CBB_Estado.ItemIndex := 6;
   DTP_Data_Ref1.Date := Date - 30;
   DTP_Data_Ref2.Date := Date;
   DTP_Data_Emissao.Date := Date;
end;

procedure TForm_Novo_Recibo.Prepara_Outro;
var
   nAno1, nMes1, nDia1: word;
   nAno2, nMes2, nDia2: word;
   dRef1, dRef2: TDate;
   InicioMes, FimMes: boolean;
   nRec: LongWord;
begin
   //Prepara_Outro
   DecodeDate(Form_Dados.CDS_ReciboREC_DTA_REF1.Value, nAno1, nMes1, nDia1);
   DecodeDate(Form_Dados.CDS_ReciboREC_DTA_REF2.Value, nAno2, nMes2, nDia2);
   InicioMes := (nDia1 = 1);
   FimMes := (DaysInAMonth(nAno2, nMes2) = nDia2);
   nMes1 := nMes1 + 1;
   if nMes1 = 13 then begin
      nAno1 := nAno1 + 1;
      nMes1 := 1;
   end;
   nMes2 := nMes2 + 1;
   if nMes2 = 13 then begin
      nAno2 := nAno2 + 1;
      nMes2 := 1;
   end;
   if InicioMes and FimMes then begin
      nDia1 := 1;
      nDia2 := DaysInAMonth(nAno2, nMes2);
   end;
   dRef1 := EncodeDate(nAno1, nMes1, nDia1);
   dRef2 := EncodeDate(nAno2, nMes2, nDia2);
   nRec := Form_Dados.CDS_ReciboREC_NUM.Value;
   nRec := nRec + 1;
   LED_Rec_Numero.Text        := IntToStr(nRec);
   LED_Nome.Text              := Form_Dados.CDS_ReciboLOC_NOME.Value;
   LED_Numero_CPF.Text        := Form_Dados.CDS_ReciboLOC_CPF.Value;
   LED_Numero_RG.Text         := Form_Dados.CDS_ReciboLOC_RG.Value;
   DTP_Data_Nasc.Date         := Form_Dados.CDS_ReciboLOC_NASC.Value;
   CBB_Sexo.ItemIndex := 0;
   if Form_Dados.CDS_ReciboLOC_SEXO.Value = 'F' then CBB_Sexo.ItemIndex := 1;
   LED_End_CEP.Text           := Form_Dados.CDS_ReciboEND_CEP.Value;
   LED_End_Logradouro.Text    := Form_Dados.CDS_ReciboEND_LOGRAD.Value;
   LED_End_Numero.Text        := Form_Dados.CDS_ReciboEND_NUM.Value;
   LED_End_Complemento.Text   := Form_Dados.CDS_ReciboEND_COMPL.Value;
   LED_End_Bairro.Text        := Form_Dados.CDS_ReciboEND_BAIRRO.Value;
   LED_End_Cidade.Text        := Form_Dados.CDS_ReciboEND_CIDADE.Value;
   CBB_Estado.ItemIndex := IndexUF(Form_Dados.CDS_ReciboEND_ESTADO.Value);
   LED_Rec_Valor.Text         := Form_Dados.CDS_ReciboREC_VALOR.AsString;
   DTP_Data_Ref1.Date         := dRef1;
   DTP_Data_Ref2.Date         := dRef2;
   DTP_Data_Emissao.Date      := Date;
end;

procedure TForm_Novo_Recibo.FormShow(Sender: TObject);
begin
   if self.Tag = 1 then Prepara_Novo;
   if self.Tag = 2 then Prepara_Outro;
end;

procedure TForm_Novo_Recibo.SoNumero(Sender: TObject; var Key: Char);
begin
   //Valida So Numero
   if not (key in ['0'..'9', #8]) then key := #0;
   //if key in ['.', ','] then key := DecimalSeparator;
   //if key = DecimalSeparator then
   //if pos(key, (Sender as TLabeledEdit).Text) <> 0 then key := #0;
   end;
procedure TForm_Novo_Recibo.BIT_SalvaClick(Sender: TObject);
begin
   //Valida Dados
   //Grava Dados
   //Fecha Janela
   Form_Dados.CDS_Recibo.Insert;
   Form_Dados.CDS_ReciboLOC_NOME.Value       := LED_Nome.Text;
   Form_Dados.CDS_ReciboLOC_CPF.Value        := LED_Numero_CPF.Text;
   Form_Dados.CDS_ReciboLOC_RG.Value         := LED_Numero_RG.Text;
   Form_Dados.CDS_ReciboLOC_NASC.Value       := DTP_Data_Nasc.Date;
   Form_Dados.CDS_ReciboLOC_SEXO.Value       := CBB_Sexo.Text;
   Form_Dados.CDS_ReciboEND_LOGRAD.Value     := LED_End_Logradouro.Text;
   Form_Dados.CDS_ReciboEND_NUM.Value        := LED_End_Numero.Text;
   Form_Dados.CDS_ReciboEND_COMPL.Value      := LED_End_Complemento.Text;
   Form_Dados.CDS_ReciboEND_BAIRRO.Value     := LED_End_Bairro.Text;
   Form_Dados.CDS_ReciboEND_CEP.Value        := LED_End_CEP.Text;
   Form_Dados.CDS_ReciboEND_CIDADE.Value     := LED_End_Cidade.Text;
   Form_Dados.CDS_ReciboEND_ESTADO.Value     := CBB_Estado.Text;
   Form_Dados.CDS_ReciboREC_NUM.AsString     := LED_Rec_Numero.Text;
   Form_Dados.CDS_ReciboREC_DTA_EMIS.Value   := DTP_Data_Emissao.Date;
   Form_Dados.CDS_ReciboREC_DTA_REF1.Value   := DTP_Data_Ref1.Date;
   Form_Dados.CDS_ReciboREC_DTA_REF2.Value   := DTP_Data_Ref2.Date;
   Form_Dados.CDS_ReciboREC_VALOR.AsString   := LED_Rec_Valor.Text;
   Form_Dados.CDS_ReciboREC_QTD_IMPRES.Value := 0;
   Form_Dados.CDS_Recibo.Post;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -