Fórum SHOWMODAL ZICADO NÃO ACHO SOLUÇÃO #530014
27/08/2015
0
If KEY = #47 THEN
FrmPesquisaCadCidades := TFrmPesquisaCadCidades.Create(Application);
try
FrmPesquisaCadCidades.ShowModal;
finally
FrmPesquisaCadCidades.Free;
end;
If KEY = #47 THEN
Key:=#0;
end;
FrmPesquisaCadCidades.ShowModal;
Bruno Henrique
Curtir tópico
+ 0Posts
27/08/2015
Bruno Henrique
Gostei + 0
28/08/2015
Bruno Henrique
Gostei + 0
28/08/2015
Bruno Henrique
Gostei + 0
28/08/2015
Raimundo Pereira
If KEY = #47 THEN
Application.CreateForm(tFrmPesquisaCadCidades,FrmPesquisaCadCidades);
try
FrmPesquisaCadCidades.ShowModal;
FrmPesquisaCadCidades.Destroy;
finally
FrmPesquisaCadCidades.Free;
end;
If KEY = #47 THEN
Key:=#0;
end;
Aguardo seu retorno .
Gostei + 0
28/08/2015
Bruno Henrique
Continua com o mesmo erro!!! Agora mostra no .destroy se eu tiro mostra no .showmodal; O que pode fazer?
Gostei + 0
28/08/2015
Raimundo Pereira
Declare
Uses upesquisacadcidade;
No form FrmPesquisaCadCidade
Declare
Uses Seu form Pai
EXEMPLO
Form1_Vendas
Form2_FrmPesquisaCadCidade
---------------------------------------------------------
No Form1_Vendas
declare
Uses UPesquisaCadCidade
----------------------------------------------------------
---------------------------------------------------------
Form2_FrmPesquisaCadCidade
declare
Uses UVendas;
----------------------------------------------------------
Chamando o FORM-FrmPesquisaCadCidades
if key= vk_f2 then
begin
Application.CreateForm(TFrmPesquisaCadCidades,FrmPesquisaCadCidades);
try
FrmPesquisaCadCidades.ShowModal;
FrmPesquisaCadCidades.Destroy;
finally
FrmPesquisaCadCidades.Free;
end;
end;
Funcionou normalmente. veja a img
[img]http://arquivo.devmedia.com.br/forum/imagem/437747-20150828-102910.jpg[/img]
Se não funcionar precisarei coloque seu código:
Gostei + 0
28/08/2015
Bruno Henrique
Código do form FrmCadCidades -> aonde eu trago as informações do dbgrid
unit UCadClientes;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Mask, StdCtrls, DateUtils, MaskUtils, Buttons, ExtCtrls, DBXpress, DB, SqlExpr, FMTBcd,
Provider, DBClient;
type
TFrmCadClientes = class(TForm)
Label1: TLabel;
EdtCodigo: TEdit;
Label2: TLabel;
EdtSituacao: TEdit;
Label45: TLabel;
Label46: TLabel;
Label47: TLabel;
Label48: TLabel;
Label49: TLabel;
Label50: TLabel;
Label51: TLabel;
Label52: TLabel;
Label3: TLabel;
MskDataCadastro: TMaskEdit;
Label4: TLabel;
MskUltimaAlteracao: TMaskEdit;
Label5: TLabel;
EdtOperadorCodigo: TEdit;
EdtOperadorNome: TEdit;
Label6: TLabel;
EdtNomeRazao: TEdit;
Label7: TLabel;
EdtFantasiaApelido: TEdit;
Label8: TLabel;
EdtCidadeCodigo: TEdit;
EdtCidadeNome: TEdit;
Label9: TLabel;
EdtEstado: TEdit;
MskCep: TMaskEdit;
Label10: TLabel;
Label11: TLabel;
EdtEndereco: TEdit;
Label12: TLabel;
EdtNumero: TEdit;
Label13: TLabel;
EdtBairroCodigo: TEdit;
EdtBairroNome: TEdit;
Label14: TLabel;
EdtComplemento: TEdit;
Label15: TLabel;
EdtRg: TEdit;
Label16: TLabel;
EdtCnpjCpfCodigo: TEdit;
Label19: TLabel;
Label17: TLabel;
EdtInscricaoEstadual: TEdit;
Label18: TLabel;
EdtInscricaoMunicipalProdutor: TEdit;
Label20: TLabel;
MskTelefone1: TMaskEdit;
Label21: TLabel;
MskTelefone2: TMaskEdit;
Label22: TLabel;
Label23: TLabel;
EdtEmail: TEdit;
Label24: TLabel;
EdtContato: TEdit;
MskCelular: TMaskEdit;
Panel1: TPanel;
BtnIncluir: TButton;
BtnGravar: TButton;
BtnAlterar: TButton;
BtnCancelar: TButton;
BtnPesquisar: TButton;
BtnSair: TButton;
SqlDtSCadClientes: TSQLDataSet;
MskDataNascimento: TMaskEdit;
MemoObservacoes: TMemo;
Label25: TLabel;
MskCnpjCpf: TMaskEdit;
DspCadClientes: TDataSetProvider;
CdsCadClientes: TClientDataSet;
DsCadClientes: TDataSource;
BtnExcluir: TButton;
QueryCadClientes: TSQLQuery;
procedure BtnSairClick(Sender: TObject);
procedure MskDataCadastroExit(Sender: TObject);
procedure MskUltimaAlteracaoExit(Sender: TObject);
procedure MskDataNascimentoExit(Sender: TObject);
procedure EdtCnpjCpfCodigoExit(Sender: TObject);
procedure EdtCnpjCpfCodigoKeyPress(Sender: TObject; var Key: Char);
procedure BtnIncluirClick(Sender: TObject);
procedure MemoObservacoesKeyPress(Sender: TObject; var Key: Char);
procedure BtnPesquisarClick(Sender: TObject);
procedure LimpaCampos;
procedure DesabilitarEdit;
procedure DesabilitarMascara;
procedure DesabilitarMemo;
procedure HabilitarEdit;
procedure HabilitarMascara;
procedure HabilitarMemo;
procedure BtnCancelarClick(Sender: TObject);
procedure BtnAlterarClick(Sender: TObject);
procedure BtnExcluirClick(Sender: TObject);
procedure BtnGravarClick(Sender: TObject);
procedure EdtBairroCodigoKeyPress(Sender: TObject; var Key: Char);
procedure EdtBairroCodigoExit(Sender: TObject);
procedure EdtCidadeCodigoExit(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure EdtCidadeCodigoKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmCadClientes: TFrmCadClientes;
Transacao: TTransactionDesc;
f_operacao : char;
pesquisar: Boolean;
status: String;
implementation
uses UPrincipal, UPesquisaCadClientes, UPesquisaCadLoteamentos,
UPesquisaCadCidades, UCadCidades;
{$R *.dfm}
//Limpa todos os EDITS do form
procedure TFrmCadClientes.LimpaCampos;
var i:Integer;
begin
for i:=0 To (ComponentCount - 1) do
If Components[i] Is TCustomEdit Then (Components[i] As TCustomEdit).Clear;
end;
//Desabilita todos os EDITS do form
procedure TFrmCadClientes.DesabilitarEdit;
var cont:integer;
begin
for cont := 0 To ComponentCount -1 do
begin
If Components[cont] Is TEdit Then
TEdit(Components[Cont]).Enabled :=False;
end;
end;
//Desabilita todos as MASCARAS do form
procedure TFrmCadClientes.DesabilitarMascara;
var cont:integer;
begin
for cont := 0 To ComponentCount -1 Do
begin
If Components[cont] Is TMaskEdit Then
TMaskEdit(Components[Cont]).Enabled :=False;
end;
end;
//Desabilita todos os MEMOS do form
procedure TFrmCadClientes.DesabilitarMemo;
var cont:integer;
begin
for cont := 0 To ComponentCount -1 Do
begin
If Components[cont] Is TMemo Then
TMemo(Components[Cont]).Enabled :=False;
end;
end;
//HABILITA todos os EDITS do form
procedure TFrmCadClientes.HabilitarEdit;
var cont:integer;
begin
for cont := 0 To ComponentCount -1 Do
begin
If Components[cont] Is TEdit Then
TEdit(Components[Cont]).Enabled :=True;
end;
end;
//HABILITA todos as MASCARAS do form
procedure TFrmCadClientes.HabilitarMascara;
var cont:integer;
begin
for cont := 0 To ComponentCount -1 Do
begin
If Components[cont] Is TMaskEdit Then
TMaskEdit(Components[Cont]).Enabled :=True;
end;
end;
//HABILITA todos os MEMOS do form
procedure TFrmCadClientes.HabilitarMemo;
var cont:integer;
begin
for cont := 0 To ComponentCount -1 Do
begin
If Components[cont] Is TMemo Then
TMemo(Components[Cont]).Enabled :=True;
end;
end;
procedure TFrmCadClientes.BtnSairClick(Sender: TObject);
begin
Close;
end;
procedure TFrmCadClientes.MskDataCadastroExit(Sender: TObject);
begin
MskDataCadastro.Text := FormatMaskText('99/99/9999;1',MskDataCadastro.text);
end;
procedure TFrmCadClientes.MskUltimaAlteracaoExit(Sender: TObject);
begin
MskUltimaAlteracao.Text := FormatMaskText('99/99/9999;1',MskUltimaAlteracao.text);
end;
procedure TFrmCadClientes.MskDataNascimentoExit(Sender: TObject);
VAR data : TDate;
begin
if BtnCancelar.focused then
exit;
try
data := StrToDate(MskDataNascimento.Text);
except
begin
MessageDlg('Data Incorreta.Verifique!!!',mtInformation,[mbOk],0);
MskDataNascimento.SelectAll;
MskDataNascimento.SetFocus;
Abort;
end;
end;
if StrToDate(MskDataNascimento.Text) > now then
begin
MessageDlg('Data Inserida Maior Que a Data Atual.Verifique!!!',mtInformation,[mbOk],0);
MskDataNascimento.SetFocus ;
end;
MskDataNascimento.Text := FormatMaskText('99/99/9999;1',MskDataNascimento.text);
end;
procedure TFrmCadClientes.EdtCnpjCpfCodigoExit(Sender: TObject);
begin
if EdtCnpjCpfCodigo.text = '1' then
MskCnpjCpf.EditMask:= '000.000.000\-99;1;_'
else
if EdtCnpjCpfCodigo.Text = '2' then
MskCnpjCpf.EditMask:= '000\.000\.000/0000\-99;1;_';
end;
procedure TFrmCadClientes.EdtCnpjCpfCodigoKeyPress(Sender: TObject;
var Key: Char);
begin
if EdtCnpjCpfCodigo.text = '1' then
MskCnpjCpf.EditMask:= '000.000.000\-99;1;_'
else
if EdtCnpjCpfCodigo.Text = '2' then
MskCnpjCpf.EditMask:= '00\.000\.000/0000\-99;1;_';
end;
procedure TFrmCadClientes.BtnIncluirClick(Sender: TObject);
begin
status:= 'N';
//Habilita os EDITS, MASCARA, MEMOS ao clicar no botão INCLUIR
HabilitarEdit;
HabilitarMascara;
HabilitarMemo;
//Coloca o foco no EDITS
EdtSituacao.SetFocus;
//Coloca automaticamente as datas atual no form
MskDataCadastro.Text := DateToStr(Date);
MskUltimaAlteracao.Text := DateToStr(Date);
//Habilita os BOTOES ao clicar no botão INCLUIR
BtnIncluir.Enabled := false;
BtnGravar.Enabled := true;
BtnCancelar.Enabled := true;
BtnPesquisar.Enabled := false;
BtnSair.Enabled := false;
//Incrementa automaticamente o EDIT do codigo
with SqlDtSCadClientes do
begin
SqlDtSCadClientes.Close;
SqlDtSCadClientes.CommandText := 'SELECT MAX(CODIGO)+1 AS COD FROM CADCLIENTES';
SqlDtSCadClientes.Open;
EdtCodigo.Text := IntToStr(SqlDtSCadClientes.FieldByName('COD').AsInteger);
end;
end;
procedure TFrmCadClientes.MemoObservacoesKeyPress(Sender: TObject;
var Key: Char);
begin
inherited;
Key := AnsiUpperCase(Key)[Length(Key)];
end;
procedure TFrmCadClientes.BtnPesquisarClick(Sender: TObject);
begin
FrmPesquisaCadClientes := TFrmPesquisaCadClientes.Create(Application);
FrmPesquisaCadClientes.ShowModal;
BtnExcluir.Enabled:=true;
BtnGravar.Enabled:=false;
if pesquisar then
BtnAlterar.Enabled:=true
else
BtnAlterar.Enabled:=false;
end;
procedure TFrmCadClientes.BtnCancelarClick(Sender: TObject);
begin
//Desabilita todos os EDITS, MASCARAS, MEMOS ao clicar no botão cancelar
DesabilitarEdit;
DesabilitarMascara;
DesabilitarMemo;
//Desabilita todos os BOTOES ao clicar no botão cancelar
BtnIncluir.Enabled := true;
BtnPesquisar.Enabled := true;
BtnGravar.Enabled := false;
BtnCancelar.Enabled := false;
BtnSair.Enabled := true;
LimpaCampos;
end;
procedure TFrmCadClientes.BtnAlterarClick(Sender: TObject);
begin
status:= 'E';
//Pega data atual para colocar na alteração
MskUltimaAlteracao.Text := DateToStr(Date);
//Habilita todos os EDITS do form na no clic do botao alterar
HabilitarEdit;
HabilitarMascara;
HabilitarMemo;
//Habilita todos os BOTOES do form na no clic do botao alterar
BtnAlterar.Enabled := False;
BtnIncluir.Enabled := False;
BtnPesquisar.Enabled := False;
BtnCancelar.Enabled := True;
BtnExcluir.Enabled := False;
BtnGravar.Enabled := True;
BtnSair.Enabled := False;
//Coloca o foco na EDIT principal
EdtSituacao.SetFocus;
end;
procedure TFrmCadClientes.BtnExcluirClick(Sender: TObject);
begin
try
Transacao.TransactionID := 1;
Transacao.IsolationLevel := xilREPEATABLEREAD;
FrmPrincipal.ConexaoBd.StartTransaction(Transacao);
SqlDtSCadClientes.Close;
SqlDtSCadClientes.CommandType := ctQuery;
SqlDtSCadClientes.CommandText := 'delete from CADCLIENTES where CODIGO =:CODIGO';
SqlDtSCadClientes.ParamByName('CODIGO').AsInteger := StrToInt(EdtCodigo.Text);
SqlDtSCadClientes.ExecSQL;
FrmPrincipal.ConexaoBd.Commit(Transacao);
CdsCadClientes.Close;
CdsCadClientes.Open;
except
on Exc:Exception do
begin
ShowMessage('Ocorreu um erro na tentativa de exclusão do registro: ' + Exc.Message);
FrmPrincipal.ConexaoBd.Rollback(Transacao);
end;
end;
LimpaCampos;
BtnExcluir.Enabled := False;
end;
procedure TFrmCadClientes.BtnGravarClick(Sender: TObject);
begin
if status = 'N' then
begin
try
Transacao.TransactionID := 1;
Transacao.IsolationLevel := xilREPEATABLEREAD;
FrmPrincipal.ConexaoBd.StartTransaction(Transacao);
SqlDtSCadClientes.Close;
SqlDtSCadClientes.CommandType := ctQuery;
SqlDtSCadClientes.CommandText:='insert into CADCLIENTES(CODIGO, SITUACAO, DATACADASTRO, ULTIMAALTERACAO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'OPERADORCODIGO, OPERADORNOME, NOMERAZAO, FANTASIAAPELIDO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'CIDADECODIGO, CIDADENOME, ESTADO, CEP, ENDERECO, NUMERO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'BAIRROCODIGO, BAIRRONOME, COMPLEMENTO, RG, CNPJCPFCODIGO, CNPJCPF, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'DATANASCIMENTO, INSCRICAOESTADUAL, INSCRICAOMUNICIPALPRODUTOR, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'EMAIL, CONTATO, TELEFONE1, TELEFONE2, CELULAR, OBSERVACOES)';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'values(:CODIGO, :SITUACAO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+':DATACADASTRO, :ULTIMAALTERACAO, :OPERADORCODIGO, :OPERADORNOME, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+':NOMERAZAO, :FANTASIAAPELIDO, :CIDADECODIGO, :CIDADENOME, :ESTADO, :CEP, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+':ENDERECO, :NUMERO, :BAIRROCODIGO, :BAIRRONOME, :COMPLEMENTO, :RG, :CNPJCPFCODIGO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+':CNPJCPF, :DATANASCIMENTO, :INSCRICAOESTADUAL, :INSCRICAOMUNICIPALPRODUTOR, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+':EMAIL, :CONTATO, :TELEFONE1, :TELEFONE2, :CELULAR, :OBSERVACOES)';
SqlDtSCadClientes.ParamByName('CODIGO').AsInteger := StrToInt(EdtCodigo.Text);
SqlDtSCadClientes.ParamByName('SITUACAO').AsString := EdtSituacao.Text;
SqlDtSCadClientes.ParamByName('DATACADASTRO').AsDate := StrToDate(MskDataCadastro.Text);
SqlDtSCadClientes.ParamByName('ULTIMAALTERACAO').AsDate:= StrToDate(MskUltimaAlteracao.Text);
SqlDtSCadClientes.ParamByName('OPERADORCODIGO').AsInteger := StrToInt(EdtOperadorCodigo.Text);
SqlDtSCadClientes.ParamByName('OPERADORNOME').AsString := EdtOperadorNome.Text;
SqlDtSCadClientes.ParamByName('NOMERAZAO').AsString := EdtNomeRazao.Text;
SqlDtSCadClientes.ParamByName('FANTASIAAPELIDO').AsString := EdtFantasiaApelido.Text;
SqlDtSCadClientes.ParamByName('CIDADECODIGO').AsInteger := StrToInt(EdtCidadeCodigo.Text);
SqlDtSCadClientes.ParamByName('CIDADENOME').AsString := EdtCidadeNome.Text;
SqlDtSCadClientes.ParamByName('ESTADO').AsString := EdtEstado.Text;
SqlDtSCadClientes.ParamByName('CEP').AsString := MskCep.Text;
SqlDtSCadClientes.ParamByName('ENDERECO').AsString := EdtEndereco.Text;
SqlDtSCadClientes.ParamByName('NUMERO').AsString := EdtNumero.Text;
SqlDtSCadClientes.ParamByName('BAIRROCODIGO').AsInteger := StrToInt(EdtBairroCodigo.Text);
SqlDtSCadClientes.ParamByName('BAIRRONOME').AsString := EdtBairroNome.Text;
SqlDtSCadClientes.ParamByName('COMPLEMENTO').AsString := EdtComplemento.Text;
SqlDtSCadClientes.ParamByName('RG').AsString := EdtRg.Text;
SqlDtSCadClientes.ParamByName('CNPJCPFCODIGO').AsInteger := StrToInt(EdtCnpjCpfCodigo.Text);
SqlDtSCadClientes.ParamByName('CNPJCPF').AsString := MskCnpjCpf.Text;
SqlDtSCadClientes.ParamByName('DATANASCIMENTO').AsDate := StrToDate(MskDataNascimento.Text);
SqlDtSCadClientes.ParamByName('INSCRICAOESTADUAL').AsString := EdtInscricaoEstadual.Text;
SqlDtSCadClientes.ParamByName('INSCRICAOMUNICIPALPRODUTOR').AsString := EdtInscricaoMunicipalProdutor.Text;
SqlDtSCadClientes.ParamByName('EMAIL').AsString := EdtEmail.Text;
SqlDtSCadClientes.ParamByName('CONTATO').AsString := EdtContato.Text;
SqlDtSCadClientes.ParamByName('TELEFONE1').AsString := MskTelefone1.Text;
SqlDtSCadClientes.ParamByName('TELEFONE2').AsString := MskTelefone2.Text;
SqlDtSCadClientes.ParamByName('CELULAR').AsString := MskCelular.Text;
SqlDtSCadClientes.ParamByName('OBSERVACOES').AsMemo := MemoObservacoes.Lines.Text;
SqlDtSCadClientes.ExecSQL;
FrmPrincipal.ConexaoBd.Commit(Transacao);
CdsCadClientes.Close;
CdsCadClientes.Open;
except
on E : Exception do
begin
ShowMessage('Ocorreu um erro na tentativa de inclusão do registro: ' + E.Message);
FrmPrincipal.ConexaoBd.Rollback(Transacao);
end;
end;
//Desabilita os EDITS, MASCARAS, MEMOS E LIMPA todos os EDITS após a gravacao
DesabilitarEdit;
DesabilitarMascara;
DesabilitarMemo;
LimpaCampos;
//Desabilita dos os botoes do form
BtnPesquisar.Enabled := true;
BtnIncluir.Enabled := true;
BtnSair.Enabled := true;
BtnAlterar.Enabled:=false;
BtnGravar.Enabled:=false;
BtnCancelar.Enabled:=false;
end;
if status = 'E' then
begin
try
Transacao.TransactionID := 1;
Transacao.IsolationLevel := xilREPEATABLEREAD;
FrmPrincipal.ConexaoBd.StartTransaction(Transacao);
SqlDtSCadClientes.Close;
SqlDtSCadClientes.CommandType := ctQuery;
SqlDtSCadClientes.CommandText:='UPDATE CADCLIENTES SET ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'CODIGO=:CODIGO, SITUACAO=:SITUACAO, DATACADASTRO=:DATACADASTRO, ULTIMAALTERACAO=:ULTIMAALTERACAO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'OPERADORCODIGO=:OPERADORCODIGO, OPERADORNOME=:OPERADORNOME, NOMERAZAO=:NOMERAZAO, FANTASIAAPELIDO=:FANTASIAAPELIDO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'CIDADECODIGO=:CIDADECODIGO, CIDADENOME=:CIDADENOME, ESTADO=:ESTADO, CEP=:CEP, ENDERECO=:ENDERECO, NUMERO=:NUMERO, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'BAIRROCODIGO=:BAIRROCODIGO, BAIRRONOME=:BAIRRONOME, COMPLEMENTO=:COMPLEMENTO, RG=:RG, CNPJCPFCODIGO=:CNPJCPFCODIGO, CNPJCPF=:CNPJCPF, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'DATANASCIMENTO=:DATANASCIMENTO, INSCRICAOESTADUAL=:INSCRICAOESTADUAL, INSCRICAOMUNICIPALPRODUTOR=:INSCRICAOMUNICIPALPRODUTOR, ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'EMAIL=:EMAIL, CONTATO=:CONTATO, TELEFONE1=:TELEFONE1, TELEFONE2=:TELEFONE2, CELULAR=:CELULAR, OBSERVACOES=:OBSERVACOES ';
SqlDtSCadClientes.CommandText:=SqlDtSCadClientes.CommandText+'Where CODIGO=:CODIGO';
SqlDtSCadClientes.ParamByName('CODIGO').AsInteger := StrToInt(EdtCodigo.Text);
SqlDtSCadClientes.ParamByName('SITUACAO').AsString := EdtSituacao.Text;
SqlDtSCadClientes.ParamByName('DATACADASTRO').AsDate := StrToDate(MskDataCadastro.Text);
SqlDtSCadClientes.ParamByName('ULTIMAALTERACAO').AsDate:= StrToDate(MskUltimaAlteracao.Text);
SqlDtSCadClientes.ParamByName('OPERADORCODIGO').AsInteger := StrToInt(EdtOperadorCodigo.Text);
SqlDtSCadClientes.ParamByName('OPERADORNOME').AsString := EdtOperadorNome.Text;
SqlDtSCadClientes.ParamByName('NOMERAZAO').AsString := EdtNomeRazao.Text;
SqlDtSCadClientes.ParamByName('FANTASIAAPELIDO').AsString := EdtFantasiaApelido.Text;
SqlDtSCadClientes.ParamByName('CIDADECODIGO').AsInteger := StrToInt(EdtCidadeCodigo.Text);
SqlDtSCadClientes.ParamByName('CIDADENOME').AsString := EdtCidadeNome.Text;
SqlDtSCadClientes.ParamByName('ESTADO').AsString := EdtEstado.Text;
SqlDtSCadClientes.ParamByName('CEP').AsString := MskCep.Text;
SqlDtSCadClientes.ParamByName('ENDERECO').AsString := EdtEndereco.Text;
SqlDtSCadClientes.ParamByName('NUMERO').AsString := EdtNumero.Text;
SqlDtSCadClientes.ParamByName('BAIRROCODIGO').AsInteger := StrToInt(EdtBairroCodigo.Text);
SqlDtSCadClientes.ParamByName('BAIRRONOME').AsString := EdtBairroNome.Text;
SqlDtSCadClientes.ParamByName('COMPLEMENTO').AsString := EdtComplemento.Text;
SqlDtSCadClientes.ParamByName('RG').AsString := EdtRg.Text;
SqlDtSCadClientes.ParamByName('CNPJCPFCODIGO').AsInteger := StrToInt(EdtCnpjCpfCodigo.Text);
SqlDtSCadClientes.ParamByName('CNPJCPF').AsString := MskCnpjCpf.Text;
SqlDtSCadClientes.ParamByName('DATANASCIMENTO').AsDate := StrToDate(MskDataNascimento.Text);
SqlDtSCadClientes.ParamByName('INSCRICAOESTADUAL').AsString := EdtInscricaoEstadual.Text;
SqlDtSCadClientes.ParamByName('INSCRICAOMUNICIPALPRODUTOR').AsString := EdtInscricaoMunicipalProdutor.Text;
SqlDtSCadClientes.ParamByName('EMAIL').AsString := EdtEmail.Text;
SqlDtSCadClientes.ParamByName('CONTATO').AsString := EdtContato.Text;
SqlDtSCadClientes.ParamByName('TELEFONE1').AsString := MskTelefone1.Text;
SqlDtSCadClientes.ParamByName('TELEFONE2').AsString := MskTelefone2.Text;
SqlDtSCadClientes.ParamByName('CELULAR').AsString := MskCelular.Text;
SqlDtSCadClientes.ParamByName('OBSERVACOES').AsMemo := MemoObservacoes.Lines.Text;
SqlDtSCadClientes.ExecSQL;
FrmPrincipal.ConexaoBd.Commit(Transacao);
CdsCadClientes.Close;
CdsCadClientes.Open;
except
on E : Exception do
begin
ShowMessage('Ocorreu um erro na tentativa de inclusão do registro: ' + E.Message);
FrmPrincipal.ConexaoBd.Rollback(Transacao);
end;
end;
//Desabilita os EDITS, MASCARAS, MEMOS E LIMPA todos os EDITS após a gravacao
DesabilitarEdit;
DesabilitarMascara;
DesabilitarMemo;
LimpaCampos;
//Desabilita dos os botoes do form
BtnPesquisar.Enabled := true;
BtnIncluir.Enabled := true;
BtnSair.Enabled := true;
BtnAlterar.Enabled:=false;
BtnGravar.Enabled:=false;
BtnCancelar.Enabled:=false;
end;
end;
procedure TFrmCadClientes.EdtBairroCodigoKeyPress(Sender: TObject;
var Key: Char);
begin
If KEY = #47 THEN
FrmPesquisaCadLoteamentos := TFrmPesquisaCadLoteamentos.Create(Application);
FrmPesquisaCadLoteamentos.ShowModal;
If KEY = #47 THEN
Key:=#0;
end;
procedure TFrmCadClientes.EdtBairroCodigoExit(Sender: TObject);
begin
//PESQUISA Cidades
if EdtBairroCodigo.Text<>'' then
begin
QueryCadClientes.Close;
QueryCadClientes.SQL.Clear;
if length(trim(EdtBairroCodigo.Text))<=9
Then QueryCadClientes.SQL.Add('SELECT * FROM CadLOTEAMENTOS WHERE CODIGOLOTEAMENTO=:CODIGOLOTEAMENTO');
QueryCadClientes.Params.ParamByName('CODIGOLOTEAMENTO').Value:=EdtBairroCodigo.Text;
QueryCadClientes.Open;
if not QueryCadClientes.IsEmpty then
begin
EdtBairroCodigo.Text:=QueryCadClientes.FieldByName('CODIGOLOTEAMENTO').AsString;
EdtBairroNome.Text:=QueryCadClientes.FieldByName('LOTEAMENTONOME').AsString;
end
else
begin
MessageDlg('Cidade Não Localizada.Verifique!!!',mtInformation,[mbOk],0);
EdtBairroCodigo.SetFocus;
end;
end;
end;
procedure TFrmCadClientes.EdtCidadeCodigoExit(Sender: TObject);
begin
//PESQUISA Cidades
if EdtCidadeCodigo.Text<>'' then
begin
QueryCadClientes.Close;
QueryCadClientes.SQL.Clear;
if length(trim(EdtCidadeCodigo.Text))<=9 Then
QueryCadClientes.SQL.Add('SELECT * FROM CADCIDADES WHERE CODIGOCIDADE=:CODIGOCIDADE');
QueryCadClientes.Params.ParamByName('CODIGOCIDADE').Value:=EdtCidadeCodigo.Text;
QueryCadClientes.Open;
if not QueryCadClientes.IsEmpty then
begin
EdtCidadeCodigo.Text:=QueryCadClientes.FieldByName('CODIGOCIDADE').AsString;
EdtCidadeNome.Text:=QueryCadClientes.FieldByName('NOMECIDADE').AsString;
EdtEstado.Text:=QueryCadClientes.FieldByName('ESTADOCIDADE').AsString;
MskCep.Text:=QueryCadClientes.FieldByName('CEPCIDADE').AsString;
end
else
begin
MessageDlg('Cidade Não Localizada.Verifique!!!',mtInformation,[mbOk],0);
EdtBairroCodigo.SetFocus;
end;
end;
end;
procedure TFrmCadClientes.FormCreate(Sender: TObject);
begin
//Desabilitas os EDITS, MASCARAS, MEMOS do form na hora do show
DesabilitarEdit;
DesabilitarMascara;
DesabilitarMemo;
//Desabilitas os os BOTOES do form na hora do show
BtnGravar.Enabled := false;
BtnAlterar.Enabled := false;
BtnExcluir.Enabled := false;
BtnCancelar.Enabled := false;
end;
procedure TFrmCadClientes.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
FrmCadClientes:= nil;
end;
procedure TFrmCadClientes.EdtCidadeCodigoKeyPress(Sender: TObject;
var Key: Char);
begin
If KEY = #47 THEN
Application.CreateForm(TFrmPesquisaCadCidades,FrmPesquisaCadCidades);
try
FrmPesquisaCadCidades.ShowModal;
FrmPesquisaCadCidades.Destroy;
finally
FrmPesquisaCadCidades.Free;
end;
If KEY = #47 THEN
Key:=#0;
end;
end.Código do FrmPesquisaCadCidade - é o form que contem as informações no Dbgrid
unit UPesquisaCadCidades;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, StdCtrls, FMTBcd, DB, DBClient,
Provider, SqlExpr;
type
TFrmPesquisaCadCidades = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
DbgPesquisaCadCidade: TDBGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
EdtPesquisaCodigoCidade: TEdit;
EdtPesquisaNomeCidade: TEdit;
Label4: TLabel;
EdtPesquisaEstadoCidade: TEdit;
EdtPesquisaCepCidade: TEdit;
Label5: TLabel;
SQLDataSet1: TSQLDataSet;
DataSetProvider1: TDataSetProvider;
ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
SQLQuery1: TSQLQuery;
procedure DbgPesquisaCadCidadeDblClick(Sender: TObject);
procedure DbgPesquisaCadCidadeKeyPress(Sender: TObject; var Key: Char);
procedure EdtPesquisaCodigoCidadeChange(Sender: TObject);
procedure EdtPesquisaNomeCidadeChange(Sender: TObject);
procedure EdtPesquisaEstadoCidadeChange(Sender: TObject);
procedure EdtPesquisaCepCidadeChange(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmPesquisaCadCidades: TFrmPesquisaCadCidades;
implementation
uses UCadCidades, UCadClientes, UCadLoteamentos;
{$R *.dfm}
procedure TFrmPesquisaCadCidades.DbgPesquisaCadCidadeDblClick(
Sender: TObject);
begin
pesquisarcidade:=true;
FrmCadCidades.DesabilitarEdit;
FrmCadCidades.EdtCodigoCidade.Text:=DbgPesquisaCadCidade.Columns[0].Field.AsString;
FrmCadCidades.EdtNomeCidade.Text:=DbgPesquisaCadCidade.Columns[1].Field.AsString;
FrmCadCidades.EdtEstadoCidade.Text:=DbgPesquisaCadCidade.Columns[2].Field.AsString;
FrmCadCidades.EdtSiglaUfCidade.Text:=DbgPesquisaCadCidade.Columns[3].Field.AsString;
FrmCadCidades.EdtCodigoEstadoCidade.Text:=DbgPesquisaCadCidade.Columns[4].Field.AsString;
FrmCadCidades.MskCepCidade.Text:=DbgPesquisaCadCidade.Columns[5].Field.AsString;
FrmCadCidades.EdtCodigoIbgeCidade.Text:=DbgPesquisaCadCidade.Columns[6].Field.AsString;
//LEVA ESSAS INFORMAÇÕES PARA O FRMCADCLIENTES AONDE INFORMA NO EDIT DA CIDADE
FrmCadClientes.EdtCidadeCodigo.Text:=DbgPesquisaCadCidade.Columns[0].Field.AsString;
FrmCadClientes.EdtCidadeNome.Text:=DbgPesquisaCadCidade.Columns[1].Field.AsString;
FrmCadClientes.EdtEstado.Text:=DbgPesquisaCadCidade.Columns[2].Field.AsString;
FrmCadClientes.MskCep.Text:=DbgPesquisaCadCidade.Columns[5].Field.AsString;
f_operacao:='A';
FrmPesquisaCadCidades.Close;
end;
procedure TFrmPesquisaCadCidades.DbgPesquisaCadCidadeKeyPress(
Sender: TObject; var Key: Char);
begin
pesquisarcidade:=true;
FrmCadCidades.DesabilitarEdit;
FrmCadCidades.EdtCodigoCidade.Text:=DbgPesquisaCadCidade.Columns[0].Field.AsString;
FrmCadCidades.EdtNomeCidade.Text:=DbgPesquisaCadCidade.Columns[1].Field.AsString;
FrmCadCidades.EdtEstadoCidade.Text:=DbgPesquisaCadCidade.Columns[2].Field.AsString;
FrmCadCidades.EdtSiglaUfCidade.Text:=DbgPesquisaCadCidade.Columns[3].Field.AsString;
FrmCadCidades.EdtCodigoEstadoCidade.Text:=DbgPesquisaCadCidade.Columns[4].Field.AsString;
FrmCadCidades.MskCepCidade.Text:=DbgPesquisaCadCidade.Columns[5].Field.AsString;
FrmCadCidades.EdtCodigoIbgeCidade.Text:=DbgPesquisaCadCidade.Columns[6].Field.AsString;
//LEVA ESSAS INFORMAÇÕES PARA O FRMCADCLIENTES AONDE INFORMA NO EDIT DA CIDADE
FrmCadClientes.EdtCidadeCodigo.Text:=DbgPesquisaCadCidade.Columns[0].Field.AsString;
FrmCadClientes.EdtCidadeNome.Text:=DbgPesquisaCadCidade.Columns[1].Field.AsString;
FrmCadClientes.EdtEstado.Text:=DbgPesquisaCadCidade.Columns[2].Field.AsString;
FrmCadClientes.MskCep.Text:=DbgPesquisaCadCidade.Columns[5].Field.AsString;
f_operacao:='A';
FrmPesquisaCadCidades.Close;
end;
procedure TFrmPesquisaCadCidades.EdtPesquisaCodigoCidadeChange(
Sender: TObject);
begin
with FrmCadCidades.CdsCadCidades do
begin
Close;
CommandText:='SELECT * FROM CADCIDADES WHERE CODIGOCIDADE LIKE'+ QuotedStr(EdtPesquisaCodigoCidade.Text+'%');
Open;
end;
end;
procedure TFrmPesquisaCadCidades.EdtPesquisaNomeCidadeChange(
Sender: TObject);
begin
with FrmCadCidades.CdsCadCidades do
begin
Close;
CommandText:='SELECT * FROM CADCIDADES WHERE NOMECIDADE LIKE'+ QuotedStr(EdtPesquisaNomeCidade.Text+'%');
Open;
end;
end;
procedure TFrmPesquisaCadCidades.EdtPesquisaEstadoCidadeChange(
Sender: TObject);
begin
with FrmCadCidades.CdsCadCidades do
begin
Close;
CommandText:='SELECT * FROM CADCIDADES WHERE ESTADOCIDADE LIKE'+ QuotedStr(EdtPesquisaEstadoCidade.Text+'%');
Open;
end;
end;
procedure TFrmPesquisaCadCidades.EdtPesquisaCepCidadeChange(
Sender: TObject);
begin
with FrmCadCidades.CdsCadCidades do
begin
Close;
CommandText:='SELECT * FROM CADCIDADES WHERE CEPCIDADE LIKE'+ QuotedStr(EdtPesquisaCepCidade.Text+'%');
Open;
end;
end;
procedure TFrmPesquisaCadCidades.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
//Action:=caFree;
//FrmPesquisaCadCidades:= nil;
//FrmPesquisaCadCidades.Release;
end;
end.
[img:descricao=Aonde dá o erro de Access Violation]http://arquivo.devmedia.com.br/forum/imagem/316964-20150828-105425.jpg[/img]
[img:descricao=Mensagem do Erro Ao Dar 2 Cliques em Cima da Linha do DbGrid Para Trazer Para O Form FrmCadClientes]http://arquivo.devmedia.com.br/forum/imagem/316964-20150828-105516.jpg[/img]
[img:descricao=Continuação do Erro]http://arquivo.devmedia.com.br/forum/imagem/316964-20150828-105552.jpg[/img]
[img:descricao=Continuação do Erro]http://arquivo.devmedia.com.br/forum/imagem/316964-20150828-105608.jpg[/img]
[img:descricao=Form Que eu Chamo o FrmPesquisaCadCidades]http://arquivo.devmedia.com.br/forum/imagem/316964-20150828-105737.jpg[/img]
Gostei + 0
28/08/2015
Raimundo Pereira
Debug a aplicação e veja em qual linha está dando erro.
Use o F8 para ir debugando por linha
[img]http://arquivo.devmedia.com.br/forum/imagem/437747-20150828-114449.jpg[/img]
Gostei + 0
28/08/2015
Bruno Henrique
Debuguei aqui!!!
Está dando erro no ondbclick da dbgrid nessa parte do código
procedure TFrmPesquisaCadCidades.DbgPesquisaCadCidadeDblClick( Sender: TObject); begin pesquisarcidade:=true; FrmCadCidades.DesabilitarEdit; FrmCadCidades.EdtCodigoCidade.Text:=DbgPesquisaCadCidade.Columns[0].Field.AsString; FrmCadCidades.EdtNomeCidade.Text:=DbgPesquisaCadCidade.Columns[1].Field.AsString; FrmCadCidades.EdtEstadoCidade.Text:=DbgPesquisaCadCidade.Columns[2].Field.AsString; FrmCadCidades.EdtSiglaUfCidade.Text:=DbgPesquisaCadCidade.Columns[3].Field.AsString; FrmCadCidades.EdtCodigoEstadoCidade.Text:=DbgPesquisaCadCidade.Columns[4].Field.AsString; FrmCadCidades.MskCepCidade.Text:=DbgPesquisaCadCidade.Columns[5].Field.AsString; FrmCadCidades.EdtCodigoIbgeCidade.Text:=DbgPesquisaCadCidade.Columns[6].Field.AsString; //LEVA ESSAS INFORMAÇÕES PARA O FRMCADCLIENTES AONDE INFORMA NO EDIT DA CIDADE FrmCadClientes.EdtCidadeCodigo.Text:=DbgPesquisaCadCidade.Columns[0].Field.AsString; FrmCadClientes.EdtCidadeNome.Text:=DbgPesquisaCadCidade.Columns[1].Field.AsString; FrmCadClientes.EdtEstado.Text:=DbgPesquisaCadCidade.Columns[2].Field.AsString; FrmCadClientes.MskCep.Text:=DbgPesquisaCadCidade.Columns[5].Field.AsString;
Gostei + 0
28/08/2015
Raimundo Pereira
e veja Da linha 5 a 19 em qual dessas ocorrerá o erro .
No aguardo.
Gostei + 0
28/08/2015
Bruno Henrique
Acho que ele ñ esta achando os for ms já que ñ esta no auto create
Gostei + 0
28/08/2015
Raimundo Pereira
procedure TFrmPesquisaCadCidades.DbgPesquisaCadCidadeDblClick(
Sender: TObject);
begin
Application.CreateForm(TFrmPesquisaCadCidades,FrmPesquisaCadCidades);
pesquisarcidade:=true;
FrmCadCidades.DesabilitarEdit;
FrmCadCidades.EdtCodigoCidade.Text:=DbgPesquisaCadCidade.Columns[0].Field.AsString;
FrmCadCidades.EdtNomeCidade.Text:=DbgPesquisaCadCidade.Columns[1].Field.AsString;
FrmCadCidades.EdtEstadoCidade.Text:=DbgPesquisaCadCidade.Columns[2].Field.AsString;
FrmCadCidades.EdtSiglaUfCidade.Text:=DbgPesquisaCadCidade.Columns[3].Field.AsString;
FrmCadCidades.EdtCodigoEstadoCidade.Text:=DbgPesquisaCadCidade.Columns[4].Field.AsString;
FrmCadCidades.MskCepCidade.Text:=DbgPesquisaCadCidade.Columns[5].Field.AsString;
FrmCadCidades.EdtCodigoIbgeCidade.Text:=DbgPesquisaCadCidade.Columns[6].Field.AsString;
//LEVA ESSAS INFORMAÇÕES PARA O FRMCADCLIENTES AONDE INFORMA NO EDIT DA CIDADE
FrmCadClientes.EdtCidadeCodigo.Text:=DbgPesquisaCadCidade.Columns[0].Field.AsString;
FrmCadClientes.EdtCidadeNome.Text:=DbgPesquisaCadCidade.Columns[1].Field.AsString;
FrmCadClientes.EdtEstado.Text:=DbgPesquisaCadCidade.Columns[2].Field.AsString;
FrmCadClientes.MskCep.Text:=DbgPesquisaCadCidade.Columns[5].Field.AsString;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)