|
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
JonasB Aprendiz
Registrado: Segunda-Feira, 15 de Abril de 2013 Mensagens: 175
|
Enviada: Ter Jan 20, 2015 1:43 pm Assunto: Abrir e Fechar Forms |
|
|
Boa tarde, Galera
Já pesquisei e tentei diversos métodos postados, e nenhum me funcionou, provavelmente estou fazendo algo errado.
Coloquei todos os forms do meu projeto, com exceção do Menu e do dataModule no Available, e estou iniciando e encerrando da seguinte forma:
Abertura
Código: | frmCadastroPessoa := TfrmCadastroPessoa.Create(Self);
frmCadastroPessoa.Show; |
FormClose
Código: | FreeAndNil(frmCadastroPessoa); |
A questão é que o Form abre, só que quando digito qualquer coisa em qualquer campo, e tento sair, ele da Access Violation.
Alguém pode ajudar ? |
|
Voltar ao Topo |
|
|
qmartins Novato
Registrado: Quinta-Feira, 20 de Agosto de 2009 Mensagens: 53 Localização: redencao
|
Enviada: Ter Jan 20, 2015 1:47 pm Assunto: |
|
|
Amigo tenta o Seguinte.
frmCadastroPessoa := TfrmCadastroPessoa.Create(Self);
frmCadastroPessoa.ShowModal;
Espero ter ajudado. |
|
Voltar ao Topo |
|
|
JonasB Aprendiz
Registrado: Segunda-Feira, 15 de Abril de 2013 Mensagens: 175
|
Enviada: Ter Jan 20, 2015 2:08 pm Assunto: |
|
|
Já tentei dessa forma e não funcionou. |
|
Voltar ao Topo |
|
|
qmartins Novato
Registrado: Quinta-Feira, 20 de Agosto de 2009 Mensagens: 53 Localização: redencao
|
Enviada: Ter Jan 20, 2015 6:00 pm Assunto: |
|
|
Esse erro de Access Violation ocorre quando você esta tentando acessar algo que esta inacessível, ex: você manda abrir um form e tenta trazer uma informação de um outro form que não esta aberto. ai então vem o erro, verifique se neste form que você esta abrindo ele não esta tentando trazer informação de algum outro form que não tenha sido aberto. |
|
Voltar ao Topo |
|
|
JonasB Aprendiz
Registrado: Segunda-Feira, 15 de Abril de 2013 Mensagens: 175
|
Enviada: Qua Jan 21, 2015 6:33 am Assunto: |
|
|
Na verdade é como disse, ele está dando o Access Somente quando tento fechar a tela, e somente quando digitei algo nessa tela, se eu somente abrir e já fechar ele funciona normalmente.
O problema é na hora de fechar o form. |
|
Voltar ao Topo |
|
|
natanbh1 Colaborador
Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Qua Jan 21, 2015 8:34 am Assunto: |
|
|
Sua aplicação é do tipo MDI ou SDI ?
Experimente alterar o OnClose do Form para:
Código: | Action := caFree;
frmCadastroPessoa := nil; |
_________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
|
JonasB Aprendiz
Registrado: Segunda-Feira, 15 de Abril de 2013 Mensagens: 175
|
Enviada: Qua Jan 21, 2015 8:47 am Assunto: |
|
|
Já tentei dessa forma e também não funcionou.
Bom, acredito que seja SDI. Tenho um Menu e posteriormente abro outras janelas em cima desse menu. |
|
Voltar ao Topo |
|
|
swbk Novato
Registrado: Terça-Feira, 6 de Janeiro de 2015 Mensagens: 27
|
Enviada: Qua Jan 21, 2015 8:53 am Assunto: |
|
|
Se for MDI:
- Abrir form:
Código: | Application.CreateForm(TFormularioExemplo, FormularioExemplo);
FormularioExemplo.Show; |
- Fechar form:
Código: | //Se utilizar um botão ou imagem
procedure TFormularioListaExemplo2.imgSairClick(Sender: TObject);
begin
Free;
end; |
Código: | //Se utilizar o X da janela
procedure TCiaAereaForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end; |
|
|
Voltar ao Topo |
|
|
JonasB Aprendiz
Registrado: Segunda-Feira, 15 de Abril de 2013 Mensagens: 175
|
Enviada: Qua Jan 21, 2015 9:01 am Assunto: |
|
|
Tá dificil, nada ainda.
@EDIT
Aliás, coloquei o Free em um button e pelo que parece funcionou. Só que no X da janela no OnClose ainda não funcionou. Alguem sabe o por que ? |
|
Voltar ao Topo |
|
|
natanbh1 Colaborador
Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Qua Jan 21, 2015 9:11 am Assunto: |
|
|
Creio que seu problema não seja nos seu método de abertura e nem no fechamento do form.
Testei aqui e funciona perfeitamente.
JonasB escreveu: | Na verdade é como disse, ele está dando o Access Somente quando tento fechar a tela, e somente quando digitei algo nessa tela, se eu somente abrir e já fechar ele funciona normalmente.
O problema é na hora de fechar o form. |
Quando você diz que o Access Violation acontece quando você digita algo na tela...
Em que objeto? Se for em um DBEdit ou algum outro objeto DataWare (ligados ao banco de dados):
pode ser algum problema ao salvar os dados.
Por exemplo se a propriedade DataSource do objeto estiver vazio... _________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|
Voltar ao Topo |
|
|
JonasB Aprendiz
Registrado: Segunda-Feira, 15 de Abril de 2013 Mensagens: 175
|
Enviada: Qua Jan 21, 2015 9:21 am Assunto: |
|
|
Com o Free no botão para fechar funcionou, então creio que seja sim no método de fechamento.
Não, o Access Violation só acontece quando digito algo em algum campo e em seguida fecho no 'x', antes acontecia no button também, só que com o código do swbk resolveu no button, só no 'x' que não.
@EDIT
Estranho que coloquei o OnKeyDown ESC com btFechar.Click, que é o botão que está funcionando para fechar com o Free, e tá dando erro. No ESC da erro, e se clico no botão não. Estranho ?
Editado pela última vez por JonasB em Qua Jan 21, 2015 9:28 am, num total de 1 vez |
|
Voltar ao Topo |
|
|
swbk Novato
Registrado: Terça-Feira, 6 de Janeiro de 2015 Mensagens: 27
|
Enviada: Qua Jan 21, 2015 9:28 am Assunto: |
|
|
JonasB escreveu: | Com o Free no botão para fechar funcionou, então creio que seja sim no método de fechamento.
Não, o Access Violation só acontece quando digito algo em algum campo e em seguida fecho no 'x', antes acontecia no button também, só que com o código do swbk resolveu no button, só no 'x' que não. |
Poderia postar o código do formulário em questão? |
|
Voltar ao Topo |
|
|
swbk Novato
Registrado: Terça-Feira, 6 de Janeiro de 2015 Mensagens: 27
|
Enviada: Qua Jan 21, 2015 9:30 am Assunto: |
|
|
Outro detalhe, vamos supor que você está em uma lista e no duplo clique do registro abre esse form seu.
Você faz referência de algum objeto desse form na lista? |
|
Voltar ao Topo |
|
|
JonasB Aprendiz
Registrado: Segunda-Feira, 15 de Abril de 2013 Mensagens: 175
|
Enviada: Qua Jan 21, 2015 9:30 am Assunto: |
|
|
Código tá bagunçado que estou reformulando mais vamos lá, rs
Código: | unit uCadastroPessoa;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.StrUtils, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, JvExStdCtrls, JvEdit,
Vcl.ExtCtrls, Vcl.ImgList, Vcl.ComCtrls, Vcl.Mask, JvExMask, JvToolEdit,
JvMaskEdit, JvExControls, JvGradient, Vcl.Imaging.pngimage, Vcl.Buttons;
type
TfrmCadastroPessoa = class(TForm)
edtRazaoSocial: TEdit;
cmbTipoPessoa: TComboBox;
cmbSituacao: TComboBox;
edtNomeFantasia: TEdit;
lblFantasia: TLabel;
edtEmail: TEdit;
lblEmail: TLabel;
lblCEP: TLabel;
edtEndereco: TEdit;
lblEndereco: TLabel;
edtNumero: TJvEdit;
lblNumero: TLabel;
edtBairro: TEdit;
lblBairro: TLabel;
edtCidade: TEdit;
lblCidade: TLabel;
edtUF: TEdit;
lblUF: TLabel;
edtInscricaoEstadual: TJvEdit;
lblCNPJ: TLabel;
lblInscricaoEstadual: TLabel;
lblTelefone: TLabel;
cmbRepresentante: TComboBox;
lblRepresentante: TLabel;
cmbTabelaPrecos: TComboBox;
lblTabelaPrecos: TLabel;
cmbTipoCusto: TComboBox;
lblTipoCusto: TLabel;
cmbTipoFrete: TComboBox;
lblTipoFrete: TLabel;
edtTransportadora2: TEdit;
lblTransportador: TLabel;
edtRedespacho: TEdit;
lblRedespacho: TLabel;
cmbTipoPagamento: TComboBox;
lblTipoPagamento: TLabel;
lblCondicaoPagamento: TLabel;
groupClassificacao: TGroupBox;
chkCliente: TCheckBox;
chkFornecedor: TCheckBox;
chkTransportador: TCheckBox;
chkFuncionario: TCheckBox;
chkRepresentante: TCheckBox;
ImageList1: TImageList;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
StatusBar1: TStatusBar;
Label10: TLabel;
lblRazaoSocial: TLabel;
lblSituacao: TLabel;
lblTipoPessoa: TLabel;
edtTelefone: TJvMaskEdit;
edtCEP: TJvMaskEdit;
edtCNPJ: TJvMaskEdit;
edtTransportadora: TEdit;
edtRedespacho2: TEdit;
cmbCondicaoPagamento: TComboBox;
Label11: TLabel;
Image1: TImage;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
JvGradient1: TJvGradient;
Shape1: TShape;
SpeedButton1: TSpeedButton;
btNovo: TSpeedButton;
btPesquisar: TSpeedButton;
btAlterar: TSpeedButton;
edtCodigo: TEdit;
Label15: TLabel;
JvGradient2: TJvGradient;
btSalvar: TButton;
btCancelar: TButton;
btFechar: TButton;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
memoObservacoes: TMemo;
Label16: TLabel;
Memo2: TMemo;
Label17: TLabel;
Memo3: TMemo;
Label18: TLabel;
btEliminar: TSpeedButton;
procedure localizaSequencia();
procedure verificaCampos();
procedure assinalaCampos();
procedure executaTransacaoInsert();
procedure executaTransacaoUpdate();
procedure edtRazaoSocialExit(Sender: TObject);
procedure edtNomeFantasiaExit(Sender: TObject);
procedure edtCEPExit(Sender: TObject);
procedure edtEnderecoExit(Sender: TObject);
procedure edtNumeroExit(Sender: TObject);
procedure edtBairroExit(Sender: TObject);
procedure edtTelefoneExit(Sender: TObject);
procedure edtCNPJExit(Sender: TObject);
procedure edtInscricaoEstadualExit(Sender: TObject);
procedure gravaVariaveis();
procedure limparCampos();
procedure atualizaSequencia();
procedure btNovo2Click(Sender: TObject);
procedure btPesquisar2Click(Sender: TObject);
procedure btFechar2Click(Sender: TObject);
function RemoveChars(const Chrs : array of Char; const aText : string) : string;
procedure cmbTipoPessoaChange(Sender: TObject);
procedure btAlterar2Click(Sender: TObject);
procedure pessoaRepresentante();
procedure FormShow(Sender: TObject);
procedure edtTransportadoraKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edtRedespachoKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edtTransportadoraExit(Sender: TObject);
procedure edtRedespachoExit(Sender: TObject);
procedure desabilitaBotoesTopo();
procedure habilitaBotoesTopo();
procedure habilitaBotoesRodape();
procedure desabilitaBotoesRodape();
procedure btCancelarClick(Sender: TObject);
procedure btSalvarClick(Sender: TObject);
procedure btEliminarClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmCadastroPessoa: TfrmCadastroPessoa;
sequencia : Integer;
camposObrigatorios, transportadora, transportadora2 : Integer;
tipoPessoa, situacaoCadastro, classificacaoCliente, classificacaoFornecedor : String;
classificacaoTransportadora, classificacaoRepresentante, classificacaoFuncionario : String;
implementation
{$R *.dfm}
uses uConexaoFB, uPesquisaPessoa, uRepresentante;
function TfrmCadastroPessoa.RemoveChars(const Chrs : array of Char; const aText : string) : string;
var
I : Integer;
begin
Result := aText;
for I := Low(Chrs) to High(Chrs) do
Result := ReplaceStr(Result, Chrs[I], '');
end;
procedure TfrmCadastroPessoa.executaTransacaoUpdate();
begin
dmDados.QryMovimentacoes.Close;
dmDados.QryMovimentacoes.SQL.Clear;
dmDados.QryMovimentacoes.SQL.Add('UPDATE CAD_PESSOA SET PESSOA_RAZAOSOCIAL = :ParRazaoSocial, '+
'PESSOA_FANTASIA = :ParFantasia, PESSOA_SITUACAO = :ParSituacao, PESSOA_EMAIL = :ParEmail, PESSOA_CEP = :ParCEP, '+
'PESSOA_ENDERECO = :ParEndereco, PESSOA_ENDERECONUMERO = :ParEnderecoNumero, '+
'PESSOA_ENDERECOBAIRRO = :ParEnderecoBairro, PESSOA_TELEFONE = :ParTelefone, '+
'PESSOA_TIPOFRETE = :ParTipoFrete, PESSOA_TRANSPORTADORA = :ParTransportadora, '+
'PESSOA_REDESPACHO = :ParRedespacho, PESSOA_TIPOPAGAMENTO = :ParTipoPagamento, '+
'PESSOA_CONDICAOPAGAMENTO = :ParCondicaoPagamento, PESSOA_REPRESENTANTE = :ParRepresentante, '+
'PESSOA_TIPOCUSTO = :ParTipoCusto, PESSOA_CLASSIFICACAOCLIENTE = :ParClassificacaoCliente, '+
'PESSOA_CLASSIFICACAOFORNECEDOR = :ParClassificacaoFornecedor, PESSOA_CLASSIFICACAOTRANSPORTAD = :ParClassificacaoTransportadora, '+
'PESSOA_CLASSIFICACAOFUNCIONARIO = :ParClassificacaoFuncionario, PESSOA_CLASSIFICACAOREPRESENTAN = :ParClassificacaoRepresentante, '+
'PESSOA_OBSERVACOES = :ParObservacoes, PESSOA_TABELAPRECOS = :ParTabelaPrecos WHERE PESSOA_CODIGO = :ParCodigo');
dmDados.QryMovimentacoes.Params.ParamByName('ParCodigo').value := edtCodigo.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParRazaoSocial').value := edtRazaoSocial.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParSituacao').value := situacaoCadastro;
dmDados.QryMovimentacoes.Params.ParamByName('ParFantasia').value := edtNomeFantasia.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParEmail').value := edtEmail.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParCEP').value := RemoveChars(['.', '-'], edtCEP.Text);
dmDados.QryMovimentacoes.Params.ParamByName('ParEndereco').value := edtEndereco.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParEnderecoNumero').value := edtNumero.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParEnderecoBairro').value := edtBairro.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParTelefone').value := edtTelefone.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParTipoFrete').value := cmbTipoFrete.ItemIndex;
dmDados.QryMovimentacoes.Params.ParamByName('ParTransportadora').value := edtTransportadora.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParRedespacho').value := edtRedespacho.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParTipoPagamento').value := cmbTipoPagamento.ItemIndex;
dmDados.QryMovimentacoes.Params.ParamByName('ParCondicaoPagamento').value := cmbCondicaoPagamento.ItemIndex;
dmDados.QryMovimentacoes.Params.ParamByName('ParRepresentante').value := cmbRepresentante.ItemIndex;
dmDados.QryMovimentacoes.Params.ParamByName('ParTabelaPrecos').value := cmbTabelaPrecos.ItemIndex;
dmDados.QryMovimentacoes.Params.ParamByName('ParTipoCusto').value := cmbTipoCusto.ItemIndex;
dmDados.QryMovimentacoes.Params.ParamByName('ParClassificacaoCliente').value := classificacaoCliente;
dmDados.QryMovimentacoes.Params.ParamByName('ParClassificacaoFornecedor').value := classificacaoFornecedor;
dmDados.QryMovimentacoes.Params.ParamByName('ParClassificacaoTransportadora').value := classificacaoTransportadora;
dmDados.QryMovimentacoes.Params.ParamByName('ParClassificacaoFuncionario').value := classificacaoFuncionario;
dmDados.QryMovimentacoes.Params.ParamByName('ParClassificacaoRepresentante').value := classificacaoRepresentante;
dmDados.QryMovimentacoes.Params.ParamByName('ParObservacoes').Value := memoObservacoes.Text;
dmDados.QryMovimentacoes.ExecSQL();
end;
procedure TfrmCadastroPessoa.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Free;
end;
procedure TfrmCadastroPessoa.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = VK_ESCAPE then
begin
btFechar.Click;
end;
end;
procedure TfrmCadastroPessoa.FormShow(Sender: TObject);
begin
//REPRESENTANTE
begin
dmDados.QryPesquisas.Close;
dmDados.QryPesquisas.SQL.Clear;
dmDados.QryPesquisas.SQL.Add('SELECT * FROM CAD_REPRESENTANTE');
dmDados.QryPesquisas.Open;
begin
while not dmDados.QryPesquisas.Eof do
begin
cmbRepresentante.Items.Add(dmDados.QryPesquisas.FieldByName('REPRESENTANTE_DESCRICAO').AsString);
dmDados.QryPesquisas.Next;
end;
end;
end;
//CONDIÇÃO DE PAGAMENTO
begin
dmDados.QryPesquisas.Close;
dmDados.QryPesquisas.SQL.Clear;
dmDados.QryPesquisas.SQL.Add('SELECT * FROM CAD_CONDICAOPAGAMENTO');
dmDados.QryPesquisas.Open;
begin
while not dmDados.QryPesquisas.Eof do
begin
cmbCondicaoPagamento.Items.Add(dmDados.QryPesquisas.FieldByName('CONDICAOPAGAMENTO_DESCRICAO').AsString);
dmDados.QryPesquisas.Next;
end;
end;
end;
end;
procedure TfrmCadastroPessoa.executaTransacaoInsert();
begin
gravaVariaveis();
dmDados.QryMovimentacoes.Close;
dmDados.QryMovimentacoes.SQL.Clear;
dmDados.QryMovimentacoes.SQL.Add('INSERT INTO CAD_PESSOA VALUES (:ParCodigo, :ParTipo, '+
':ParRazaoSocial, :ParSituacao, :ParFantasia, :ParEmail, :ParCEP, :ParEndereco, '+
':ParEnderecoNumero, :ParEnderecoBairro, :ParTelefone, :ParCNPJ, :ParInscricao, '+
':ParTipoFrete, :ParTransportadora, :ParRedespacho, :ParTipoPagamento, '+
':ParCondicaoPagamento, :ParRepresentante, :ParTabelaPrecos, :ParTipoCusto, '+
':ParClassificacaoCliente, :ParClassificacaoFornecedor, :ParClassificacaoTransportadora, '+
':ParClassificacaoFuncionario, :ParClassificacaoRepresentante, :ParObservacoes)');
dmDados.QryMovimentacoes.Params.ParamByName('ParCodigo').value := sequencia;
dmDados.QryMovimentacoes.Params.ParamByName('ParTipo').value := tipoPessoa;
dmDados.QryMovimentacoes.Params.ParamByName('ParRazaoSocial').value := edtRazaoSocial.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParSituacao').value := situacaoCadastro;
dmDados.QryMovimentacoes.Params.ParamByName('ParFantasia').value := edtNomeFantasia.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParEmail').value := edtEmail.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParCEP').value := RemoveChars(['.', '-'], edtCEP.Text);
dmDados.QryMovimentacoes.Params.ParamByName('ParEndereco').value := edtEndereco.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParEnderecoNumero').value := edtNumero.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParEnderecoBairro').value := edtBairro.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParTelefone').value := edtTelefone.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParCNPJ').value := RemoveChars(['.', '-', '/'], edtCNPJ.Text);
dmDados.QryMovimentacoes.Params.ParamByName('ParInscricao').value := edtInscricaoEstadual.Text;
dmDados.QryMovimentacoes.Params.ParamByName('ParTipoFrete').value := cmbTipoFrete.ItemIndex;
dmDados.QryMovimentacoes.Params.ParamByName('ParTransportadora').value := transportadora;
dmDados.QryMovimentacoes.Params.ParamByName('ParRedespacho').value := transportadora2;
dmDados.QryMovimentacoes.Params.ParamByName('ParTipoPagamento').value := cmbTipoPagamento.ItemIndex;
dmDados.QryMovimentacoes.Params.ParamByName('ParCondicaoPagamento').value := cmbCondicaoPagamento.ItemIndex;
dmDados.QryMovimentacoes.Params.ParamByName('ParRepresentante').value := cmbRepresentante.ItemIndex;
dmDados.QryMovimentacoes.Params.ParamByName('ParTabelaPrecos').value := cmbTabelaPrecos.ItemIndex;
dmDados.QryMovimentacoes.Params.ParamByName('ParTipoCusto').value := cmbTipoCusto.ItemIndex;
dmDados.QryMovimentacoes.Params.ParamByName('ParClassificacaoCliente').value := classificacaoCliente;
dmDados.QryMovimentacoes.Params.ParamByName('ParClassificacaoFornecedor').value := classificacaoFornecedor;
dmDados.QryMovimentacoes.Params.ParamByName('ParClassificacaoTransportadora').value := classificacaoTransportadora;
dmDados.QryMovimentacoes.Params.ParamByName('ParClassificacaoFuncionario').value := classificacaoFuncionario;
dmDados.QryMovimentacoes.Params.ParamByName('ParClassificacaoRepresentante').value := classificacaoRepresentante;
dmDados.QryMovimentacoes.Params.ParamByName('ParObservacoes').Value := memoObservacoes.Text;
dmDados.QryMovimentacoes.ExecSQL();
//ATUALIZA INDICE DE SEQUENCIAS
atualizaSequencia();
end;
procedure TfrmCadastroPessoa.btPesquisar2Click(Sender: TObject);
begin
//BOTÃO PESQUISAR
if btPesquisar.Caption = 'Pesquisar (F2)' then
begin
frmPesquisaPessoa := TfrmPesquisaPessoa.Create(Self);
frmPesquisaPessoa.ShowModal;
if frmPesquisaPessoa.ModalResult = mrOk then
begin
begin
frmCadastroPessoa.edtCEP.EditMask := '00000-000;0;_';
frmCadastroPessoa.edtCNPJ.EditMask := '00\.000\.000\/0000\-00;0;_';
frmCadastroPessoa.edtTelefone.EditMask := '!\(99\)9999-99999;0;_';
frmCadastroPessoa.edtCodigo.Visible := True;
//frmCadastroPessoa.lblCodigo.Visible := True;
frmCadastroPessoa.edtCodigo.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_CODIGO').Value;
frmCadastroPessoa.edtRazaoSocial.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_RAZAOSOCIAL').Value;
frmCadastroPessoa.edtNomeFantasia.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_FANTASIA').Value;
frmCadastroPessoa.edtEmail.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_EMAIL').Value;
frmCadastroPessoa.edtCEP.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_CEP').Value;
frmCadastroPessoa.edtEndereco.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_ENDERECO').Value;
frmCadastroPessoa.edtNumero.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_ENDERECONUMERO').Value;
frmCadastroPessoa.edtBairro.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_ENDERECOBAIRRO').Value;
frmCadastroPessoa.edtTelefone.Text := RemoveChars(['(', '-', ')'], dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_TELEFONE').Value);
frmCadastroPessoa.edtCNPJ.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_CNPJ').Value;
frmCadastroPessoa.edtInscricaoEstadual.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_INSCRICAO').Value;
frmCadastroPessoa.edtTransportadora.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_TRANSPORTADORA').Value;
frmCadastroPessoa.edtRedespacho.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_REDESPACHO').Value;
frmCadastroPessoa.cmbCondicaoPagamento.ItemIndex := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_CONDICAOPAGAMENTO').Value;
frmCadastroPessoa.memoObservacoes.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_OBSERVACOES').Value;
frmCadastroPessoa.cmbTipoFrete.ItemIndex := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_TIPOFRETE').Value;
frmCadastroPessoa.cmbTipoPagamento.ItemIndex := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_TIPOPAGAMENTO').Value;
frmCadastroPessoa.cmbRepresentante.ItemIndex := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_REPRESENTANTE').Value;
frmCadastroPessoa.cmbTabelaPrecos.ItemIndex := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_TABELAPRECOS').Value;
frmCadastroPessoa.cmbTipoCusto.ItemIndex := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_TIPOCUSTO').Value;
//TRANSPORTADORA
if edtTransportadora.Text <> '' then
begin
dmDados.QryPesquisas.Close;
dmDados.QryPesquisas.SQL.Clear;
dmDados.QryPesquisas.SQL.Add('SELECT * FROM CAD_PESSOA WHERE PESSOA_CODIGO = :ParCodigo');
dmDados.QryPesquisas.Params.ParamByName('ParCodigo').Value := edtTransportadora.Text;
dmDados.QryPesquisas.Open;
edtTransportadora2.Text := dmDados.QryPesquisas.FieldByName('PESSOA_RAZAOSOCIAL').Value;
end;
//REDESPACHO
if edtRedespacho.Text <> '' then
begin
dmDados.QryPesquisas.Close;
dmDados.QryPesquisas.SQL.Clear;
dmDados.QryPesquisas.SQL.Add('SELECT * FROM CAD_PESSOA WHERE PESSOA_CODIGO = :ParCodigo');
dmDados.QryPesquisas.Params.ParamByName('ParCodigo').Value := edtRedespacho.Text;
dmDados.QryPesquisas.Open;
edtRedespacho2.Text := dmDados.QryPesquisas.FieldByName('PESSOA_RAZAOSOCIAL').Value;
end;
end;
begin
//PESQUISA CEP
dmDados.QryPesquisas.Close;
dmDados.QryPesquisas.SQL.Clear;
dmDados.QryPesquisas.SQL.Add('SELECT * FROM CAD_LOGRADOUROS INNER JOIN CAD_CIDADE ON CAD_CIDADE.CIDADE_CODIGO = CAD_LOGRADOUROS.LOGRADOURO_CIDADE WHERE LOGRADOUROS_CEP = :ParCep');
dmDados.QryPesquisas.Params.ParamByName('ParCep').Value := RemoveChars(['.', '-'], edtCEP.Text);
dmDados.QryPesquisas.Open;
if not dmDados.QryPesquisas.IsEmpty then
begin
edtCidade.Text := dmDados.QryPesquisas.FieldByName('CIDADE_DESCRICAO').Value;
edtUF.Text := dmDados.QryPesquisas.FieldByName('CIDADE_ESTADO').Value;
end;
//TIPO PESSOA
if dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_TIPO').Value = 'J' then
begin
frmCadastroPessoa.cmbTipoPessoa.ItemIndex := 0;
end
else
begin
frmCadastroPessoa.cmbTipoPessoa.ItemIndex := 1;
end;
//SITUAÇÃO
if dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_SITUACAO').Value = 'A' then
begin
frmCadastroPessoa.cmbTipoPessoa.ItemIndex := 0;
end
else
begin
frmCadastroPessoa.cmbTipoPessoa.ItemIndex := 1;
end;
//CLASSIFICAÇÃO CLIENTE
if dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_CLASSIFICACAOCLIENTE').Value = 'S' then
begin
frmCadastroPessoa.chkCliente.Checked := True;
end
else
begin
frmCadastroPessoa.chkCliente.Checked := False;
end;
//CLASSIFICAÇÃO FORNECEDOR
if dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_CLASSIFICACAOFORNECEDOR').Value = 'S' then
begin
frmCadastroPessoa.chkFornecedor.Checked := True;
end
else
begin
frmCadastroPessoa.chkFornecedor.Checked := False;
end;
//CLASSIFICAÇÃO FUNCIONÁRIO
if dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_CLASSIFICACAOFUNCIONARIO').Value = 'S' then
begin
frmCadastroPessoa.chkFuncionario.Checked := True;
end
else
begin
frmCadastroPessoa.chkFuncionario.Checked := False;
end;
//CLASSIFICAÇÃO REPRESENTANTE
if dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_CLASSIFICACAOREPRESENTAN').Value = 'S' then
begin
frmCadastroPessoa.chkRepresentante.Checked := True;
end
else
begin
frmCadastroPessoa.chkRepresentante.Checked := False;
end;
//CLASSIFICAÇÃO TRANSPORTADORA
if dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_CLASSIFICACAOTRANSPORTAD').Value = 'S' then
begin
frmCadastroPessoa.chkTransportador.Checked := True;
end
else
begin
frmCadastroPessoa.chkTransportador.Checked := False;
end;
//CAMPOS OBRIGATÓRIOS
Label10.Visible := False;
Label1.Visible := False;
Label3.Visible := False;
Label2.Visible := False;
Label5.Visible := False;
Label6.Visible := False;
Label7.Visible := False;
Label8.Visible := False;
Label9.Visible := False;
Label4.Visible := False;
dmDados.cdsPesquisaPessoa.Close;
FreeAndNil(frmPesquisaPessoa);
end;
end;
//FIM MODAL RESULT
end;
end;
procedure TfrmCadastroPessoa.btSalvarClick(Sender: TObject);
begin
verificaCampos();
if camposObrigatorios = 1 then
Exit;
{********* EXECUTA TRANSAÇÃO INSERT*********}
if StatusBar1.Panels[1].Text = 'Inclusão' then
begin
executaTransacaoInsert();
//VERIRICA SE É REPRESENTANTE E ABRE JANELA
if chkRepresentante.Checked = True then
begin
frmCadastroRepresentante := TfrmCadastroRepresentante.Create(Self);
frmCadastroRepresentante.Show;
end;
Application.MessageBox(PChar('Pessoa '+ IntToStr(sequencia) +' cadastrada com sucesso!'),'Aviso do Sistema',mb_Ok+mb_IconInformation);
habilitaBotoesTopo();
desabilitaBotoesRodape();
PageControl1.Enabled := False;
edtCodigo.SetFocus;
StatusBar1.Panels[1].Text := 'Leitura';
end;
{********* FIM TRANSAÇÃO INSERT *********}
{********* EXECUTA TRANSAÇÃO UPDATE *********}
if StatusBar1.Panels[1].Text = 'Alteração' then
begin
executaTransacaoUpdate();
edtTelefone.EditMask := '!\(99\)9999-99999;1;_';
edtCEP.EditMask := '00000\-999;1;_';
edtCNPJ.EditMask := '00\.000\.000\/9999\-00;1;_';
//VERIRICA SE É REPRESENTANTE E ABRE JANELA
if chkRepresentante.Checked = True then
begin
frmCadastroRepresentante := TfrmCadastroRepresentante.Create(Self);
frmCadastroRepresentante.Show;
end
else
begin
Application.MessageBox(PChar('Pessoa '+ edtCodigo.Text +' alterada com sucesso!'),'Aviso do Sistema',mb_Ok+mb_IconInformation);
habilitaBotoesTopo();
desabilitaBotoesRodape();
PageControl1.Enabled := False;
edtCodigo.SetFocus;
StatusBar1.Panels[1].Text := 'Leitura';
end;
end;
{********* FIM TRANSAÇÃO UPDATE *********}
end;
procedure TfrmCadastroPessoa.btAlterar2Click(Sender: TObject);
begin
if edtRazaoSocial.Text <> '' then
begin
PageControl1.Enabled := True;
edtCEP.EditMask := '00000\-999;1;_';
edtCNPJ.EditMask := '00\.000\.000\/9999\-00;1;_';
edtTelefone.EditMask := '!\(99\)9999-99999;1;_';
edtRazaoSocial.SetFocus;
StatusBar1.Panels[1].Text := 'Alteração';
desabilitaBotoesTopo();
habilitaBotoesRodape();
end
else
begin
Application.MessageBox('Selecione um cliente para alterar!','Aviso do Sistema',mb_Ok+mb_IconExclamation);
end;
end;
procedure TfrmCadastroPessoa.btCancelarClick(Sender: TObject);
begin
limparCampos();
PageControl1.Enabled := False;
edtCodigo.Text := '';
edtCodigo.SetFocus;
habilitaBotoesTopo();
desabilitaBotoesRodape();
end;
procedure TfrmCadastroPessoa.btEliminarClick(Sender: TObject);
begin
Application.MessageBox('Em desenvolvimento!','Aviso do Sistema',mb_Ok+mb_IconExclamation);
end;
procedure TfrmCadastroPessoa.btFechar2Click(Sender: TObject);
begin
//Close;
Free;
end;
procedure TfrmCadastroPessoa.pessoaRepresentante();
begin
FreeAndNil(frmCadastroPessoa);
end;
procedure TfrmCadastroPessoa.desabilitaBotoesTopo();
begin
btNovo.Enabled := False;
btAlterar.Enabled := False;
btEliminar.Enabled := False;
btPesquisar.Enabled := False;
btSalvar.Visible := True;
btCancelar.Visible := True;
end;
procedure TfrmCadastroPessoa.habilitaBotoesTopo();
begin
btNovo.Enabled := True;
btAlterar.Enabled := True;
btEliminar.Enabled := True;
btPesquisar.Enabled := True;
btSalvar.Visible := True;
btCancelar.Visible := True;
end;
procedure TfrmCadastroPessoa.habilitaBotoesRodape();
begin
btSalvar.Visible := True;
btCancelar.Visible := True;
end;
procedure TfrmCadastroPessoa.desabilitaBotoesRodape();
begin
btSalvar.Visible := False;
btCancelar.Visible := False;
end;
procedure TfrmCadastroPessoa.btNovo2Click(Sender: TObject);
begin
PageControl1.Enabled := True;
limparCampos();
edtRazaoSocial.SetFocus;
edtTelefone.EditMask := '!\(99\)9999-99999;1;_';
edtCEP.EditMask := '00000\-999;1;_';
edtCNPJ.EditMask := '00\.000\.000\/9999\-00;1;_';
desabilitaBotoesTopo();
habilitaBotoesRodape();
//ULTIMA SEQUENCIA
localizaSequencia();
edtCodigo.Text := IntToStr(sequencia);
edtRazaoSocial.SetFocus;
StatusBar1.Panels[1].Text := 'Inclusão';
end;
procedure TfrmCadastroPessoa.cmbTipoPessoaChange(Sender: TObject);
begin
if cmbTipoPessoa.ItemIndex = 1 then
begin
lblCNPJ.Caption := 'CPF';
edtCNPJ.Text := ' . . - ';
edtCNPJ.EditMask := '000\.000\.000\-99;1;_';
end
else
lblCNPJ.Caption := 'CNPJ';
edtCNPJ.Text := '';
edtCNPJ.EditMask := '00\.000\.000\/9999\-00;1;_';
end;
procedure TfrmCadastroPessoa.edtBairroExit(Sender: TObject);
begin
if edtBairro.Text <> '' then
begin
label5.Visible := False;
end
else
label5.Visible := True;
end;
procedure TfrmCadastroPessoa.edtCEPExit(Sender: TObject);
begin
//VERIFICA CAMPO VAZIO
if edtCEP.Text <> ' - ' then
begin
//PESQUISA CEP
dmDados.QryPesquisas.Close;
dmDados.QryPesquisas.SQL.Clear;
dmDados.QryPesquisas.SQL.Add('SELECT * FROM CAD_LOGRADOUROS INNER JOIN CAD_CIDADE ON CAD_CIDADE.CIDADE_CODIGO = CAD_LOGRADOUROS.LOGRADOURO_CIDADE WHERE LOGRADOUROS_CEP = :ParCep');
dmDados.QryPesquisas.Params.ParamByName('ParCep').Value := RemoveChars(['.', '-'], edtCEP.Text);
dmDados.QryPesquisas.Open;
if not dmDados.QryPesquisas.IsEmpty then
begin
edtCidade.Text := dmDados.QryPesquisas.FieldByName('CIDADE_DESCRICAO').Value;
edtUF.Text := dmDados.QryPesquisas.FieldByName('CIDADE_ESTADO').Value;
edtEndereco.Text := dmDados.QryPesquisas.FieldByName('LOGRADOURO_DESCRICAO').Value;
edtBairro.Text := dmDados.QryPesquisas.FieldByName('LOGRADOURO_BAIRRO').Value;
label3.Visible := False;
Label2.Visible := False;
Label5.Visible := False;
end
else
begin
Application.MessageBox('O CEP não existe!','Aviso do Sistema',mb_Ok+mb_IconError);
edtCEP.Text := '';
edtCidade.Text := '';
edtUF.Text := '';
edtEndereco.Text := '';
edtBairro.Text := '';
label3.Visible := True;
Label2.Visible := True;
Label5.Visible := True;
end;
end
else
label3.Visible := True;
end;
procedure TfrmCadastroPessoa.edtCNPJExit(Sender: TObject);
begin
if edtCNPJ.Text <> '' then
begin
label7.Visible := False;
end
else
label7.Visible := True;
end;
procedure TfrmCadastroPessoa.edtEnderecoExit(Sender: TObject);
begin
if edtEndereco.Text <> '' then
begin
label2.Visible := False;
end
else
label2.Visible := True;
end;
procedure TfrmCadastroPessoa.edtInscricaoEstadualExit(Sender: TObject);
begin
if edtInscricaoEstadual.Text <> '' then
begin
label8.Visible := False;
end
else
label8.Visible := True;
end;
procedure TfrmCadastroPessoa.edtNomeFantasiaExit(Sender: TObject);
begin
if edtNomeFantasia.Text <> '' then
begin
label1.Visible := False;
end
else
label1.Visible := True;
end;
procedure TfrmCadastroPessoa.edtNumeroExit(Sender: TObject);
begin
if edtNumero.Text <> '' then
begin
label4.Visible := False;
end
else
label4.Visible := True;
end;
procedure TfrmCadastroPessoa.edtRazaoSocialExit(Sender: TObject);
begin
if edtRazaoSocial.Text <> '' then
begin
label10.Visible := False;
end
else
label10.Visible := True;
end;
procedure TfrmCadastroPessoa.edtRedespachoExit(Sender: TObject);
begin
if edtRedespacho.Text = '' then
begin
transportadora2 := 0;
Exit;
end;
if edtRedespacho.Text <> '' then
begin
if edtRedespacho.Text = edtTransportadora.Text then
begin
Application.MessageBox('O código da Transportadora de Redespacho não pode ser o mesmo da Transportadora.','Aviso do Sistema',mb_Ok+mb_IconExclamation);
edtRedespacho.Text := '';
edtRedespacho2.Text := '';
edtRedespacho.SetFocus;
end
else
begin
dmDados.QryPesquisas.Close;
dmDados.QryPesquisas.SQL.Clear;
dmDados.QryPesquisas.SQL.Add('SELECT * FROM CAD_PESSOA WHERE PESSOA_CODIGO = :ParCodigo AND PESSOA_CLASSIFICACAOTRANSPORTAD = ''S''');
dmDados.QryPesquisas.Params.ParamByName('ParCodigo').Value := edtRedespacho.Text;
dmDados.QryPesquisas.Open;
if dmDados.QryPesquisas.IsEmpty then
begin
Application.MessageBox('Código de Transportador inválido! Por favor, verifique.','Aviso do Sistema',mb_Ok+mb_IconExclamation);
edtRedespacho.Text := '';
edtRedespacho2.Text := '';
edtRedespacho.SetFocus;
end
else
begin
edtRedespacho.Text := dmDados.QryPesquisas.FieldByName('PESSOA_CODIGO').Value;
transportadora2 := dmDados.QryPesquisas.FieldByName('PESSOA_CODIGO').Value;
edtRedespacho2.Text := dmDados.QryPesquisas.FieldByName('PESSOA_RAZAOSOCIAL').Value;
end;
end;
end;
end;
procedure TfrmCadastroPessoa.edtRedespachoKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key = VK_F2 then
begin
frmPesquisaPessoa := TfrmPesquisaPessoa.Create(Self);
frmPesquisaPessoa.filtro := 1;
frmPesquisaPessoa.ShowModal;
if frmPesquisaPessoa.ModalResult = mrOk then
begin
edtRedespacho.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_CODIGO').Value;
edtRedespacho2.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_RAZAOSOCIAL').Value;
end;
end;
end;
procedure TfrmCadastroPessoa.edtTelefoneExit(Sender: TObject);
begin
if edtTelefone.Text <> '' then
begin
label6.Visible := False;
end
else
label6.Visible := True;
end;
procedure TfrmCadastroPessoa.edtTransportadoraExit(Sender: TObject);
begin
if edtTransportadora.Text = '' then
begin
transportadora := 0;
Exit;
end;
if edtTransportadora.Text <> '' then
begin
dmDados.QryPesquisas.Close;
dmDados.QryPesquisas.SQL.Clear;
dmDados.QryPesquisas.SQL.Add('SELECT * FROM CAD_PESSOA WHERE PESSOA_CODIGO = :ParCodigo AND PESSOA_CLASSIFICACAOTRANSPORTAD = ''S''');
dmDados.QryPesquisas.Params.ParamByName('ParCodigo').Value := edtTransportadora.Text;
dmDados.QryPesquisas.Open;
if dmDados.QryPesquisas.IsEmpty then
begin
Application.MessageBox('Código de Transportador inválido! Por favor, verifique.','Aviso do Sistema',mb_Ok+mb_IconExclamation);
edtTransportadora.Text := '';
edtTransportadora2.Text := '';
edtTransportadora.SetFocus;
end
else
begin
edtTransportadora.Text := dmDados.QryPesquisas.FieldByName('PESSOA_CODIGO').Value;
transportadora := dmDados.QryPesquisas.FieldByName('PESSOA_CODIGO').Value;
edtTransportadora2.Text := dmDados.QryPesquisas.FieldByName('PESSOA_RAZAOSOCIAL').Value;
end;
end
end;
procedure TfrmCadastroPessoa.edtTransportadoraKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if key = VK_F2 then
begin
frmPesquisaPessoa := TfrmPesquisaPessoa.Create(Self);
frmPesquisaPessoa.filtro := 1;
frmPesquisaPessoa.ShowModal;
if frmPesquisaPessoa.ModalResult = mrOk then
begin
edtTransportadora.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_CODIGO').Value;
edtTransportadora2.Text := dmDados.cdsPesquisaPessoa.FieldByName('PESSOA_RAZAOSOCIAL').Value;
end;
end;
end;
procedure TfrmCadastroPessoa.limparCampos();
begin
edtRazaoSocial.Text := '';
edtNomeFantasia.Text := '';
edtEmail.Text := '';
edtCEP.Text := '';
edtCidade.Text := '';
edtUF.Text := '';
edtEndereco.Text := '';
edtNumero.Text := '';
edtBairro.Text := '';
edtTelefone.Text := '';
edtCNPJ.Text := '';
edtInscricaoEstadual.Text := '';
cmbTipoFrete.ItemIndex := 0;
edtTransportadora.Text := '';
edtTransportadora2.Text := '';
edtRedespacho.Text := '';
edtRedespacho2.Text := '';
cmbTipoPagamento.ItemIndex := 0;
cmbCondicaoPagamento.ItemIndex := 0;
cmbRepresentante.ItemIndex := 0;
cmbTabelaPrecos.ItemIndex := 0;
cmbTipoCusto.ItemIndex := 0;
chkCliente.Checked := False;
chkFornecedor.Checked := False;
chkTransportador.Checked := False;
chkFuncionario.Checked := False;
chkRepresentante.Checked := False;
memoObservacoes.Text := '';
Label1.Visible := True;
Label2.Visible := True;
Label3.Visible := True;
Label4.Visible := True;
Label5.Visible := True;
Label6.Visible := True;
Label7.Visible := True;
Label8.Visible := True;
Label9.Visible := True;
Label10.Visible := True;
end;
procedure TfrmCadastroPessoa.atualizaSequencia();
begin
dmDados.QrySequencias.Close;
dmDados.QrySequencias.SQL.Clear;
dmDados.QrySequencias.SQL.Add('UPDATE TEC_SEQUENCIAS SET SEQUENCIAS_CODIGO = :ParSequencia ' +
'WHERE SEQUENCIAS_TABELA = ''CAD_PESSOA''');
dmDados.QrySequencias.Params.ParamByName('ParSequencia').Value := sequencia;
dmDados.QrySequencias.ExecSQL();
end;
procedure TfrmCadastroPessoa.gravaVariaveis();
begin
//TIPO DE PESSOA
if cmbTipoPessoa.ItemIndex = 0 then
begin
tipoPessoa := 'J';
end
else
tipoPessoa := 'F';
//SITUAÇÃO DO CADASTRO
if cmbSituacao.ItemIndex = 0 then
begin
situacaoCadastro := 'A';
end
else
situacaoCadastro := 'I';
//CLASSIFICAÇÃO CLIENTE
if chkCliente.Checked = True then
begin
classificacaoCliente := 'S';
end
else
classificacaoCliente := 'N';
//CLASSIFICAÇÃO FORNECEDOR
if chkFornecedor.Checked = True then
begin
classificacaoFornecedor := 'S';
end
else
classificacaoFornecedor := 'N';
//CLASSIFICAÇÃO TRANSPORTADOR
if chkTransportador.Checked = True then
begin
classificacaoTransportadora := 'S';
end
else
classificacaoTransportadora := 'N';
//CLASSIFICAÇÃO REPRESENTANTE
if chkRepresentante.Checked = True then
begin
classificacaoRepresentante := 'S';
end
else
classificacaoRepresentante := 'N';
//CLASSIFICAÇÃO FUNCIONÁRIO
if chkFuncionario.Checked = True then
begin
classificacaoFuncionario := 'S';
end
else
classificacaoFuncionario := 'N';
end;
procedure TfrmCadastroPessoa.verificaCampos();
begin
if (edtRazaoSocial.Text = '') or (edtNomeFantasia.Text = '') or (edtCEP.Text = '') or (edtEndereco.Text = '') or (edtNumero.Text = '') or (edtBairro.Text = '') or (edtTelefone.Text = '') or (edtCNPJ.Text = '') or (edtInscricaoEstadual.Text = '') then
Application.MessageBox('Complete os campos assinalados em vermelho!','Aviso do Sistema',mb_Ok+mb_IconExclamation);
assinalaCampos();
end;
procedure TfrmCadastroPessoa.assinalaCampos();
begin
//SETA QUE NÃO EXISTE NENHUM CAMPO OBRIGATÓRIO SEM PREENCHER
camposObrigatorios := 0;
if edtRazaoSocial.Text = '' then
begin
label10.Visible := True;
camposObrigatorios := 1;
end;
if edtNomeFantasia.Text = '' then
begin
label1.Visible := True;
camposObrigatorios := 1;
end;
if edtCEP.text = '' then
begin
label3.Visible := True;
camposObrigatorios := 1;
end;
if edtEndereco.Text = '' then
begin
label2.Visible := True;
camposObrigatorios := 1;
end;
if edtNumero.Text = '' then
begin
label4.Visible := True;
camposObrigatorios := 1;
end;
if edtBairro.Text = '' then
begin
label5.Visible := True;
camposObrigatorios := 1;
end;
if edtTelefone.Text = '' then
begin
label6.Visible := True;
camposObrigatorios := 1;
end;
if edtCNPJ.Text = '' then
begin
label7.Visible := True;
camposObrigatorios := 1;
end;
if edtInscricaoEstadual.Text = '' then
begin
label8.Visible := True;
camposObrigatorios := 1;
end;
//FIM
end;
procedure TfrmCadastroPessoa.localizaSequencia();
begin
dmDados.QrySequencias.Close;
dmDados.QrySequencias.SQL.Clear;
dmDados.QrySequencias.SQL.Add('SELECT SEQUENCIAS_CODIGO FROM TEC_SEQUENCIAS WHERE SEQUENCIAS_TABELA = ''CAD_PESSOA''');
dmDados.QrySequencias.Open;
sequencia := dmDados.QrySequencias.FieldByName('SEQUENCIAS_CODIGO').Value +1;
end;
end. |
|
|
Voltar ao Topo |
|
|
swbk Novato
Registrado: Terça-Feira, 6 de Janeiro de 2015 Mensagens: 27
|
Enviada: Qua Jan 21, 2015 10:19 am Assunto: |
|
|
Troque de metódo, FormKeyDown para FormKeyPress e ao invés de chamar o coloque
No evento do formulário OnClose coloque isso:
Código: | procedure TfrmCadastroPessoa.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end; |
No FormKeyPress adicione estes controles:
Código: | if (ActiveControl is TDBGrid) then Key := #0;
if Key = #13 then
if not (ActiveControl is TDBMemo) then
begin
Key := #0;
PostMessage(Handle, WM_NEXTDLGCTL, 0, 0);
end; |
|
|
Voltar ao Topo |
|
|
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|