Indicar baixa (era: Preciso de ajuda para terminar....)
Preciso terminar dessa maneira:
Estou terminando um projeto de Auto Escola, então coloquei estes campos:
para que quando a cnh chegue o usuário vai lá e seleciona o radiobox (CNHENTREGUE) e coloque os dados da cnh, fiz dessa maneira:
O erro é que ná hora que eu retorno os dados tudo ok, mas se eu efetuo outra consulta o usuário que não está com a cnh baixada ele aparece como baixado, Por exemplo o nome fica em vermelho!
Como posso resolver esse problema?
Estou terminando um projeto de Auto Escola, então coloquei estes campos:
CNHENTREGUE NUMERIC(1,0),
DTENTREGUE DATE,
AR VARCHAR(20),
REGISTRO NUMERIC(11,0),
VENC_CNH DATE,
CAT CHAR(2)
para que quando a cnh chegue o usuário vai lá e seleciona o radiobox (CNHENTREGUE) e coloque os dados da cnh, fiz dessa maneira:
procedure Tfrmalunos.RdbEntClick(Sender: TObject); begin inherited; If RdbEnt.Checked Then TxtNom.Font.Color:= clred; If RdbEnt.Checked Then TxtMat.Font.Color:= clred; end;
O erro é que ná hora que eu retorno os dados tudo ok, mas se eu efetuo outra consulta o usuário que não está com a cnh baixada ele aparece como baixado, Por exemplo o nome fica em vermelho!
Como posso resolver esse problema?
Robinhocne
Curtidas 0
Respostas
Jeimyson
23/10/2007
Preciso terminar dessa maneira:
Estou terminando um projeto de Auto Escola, então coloquei estes campos:
[quote:086538c25b]
CNHENTREGUE NUMERIC(1,0),
DTENTREGUE DATE,
AR VARCHAR(20),
REGISTRO NUMERIC(11,0),
VENC_CNH DATE,
CAT CHAR(2)
para que quando a cnh chegue o usuário vai lá e seleciona o radiobox (CNHENTREGUE) e coloque os dados da cnh, fiz dessa maneira:
procedure Tfrmalunos.RdbEntClick(Sender: TObject); begin inherited; If RdbEnt.Checked Then TxtNom.Font.Color:= clred; If RdbEnt.Checked Then TxtMat.Font.Color:= clred; end;
O erro é que ná hora que eu retorno os dados tudo ok, mas se eu efetuo outra consulta o usuário que não está com a cnh baixada ele aparece como baixado, Por exemplo o nome fica em vermelho!
Como posso resolver esse problema?[/quote:086538c25b]
Quando refizer a consulta verifique se a nova CNH consultada ja foi entregue, se nao foi faz o inverso do que ta fazendo, pinta de ´Black´.
8)
_________________________________________________________
[size=14:086538c25b][b:086538c25b]Jeimyson de O. Souza[/b:086538c25b][/size:086538c25b]
[size=10:086538c25b][color=blue:086538c25b]Analista e Desenvolvedor[/color:086538c25b][/size:086538c25b]
[size=10:086538c25b][color=darkred:086538c25b][i:086538c25b]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:086538c25b][/color:086538c25b][/size:086538c25b]
GOSTEI 0
Robinhocne
23/10/2007
Ok,
Eu uso esses dados para fazer as consultas:
E uma Procedure, para retornar os dados:
Eu fazeria isso Onde e como?
Mais uma questão que esqueci de citar, gostaria de que os alunos baixados na hora da consulta que mostra os alunos mostrasse o que esta baixado em vermelho como foi salvo!
Eu uso esses dados para fazer as consultas:
procedure Tfrmalunos.spbpesClick(Sender: TObject); begin with vcpo do begin clear; add (´Codigo´); add (´Nome´); add (´Cpf´); add (´Processo´); end; with vvlr do begin clear; add (´Codigo´); add (´Nome´); add (´Cpf´); add (´Processo´); end; with tfrmpesquisa.create (application) do begin try tabela := ´alunos´; camporetorno := ´codigo´; showmodal; finally free; end; end; if (retorno<> ´´) then begin inherited; LeRegistro(); TxtMat.Text := StrZero( StrToFloat( TxtMat.Text ), 6 ); ContaAulasCarro; ContaAulasMoto; RdbBaixa.Enabled := True; TxtDat.Enabled := False; TxtDtEnt.Enabled := False; TxtAr.Enabled := False; TxtReg.Enabled := False; TxtVen.Enabled := False; TxtCate.Enabled := False; end; end;
E uma Procedure, para retornar os dados:
procedure Tfrmalunos.leregistro; begin Consultaregistros(´Alunos´, ´Codigo, DtCadastro, Servicos, Categoria, Nome, Rg, Uf_Rg, Emissor,´ + ´Cpf, Cnh, Cnh_Cat, Dt_Nascimento, Naturalidade, Uf_Natu, Pai, Mae, Residencial,Telefone,´ + ´Celular,Contato, Cidade, Cep, Uf_Cid, Endereco, Numero, Bairro, Complemento,´ + ´Processo, Dt_Abe, Dt_Venc, Dt_Emi, Lic_Apren, Observacoes, CnhEntregue, DtEntregue, Ar,´ + ´Registro, Venc_Cnh, Cat´,´Codigo =´ + Retorno); TxtMat.text := Ledados (´Codigo´) ; TxtDat.Text := FormatDateTime (´dd/mm/yyyy´, LeDados (´DtCadastro´)); RdbHab.Checked := ( LeDados( ´Servicos´ ) = 1 ); RdBalt.Checked := ( LeDados( ´Servicos´ ) = 2 ); RdbRen.Checked := ( LeDados( ´Servicos´ ) = 3 ); TxtCth.Text := LeDados (´Categoria´); TxtNom.text := LeDados (´Nome´); TxtRg.text := LeDados (´Rg´); TxtUf2.text := LeDados (´Uf_Rg´); CboOrg.text := LeDados (´Emissor´); TxtCpf.Text := StrZero (LeDados (´Cpf´), 11); TxtCat.Text := LeDados (´Cnh´); TxtCat.Text := LeDados (´Cnh_Cat´); TxtNas.Text := FormatDateTime (´dd/mm/yyyy´, LeDados (´Dt_Nascimento´)); TxtNat.Text := LeDados (´Naturalidade´); TxtUf1.Text := LeDados (´Uf_Natu´); TxtPai.Text := LeDados (´Pai´); TxtMae.Text := LeDados (´Mae´); TxtRes.Text := LeDados (´Residencial´); TxtTel.Text := LeDados (´Telefone´); TxtCel.Text := LeDados (´Celular´); TxtCon.Text := LeDados (´Contato´); TxtCodCid.Text := LeDados (´Cidade´); TxtCep.Text := LeDados (´Cep´); TxtUf.text := LeDados (´Uf_Cid´); TxtEnd.Text := LeDados (´Endereco´); TxtNum.Text := LeDados (´Numero´); TxtBai.Text := LeDados (´Bairro´); TxtCom.Text := LeDados (´Complemento´); TxtProc.text := LeDados (´Processo´); TxtAbe.Text := FormatDateTime (´dd/mm/yyyy´, LeDados (´Dt_Abe´)); TxtVenc.Text := FormatDateTime (´dd/mm/yyyy´, LeDados (´Dt_Venc´)); TxtEmi.Text := FormatDateTime (´dd/mm/yyyy´, LeDados (´Dt_Emi´)); TxtLa.Text := LeDados (´Lic_Apren´); MemObs.Text := LeDados (´Observacoes´); RdbEnt.Checked := LeDados( ´CnhEntregue´ ); TxtDtEnt.Text := FormatDateTime (´dd/mm/yyyy´, LeDados (´DtEntregue´)); TxtAr.Text := LeDados (´Ar´); TxtReg.Text := LeDados (´Registro´); TxtVen.Text := FormatDateTime (´dd/mm/yyyy´, LeDados (´Venc_Cnh´)); TxtCate.Text := LeDados (´Cat´);
Eu fazeria isso Onde e como?
Mais uma questão que esqueci de citar, gostaria de que os alunos baixados na hora da consulta que mostra os alunos mostrasse o que esta baixado em vermelho como foi salvo!
GOSTEI 0
Jeimyson
23/10/2007
Brother...
A lógica é a seguinte:
Ao carregar os dados do ´Proprietario da CNH´ verifique se existe a carteira entregue na tabela que criou, se existir, vc ja carrega os dados em vermelho como fez. Caso nao exista, carregue como Preto.
Dai no evento click do Componente, você apenas trata se ele clicar em entregue muda pra vermelho, se clicar em nao entregue muda pra preto.
E ai quando gravar, ja grava com a ultima situação da carteira selecionada pelo usuario.
:D
________________________________________________________
[size=14:5fb8f94ebd][b:5fb8f94ebd]Jeimyson de O. Souza[/b:5fb8f94ebd][/size:5fb8f94ebd]
[size=10:5fb8f94ebd][color=blue:5fb8f94ebd]Analista e Desenvolvedor[/color:5fb8f94ebd][/size:5fb8f94ebd]
[size=10:5fb8f94ebd][color=darkred:5fb8f94ebd][i:5fb8f94ebd]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:5fb8f94ebd][/color:5fb8f94ebd][/size:5fb8f94ebd]
A lógica é a seguinte:
Ao carregar os dados do ´Proprietario da CNH´ verifique se existe a carteira entregue na tabela que criou, se existir, vc ja carrega os dados em vermelho como fez. Caso nao exista, carregue como Preto.
Dai no evento click do Componente, você apenas trata se ele clicar em entregue muda pra vermelho, se clicar em nao entregue muda pra preto.
E ai quando gravar, ja grava com a ultima situação da carteira selecionada pelo usuario.
:D
________________________________________________________
[size=14:5fb8f94ebd][b:5fb8f94ebd]Jeimyson de O. Souza[/b:5fb8f94ebd][/size:5fb8f94ebd]
[size=10:5fb8f94ebd][color=blue:5fb8f94ebd]Analista e Desenvolvedor[/color:5fb8f94ebd][/size:5fb8f94ebd]
[size=10:5fb8f94ebd][color=darkred:5fb8f94ebd][i:5fb8f94ebd]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:5fb8f94ebd][/color:5fb8f94ebd][/size:5fb8f94ebd]
GOSTEI 0
Robinhocne
23/10/2007
Ao carregar os dados do ´Proprietario da CNH´ verifique se existe a carteira entregue na tabela que criou
Eu não tenho uma tabela denominada para isso, apenas acrescentei na propria tabela de Alunos.
Por isso que para min tá sendo conplicado!
GOSTEI 0
Facc
23/10/2007
Amigo, bom dia
vc tem algum campo que ´diz´ que a CNH foi entregue? Caso tenha, qndo realizar a busca faça uma verificação se está marcado e pinta, caso contrario não...
vc tem algum campo que ´diz´ que a CNH foi entregue? Caso tenha, qndo realizar a busca faça uma verificação se está marcado e pinta, caso contrario não...
GOSTEI 0
Robinhocne
23/10/2007
Amigo, bom dia
vc tem algum campo que ´diz´ que a CNH foi entregue? Caso tenha, qndo realizar a busca faça uma verificação se está marcado e pinta, caso contrario não...
Tenho, eu uso um RadioBox, o nome do campo na tabela é CnhEntregue (1,0), então 1 = para baixado e 0 = para não baixado, fiz dessa maneira, mas como eu faço o resto:
procedure Tfrmalunos.RdbEntClick(Sender: TObject); begin inherited; If RdbEnt.Checked Then TxtNom.Font.Color:= clred; If RdbEnt.Checked Then TxtMat.Font.Color:= clred; end
GOSTEI 0
Jeimyson
23/10/2007
[quote:efe5e5b19f=´Facc´]Amigo, bom dia
vc tem algum campo que ´diz´ que a CNH foi entregue? Caso tenha, qndo realizar a busca faça uma verificação se está marcado e pinta, caso contrario não...
Tenho, eu uso um RadioBox, o nome do campo na tabela é CnhEntregue (1,0), então 1 = para baixado e 0 = para não baixado, fiz dessa maneira, mas como eu faço o resto:
procedure Tfrmalunos.RdbEntClick(Sender: TObject); begin inherited; If RdbEnt.Checked Then TxtNom.Font.Color:= clred; If RdbEnt.Checked Then TxtMat.Font.Color:= clred; end
Brother...
No evento On Click do seu RadioBox faz somente o seguinte:
procedure TForm1.RdbEntClick(Sender: TObject); begin inherited; if RdbEnt.Checked then begin TxtNom.Font.Color:= clred; TxtMat.Font.Color:= clred; end else begin TxtNom.Font.Color:= clBlack; TxtMat.Font.Color:= clBlack; end; end;
Dai onde vc carrega os dados do ´Proprietario da CNH´ vc faz o seguinte:
- Verifica se o campo <CnhEntregue> é igual a 1 (Baixado).
Se for,
RdbEnt.Checked := True;
RdbEnt.OnClick(Sender);
Se NÃO for
RdbEnt.Checked := False;
RdbEnt.OnClick(Sender);
Espero ter finalmente ajudado! 8)
_________________________________________________________
[size=14:efe5e5b19f][b:efe5e5b19f]Jeimyson de O. Souza[/b:efe5e5b19f][/size:efe5e5b19f]
[size=10:efe5e5b19f][color=blue:efe5e5b19f]Analista e Desenvolvedor[/color:efe5e5b19f][/size:efe5e5b19f]
[size=10:efe5e5b19f][color=darkred:efe5e5b19f][i:efe5e5b19f]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:efe5e5b19f][/color:efe5e5b19f][/size:efe5e5b19f]
GOSTEI 0
Robinhocne
23/10/2007
Cara amigo tentei colocar do jeito que você me sujeriou na carregagem dos dados, mas deu uns erros então estou lhe passando os dados que eu busco e carrego para você me ajudar melhor:
Esse é o RadioButton que eu uso:
[b:24bfd37f2b] RdbEnt.Checked := LeDados( ´CnhEntregue´ );[/b:24bfd37f2b]
Então no caso aqui que eu deveria verificar os dados atualizando
procedure Tfrmalunos.leregistro; begin Consultaregistros(´Alunos´, ´Codigo, DtCadastro, Servicos, Categoria, Nome, Rg, Uf_Rg, Emissor,´ + ´Cpf, Cnh, Cnh_Cat, Dt_Nascimento, Naturalidade, Uf_Natu, Pai, Mae, Residencial,Telefone,´ + ´Celular,Contato, Cidade, Cep, Uf_Cid, Endereco, Numero, Bairro, Complemento,´ + ´Processo, Dt_Abe, Dt_Venc, Dt_Emi, Lic_Apren, Observacoes, CnhEntregue, DtEntregue, Ar,´ + ´Registro, Venc_Cnh, Cat´,´Codigo =´ + Retorno); TxtMat.text := Ledados (´Codigo´) ; TxtDat.Text := FormatDateTime (´dd/mm/yyyy´, LeDados (´DtCadastro´)); RdbHab.Checked := ( LeDados( ´Servicos´ ) = 1 ); RdBalt.Checked := ( LeDados( ´Servicos´ ) = 2 ); RdbRen.Checked := ( LeDados( ´Servicos´ ) = 3 ); TxtCth.Text := LeDados (´Categoria´); TxtNom.text := LeDados (´Nome´); TxtRg.text := LeDados (´Rg´); TxtUf2.text := LeDados (´Uf_Rg´); CboOrg.text := LeDados (´Emissor´); TxtCpf.Text := StrZero (LeDados (´Cpf´), 11); TxtCat.Text := LeDados (´Cnh´); TxtCat.Text := LeDados (´Cnh_Cat´); TxtNas.Text := FormatDateTime (´dd/mm/yyyy´, LeDados (´Dt_Nascimento´)); TxtNat.Text := LeDados (´Naturalidade´); TxtUf1.Text := LeDados (´Uf_Natu´); TxtPai.Text := LeDados (´Pai´); TxtMae.Text := LeDados (´Mae´); TxtRes.Text := LeDados (´Residencial´); TxtTel.Text := LeDados (´Telefone´); TxtCel.Text := LeDados (´Celular´); TxtCon.Text := LeDados (´Contato´); TxtCodCid.Text := LeDados (´Cidade´); TxtCep.Text := LeDados (´Cep´); TxtUf.text := LeDados (´Uf_Cid´); TxtEnd.Text := LeDados (´Endereco´); TxtNum.Text := LeDados (´Numero´); TxtBai.Text := LeDados (´Bairro´); TxtCom.Text := LeDados (´Complemento´); TxtProc.text := LeDados (´Processo´); TxtAbe.Text := FormatDateTime (´dd/mm/yyyy´, LeDados (´Dt_Abe´)); TxtVenc.Text := FormatDateTime (´dd/mm/yyyy´, LeDados (´Dt_Venc´)); TxtEmi.Text := FormatDateTime (´dd/mm/yyyy´, LeDados (´Dt_Emi´)); TxtLa.Text := LeDados (´Lic_Apren´); MemObs.Text := LeDados (´Observacoes´); RdbEnt.Checked := LeDados( ´CnhEntregue´ ); TxtDtEnt.Text := FormatDateTime (´dd/mm/yyyy´, LeDados (´DtEntregue´)); TxtAr.Text := LeDados (´Ar´); TxtReg.Text := LeDados (´Registro´); TxtVen.Text := FormatDateTime (´dd/mm/yyyy´, LeDados (´Venc_Cnh´)); TxtCate.Text := LeDados (´Cat´);
Esse é o RadioButton que eu uso:
[b:24bfd37f2b] RdbEnt.Checked := LeDados( ´CnhEntregue´ );[/b:24bfd37f2b]
Então no caso aqui que eu deveria verificar os dados atualizando
GOSTEI 0
Jeimyson
23/10/2007
Isso brother...
Só nao se esqueça de implementar o evento On Click do RdbEnt conforme citado acima.
8)
__
[size=14:a3f751412c][b:a3f751412c]Jeimyson de O. Souza[/b:a3f751412c][/size:a3f751412c]
[size=10:a3f751412c][color=blue:a3f751412c]Analista e Desenvolvedor[/color:a3f751412c][/size:a3f751412c]
[size=10:a3f751412c][color=darkred:a3f751412c][i:a3f751412c]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:a3f751412c][/color:a3f751412c][/size:a3f751412c]
if LeDados( ´CnhEntregue´ ) = 1 then begin RdbEnt.Checked := True; RdbEnt.OnClick(Sender); end else begin RdbEnt.Checked := False; RdbEnt.OnClick(Sender); end;
Só nao se esqueça de implementar o evento On Click do RdbEnt conforme citado acima.
8)
__
[size=14:a3f751412c][b:a3f751412c]Jeimyson de O. Souza[/b:a3f751412c][/size:a3f751412c]
[size=10:a3f751412c][color=blue:a3f751412c]Analista e Desenvolvedor[/color:a3f751412c][/size:a3f751412c]
[size=10:a3f751412c][color=darkred:a3f751412c][i:a3f751412c]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:a3f751412c][/color:a3f751412c][/size:a3f751412c]
GOSTEI 0
Robinhocne
23/10/2007
Isso brother...
Só nao se esqueça de implementar o evento On Click do RdbEnt conforme citado acima.
8)
__
[size=14:4ab788f3d1][b:4ab788f3d1]Jeimyson de O. Souza[/b:4ab788f3d1][/size:4ab788f3d1]
[size=10:4ab788f3d1][color=blue:4ab788f3d1]Analista e Desenvolvedor[/color:4ab788f3d1][/size:4ab788f3d1]
[size=10:4ab788f3d1][color=darkred:4ab788f3d1][i:4ab788f3d1]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:4ab788f3d1][/color:4ab788f3d1][/size:4ab788f3d1]
if LeDados( ´CnhEntregue´ ) = 1 then begin RdbEnt.Checked := True; RdbEnt.OnClick(Sender); end else begin RdbEnt.Checked := False; RdbEnt.OnClick(Sender); end;
Cara deu esse erro aqui no Sender:
Undeclared Identifier :´Sender´
GOSTEI 0
Jeimyson
23/10/2007
if LeDados( ´CnhEntregue´ ) = 1 then begin RdbEnt.Checked := True; RdbEnt.OnClick(Nil); end else begin RdbEnt.Checked := False; RdbEnt.OnClick(Nil); end;
8)
__
[size=14:fe83da93df][b:fe83da93df]Jeimyson de O. Souza[/b:fe83da93df][/size:fe83da93df]
[size=10:fe83da93df][color=blue:fe83da93df]Analista e Desenvolvedor[/color:fe83da93df][/size:fe83da93df]
[size=10:fe83da93df][color=darkred:fe83da93df][i:fe83da93df]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:fe83da93df][/color:fe83da93df][/size:fe83da93df]
Cara deu esse erro aqui no Sender:
Undeclared Identifier :´Sender´
GOSTEI 0
Robinhocne
23/10/2007
Valeu cara deu tudo certo muito obrigado pela ajuda.
Resolvido
Resolvido
GOSTEI 0
Robinhocne
23/10/2007
Valeu cara deu tudo certo muito obrigado pela ajuda.
Resolvido
Ops, outro tema em cima dessa argumento, até aki ok, mas eu gostaria que na hora de eu fazer a pesquisa dos alunos já aparecesse no grid que eu vizualizo os alunos, aqueles que estejam baixados aparecerem o nome dele em vermelho no grid,
Tem como fazer desse tipo também?
Esses são os dados que eu uso no formulário de pesquisa:
procedure Tfrmpesquisa.efetuaconsulta; var instrucaosql:string; a:integer; begin indice := rboidx.ItemIndex; instrucaosql:= ´select ´; for a:= 0 to vcpo.count -1 do begin instrucaosql := instrucaosql+vcpo[a]+´, ´; end; instrucaosql:= copy (instrucaosql,1,length(instrucaosql) -2); instrucaosql:= instrucaosql + ´ from ´ + tabela + ´ order by ´ + vcpo[rboidx.itemindex]; with dtmiza.qryiza do begin close; sql.Clear; sql.add (instrucaosql); open; end; txtloc.text := ´´; txtloc.setfocus; end; procedure Tfrmpesquisa.txtlocChange(Sender: TObject); begin if (length (trim(txtloc.Text))=0) then begin dtspes.dataset.First; end; if (dtspes.dataset.Fields[indice].datatype=ftstring) then begin dtspes.DataSet.Locate(dtspes.DataSet.fields[indice].fieldname,txtloc.Text,[lopartialkey, locaseinsensitive]); end else if (((dtspes.dataset.Fields[indice].datatype=ftdatetime) or (dtspes.DataSet.Fields[indice].datatype=ftdate)) and edata(txtloc.Text)) then begin dtspes.dataset.Locate(dtspes.DataSet.Fields[indice].FieldName,strtodate(txtloc.Text),[locaseinsensitive]); end else begin if (enumero(txtloc.Text)) then begin dtspes.DataSet.Locate(dtspes.DataSet.Fields[indice].FieldName,strtofloat(txtloc.Text),[locaseinsensitive]); end; end; end; procedure Tfrmpesquisa.dbgpesDblClick(Sender: TObject); begin retorno := dtmiza.qryiza.fieldvalues [camporetorno]; close; end; procedure Tfrmpesquisa.FormShow(Sender: TObject); begin with rboidx do begin items.assign (vvlr); itemindex :=0; end; end; procedure Tfrmpesquisa.spbfecClick(Sender: TObject); begin LimpaCampos; close; end; procedure Tfrmpesquisa.rboidxClick(Sender: TObject); begin efetuaconsulta(); end; procedure Tfrmpesquisa.SpbOkClick(Sender: TObject); begin retorno := dtmiza.qryiza.fieldvalues [camporetorno]; close; end;
GOSTEI 0
Jeimyson
23/10/2007
Mesma lógica brother...
Trate no evento DrawDataCell da Grid.
8)
__
[size=14:be3e910f95][b:be3e910f95]Jeimyson de O. Souza[/b:be3e910f95][/size:be3e910f95]
[size=10:be3e910f95][color=blue:be3e910f95]Analista e Desenvolvedor[/color:be3e910f95][/size:be3e910f95]
[size=10:be3e910f95][color=darkred:be3e910f95][i:be3e910f95]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:be3e910f95][/color:be3e910f95][/size:be3e910f95]
Trate no evento DrawDataCell da Grid.
if LeDados( ´CnhEntregue´ ) = 1 then grid.font.color := clRed else grid.font.color := clBlack;
8)
__
[size=14:be3e910f95][b:be3e910f95]Jeimyson de O. Souza[/b:be3e910f95][/size:be3e910f95]
[size=10:be3e910f95][color=blue:be3e910f95]Analista e Desenvolvedor[/color:be3e910f95][/size:be3e910f95]
[size=10:be3e910f95][color=darkred:be3e910f95][i:be3e910f95]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:be3e910f95][/color:be3e910f95][/size:be3e910f95]
GOSTEI 0
Robinhocne
23/10/2007
Mesma lógica brother...
Trate no evento DrawDataCell da Grid.
8)
__
[size=14:b440a12ef7][b:b440a12ef7]Jeimyson de O. Souza[/b:b440a12ef7][/size:b440a12ef7]
[size=10:b440a12ef7][color=blue:b440a12ef7]Analista e Desenvolvedor[/color:b440a12ef7][/size:b440a12ef7]
[size=10:b440a12ef7][color=darkred:b440a12ef7][i:b440a12ef7]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:b440a12ef7][/color:b440a12ef7][/size:b440a12ef7]
if LeDados( ´CnhEntregue´ ) = 1 then grid.font.color := clRed else grid.font.color := clBlack;
Fiz dessa maneira, que você me passou:
procedure Tfrmpesquisa.dbgpesDrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); begin if LeDados( ´CnhEntregue´ ) = 1 then DbgPes.font.color := clRed else DbgPes.font.color := clBlack; end;
Mas ai dá erro na minha Query que eu faço ligação com o meu banco de dados, pois só fasso ligação por uma query!
Dá esse erro:
[b:b440a12ef7]QryIza:Field ´CnhEntregue´ not found.[/b:b440a12ef7]
GOSTEI 0
Jeimyson
23/10/2007
Brother..
O código foi só um exemplo.
No lugar de ´LeDados( ´CnhEntregue´ )´ você tem que colocar o field da Query que esta ligada ao DBGrid.
8)
__
[size=14:67b65030cb][b:67b65030cb]Jeimyson de O. Souza[/b:67b65030cb][/size:67b65030cb]
[size=10:67b65030cb][color=blue:67b65030cb]Analista e Desenvolvedor[/color:67b65030cb][/size:67b65030cb]
[size=10:67b65030cb][color=darkred:67b65030cb][i:67b65030cb]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:67b65030cb][/color:67b65030cb][/size:67b65030cb]
O código foi só um exemplo.
No lugar de ´LeDados( ´CnhEntregue´ )´ você tem que colocar o field da Query que esta ligada ao DBGrid.
8)
__
[size=14:67b65030cb][b:67b65030cb]Jeimyson de O. Souza[/b:67b65030cb][/size:67b65030cb]
[size=10:67b65030cb][color=blue:67b65030cb]Analista e Desenvolvedor[/color:67b65030cb][/size:67b65030cb]
[size=10:67b65030cb][color=darkred:67b65030cb][i:67b65030cb]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:67b65030cb][/color:67b65030cb][/size:67b65030cb]
GOSTEI 0
Robinhocne
23/10/2007
Amigo eu sou novo em programação se você podesse me ajudar e detalhar melhor para eu entender eu agradeceria muito!
O nome do meu banco de dados é DtmIza.
Os componentes que faz ligações são:
QryIza(IbQuery)
TraIza(IbTransaction)
DbaIza(IbDataBase)
O nome do meu banco de dados é DtmIza.
Os componentes que faz ligações são:
QryIza(IbQuery)
TraIza(IbTransaction)
DbaIza(IbDataBase)
GOSTEI 0
Jeimyson
23/10/2007
Amigo eu sou novo em programação se você podesse me ajudar e detalhar melhor para eu entender eu agradeceria muito!
O nome do meu banco de dados é DtmIza.
Os componentes que faz ligações são:
QryIza(IbQuery)
TraIza(IbTransaction)
DbaIza(IbDataBase)
Relaxa Brother... todo mundo ja foi iniciante um dia, eu sou ini ate hoje..rsrsrs
Vc tem que ter esse campo ´CnhEntregue´ na QryIza(IbQuery) que alimenta a sua grid.
Dai la naquele evento da grid vc faz a verificação no campo.
8)
__
[size=14:bd9d049e3d][b:bd9d049e3d]Jeimyson de O. Souza[/b:bd9d049e3d][/size:bd9d049e3d]
[size=10:bd9d049e3d][color=blue:bd9d049e3d]Analista e Desenvolvedor[/color:bd9d049e3d][/size:bd9d049e3d]
[size=10:bd9d049e3d][color=darkred:bd9d049e3d][i:bd9d049e3d]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:bd9d049e3d][/color:bd9d049e3d][/size:bd9d049e3d]
GOSTEI 0
Robinhocne
23/10/2007
[quote:740ac631dd=´robinhocne´]Amigo eu sou novo em programação se você podesse me ajudar e detalhar melhor para eu entender eu agradeceria muito!
O nome do meu banco de dados é DtmIza.
Os componentes que faz ligações são:
QryIza(IbQuery)
TraIza(IbTransaction)
DbaIza(IbDataBase)
Relaxa Brother... todo mundo ja foi iniciante um dia, eu sou ini ate hoje..rsrsrs
Vc tem que ter esse campo ´CnhEntregue´ na QryIza(IbQuery) que alimenta a sua grid.
Dai la naquele evento da grid vc faz a verificação no campo.
8)
__
[size=14:740ac631dd][b:740ac631dd]Jeimyson de O. Souza[/b:740ac631dd][/size:740ac631dd]
[size=10:740ac631dd][color=blue:740ac631dd]Analista e Desenvolvedor[/color:740ac631dd][/size:740ac631dd]
[size=10:740ac631dd][color=darkred:740ac631dd][i:740ac631dd]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:740ac631dd][/color:740ac631dd][/size:740ac631dd][/quote:740ac631dd]
Ok, eu tenho esse campo mas é na tabela de alunos que já a QryIza busca, mas o meus dados de pesquisa é em outro formulário proprio ai na hora da consulta eu chamo ele!
Mas como colocarei na minha query?
Me exemplifique!
GOSTEI 0
Robinhocne
23/10/2007
Rs?
GOSTEI 0
Jeimyson
23/10/2007
Brother...
Você tem um DataSet (Qr) ligado a grid certo?
Nessa query você tem um select, certo?
Neste mesmo select você tem que trazer do banco as informações do campo ´CnhEntregue´.
Exemplo:
[b:ba2e875d37]Hoje [/b:ba2e875d37]
[b:ba2e875d37]Alterar[/b:ba2e875d37]
Sacou?
Depois que você tiver a informação desse campo, conseguirá tratar na grid qual linha pintará de vermelho ou não.
8)
__
[size=14:ba2e875d37][b:ba2e875d37]Jeimyson de O. Souza[/b:ba2e875d37][/size:ba2e875d37]
[size=10:ba2e875d37][color=blue:ba2e875d37]Analista e Desenvolvedor[/color:ba2e875d37][/size:ba2e875d37]
[size=10:ba2e875d37][color=darkred:ba2e875d37][i:ba2e875d37]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:ba2e875d37][/color:ba2e875d37][/size:ba2e875d37]
Você tem um DataSet (Qr) ligado a grid certo?
Nessa query você tem um select, certo?
Neste mesmo select você tem que trazer do banco as informações do campo ´CnhEntregue´.
Exemplo:
[b:ba2e875d37]Hoje [/b:ba2e875d37]
[ SELECT CODIGO_ALUNO, NOME_ALUNO FROM TBALUNOS ]
[b:ba2e875d37]Alterar[/b:ba2e875d37]
[ SELECT CODIGO_ALUNO, NOME_ALUNO, CnhEntregue FROM TBALUNOS ]
Sacou?
Depois que você tiver a informação desse campo, conseguirá tratar na grid qual linha pintará de vermelho ou não.
8)
__
[size=14:ba2e875d37][b:ba2e875d37]Jeimyson de O. Souza[/b:ba2e875d37][/size:ba2e875d37]
[size=10:ba2e875d37][color=blue:ba2e875d37]Analista e Desenvolvedor[/color:ba2e875d37][/size:ba2e875d37]
[size=10:ba2e875d37][color=darkred:ba2e875d37][i:ba2e875d37]´Só erra quem é capaz de fazer, pois o sucesso chega para quem ousou tentar!´[/i:ba2e875d37][/color:ba2e875d37][/size:ba2e875d37]
GOSTEI 0
Robinhocne
23/10/2007
[url]http://www.4shared.com/file/27407186/f0468423/Teste2.html[/url]
Dê uma olhada!
Ai vai ser mais facil.
Dê uma olhada!
Ai vai ser mais facil.
GOSTEI 0
Robinhocne
23/10/2007
Preciso de ajuda para concluir!
GOSTEI 0
Robinhocne
23/10/2007
Fiz dessa maneira no formulário de pesquisa.
Fiz um procedimento:
e no OnDblClick:
Mas ainda não deu nada, alguém poderia me ajudar?
Fiz um procedimento:
procedure Tfrmpesquisa.ConsultaBaixa; begin With DtmIza.QryCnh do Begin Close; Sql.Clear; Sql.Add (´Select Codigo, Nome, CnhEntregue From Alunos´); Open; end; end;
e no OnDblClick:
ConsultaBaixa;
Mas ainda não deu nada, alguém poderia me ajudar?
GOSTEI 0
Robinhocne
23/10/2007
Fiz assim,
E ai deu tudo certo mas o grid ele fica tipo carregado e fica meio piscando de leve e eu não consiguo clicar na linha do grid, alguém poderia me ajudar?
procedure Tfrmpesquisa.dbgpesDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if (DtmIza.qryiza.State <> dsInsert) and (DtmIza.qryiza.Fieldbyname(´CnhEntregue´).AsInteger = 1 ) then dbgpes.font.Color := clRed else dbgpes.font.Color := clblack; dbgpes.DefaultDrawDataCell(Rect,Column.Field,State);// desenha as células da grade end;
E ai deu tudo certo mas o grid ele fica tipo carregado e fica meio piscando de leve e eu não consiguo clicar na linha do grid, alguém poderia me ajudar?
GOSTEI 0
Robinhocne
23/10/2007
Fiz assim e deu certo, ok resolvido.....
procedure Tfrmpesquisa.dbgpesDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if trim(DtmIza.QryIza.FieldByName(´CnhEntregue´).AsString) = ´1´ then
DbgPes.Canvas.Font.Color:= clblue
else
DbgPes.Canvas.Font.Color := clblack;
DbgPes.DefaultDrawDataCell(Rect, DbgPes.Columns[DataCol].Field, State);
end;
procedure Tfrmpesquisa.dbgpesDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if trim(DtmIza.QryIza.FieldByName(´CnhEntregue´).AsString) = ´1´ then
DbgPes.Canvas.Font.Color:= clblue
else
DbgPes.Canvas.Font.Color := clblack;
DbgPes.DefaultDrawDataCell(Rect, DbgPes.Columns[DataCol].Field, State);
end;
GOSTEI 0