unit uFuncoes;

interface

uses
  Dialogs, Forms, Controls, SysUtils, DBClient, DB, DBXpress, Windows, Messages;

procedure SocioNaoCadastrado;
procedure FornecedorNaoCadastrado;
procedure PontoNaoCadastrado;
procedure VendedorNaoCadastrado;
procedure DependenteNaoCadastrado;
procedure NaturalidadeNaoCadastrada;
procedure ErroNaGravacaoBanco(param: string);
procedure AtivarBotoes(AEdicao: Boolean);

function CaixadeMensagem( mensagem: String ): Boolean;
function CaixadeMensagemAviso(mensagem: String): Boolean;
function RetiraMask(Texto : String) : String;
function MododeEdicao(RegistrodeMemoria: TClientDataSet) : Boolean;

implementation

uses
  uFormMensagem, uFormMensagemAviso, uFormModelodeCadastro;   

procedure AtivarBotoes(AEdicao: Boolean);
begin
  frmModelodeCadastro.PanelCenter.Enabled := True;
  frmModelodeCadastro.btnNovo.Enabled := not AEdicao;
  frmModelodeCadastro.btnSalvar.Enabled := AEdicao;
  frmModelodeCadastro.btnExcluir.Enabled := AEdicao;
  frmModelodeCadastro.btnAlterar.Enabled := AEdicao;
  frmModelodeCadastro.btnCancelar.Enabled := AEdicao;
  frmModelodeCadastro.btnPesquisar.Enabled := not AEdicao;
end;

Procedure VendedorNaoCadastrado;
begin
 CaixadeMensagemAviso('Vendedor não Cadastrado.!');
end;

Procedure SocioNaoCadastrado;
begin
 CaixadeMensagemAviso('Cliente não Cadastrado.!');
end;

Procedure FornecedorNaoCadastrado;
begin
 CaixadeMensagemAviso('Fornecedor não Cadastrado.!');
end;

Procedure PontoNaoCadastrado;
begin
  CaixadeMensagemAviso('Ponto não Cadastrado.!');
end;

Procedure DependenteNaoCadastrado;
begin
  CaixadeMensagemAviso('Dependente não Cadastrado. !');
end;

Procedure NaturalidadeNaoCadastrada;
begin
  CaixadeMensagemAviso('Naturalidade não Cadastrada.!');
end;
  
function CaixadeMensagemAviso(mensagem: string): Boolean;
begin
  try
    Application.CreateForm(TfrmMensagemAviso, frmMensagemAviso);
    frmMensagemAviso.Caption := 'Aviso. ';
    frmMensagemAviso.lblMensagem.Caption := mensagem;
    if frmMensagemAviso.ShowModal = mrOK then
       Result := True
    else
       Result := False;
  finally
    FreeAndNil(frmMensagemAviso);
  end;
end;

function CaixadeMensagem(mensagem: String): Boolean;
begin
  try
    Application.CreateForm(TfrmMensagem, frmMensagem);
    frmMensagem.Caption := 'Fechar Janela.';
    frmMensagem.lblMensagem.Caption := mensagem;
    if frmMensagem.ShowModal = mrOk then
       Result := True
    else
       Result := False;
  finally
    FreeAndNil(frmMensagem);
  end;
end;

Procedure ErroNaGravacaoBanco(param: string);
begin
  CaixadeMensagemAviso('Erro: ' + param);
end;

function RetiraMask(Texto : String) : String;
var
 iI : Smallint;
Begin
 for iI := 0 to length(Texto) -1 do
  if texto[iI] in ['\','/','-','.'] then
    delete(texto,pos(texto[iI],texto),1);
 result := Texto;
end;

function MododeEdicao(RegistrodeMemoria: TClientDataSet) : Boolean;
begin
  Result := False;
  if RegistrodeMemoria.State in [DSINSERT, DSEDIT] then
     Result := True;
end;

end.
