Indicar baixa (era: Preciso de ajuda para terminar....)

Delphi

23/10/2007

Preciso terminar dessa maneira:
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

Robinhocne

Curtidas 0

Respostas

Jeimyson

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

Robinhocne

23/10/2007

Ok,

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

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]


GOSTEI 0
Robinhocne

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

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...


GOSTEI 0
Robinhocne

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

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
[/quote:efe5e5b19f]

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

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:

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

Jeimyson

23/10/2007

Isso brother...

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

Robinhocne

23/10/2007

Isso brother...
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: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]



Cara deu esse erro aqui no Sender:

Undeclared Identifier :´Sender´


GOSTEI 0
Jeimyson

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

Robinhocne

23/10/2007

Valeu cara deu tudo certo muito obrigado pela ajuda.

Resolvido


GOSTEI 0
Robinhocne

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

Jeimyson

23/10/2007

Mesma lógica brother...

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

Robinhocne

23/10/2007

Mesma lógica brother... Trate no evento DrawDataCell da Grid.
if LeDados( ´CnhEntregue´ ) = 1 then
   grid.font.color := clRed
else
   grid.font.color := clBlack;
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]




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

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]



GOSTEI 0
Robinhocne

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)


GOSTEI 0
Jeimyson

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

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

Robinhocne

23/10/2007

Rs?


GOSTEI 0
Jeimyson

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]
[ 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

Robinhocne

23/10/2007

[url]http://www.4shared.com/file/27407186/f0468423/Teste2.html[/url]

Dê uma olhada!
Ai vai ser mais facil.


GOSTEI 0
Robinhocne

Robinhocne

23/10/2007

Preciso de ajuda para concluir!


GOSTEI 0
Robinhocne

Robinhocne

23/10/2007

Fiz dessa maneira no formulário de pesquisa.


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

Robinhocne

23/10/2007

Fiz assim,

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

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;


GOSTEI 0
POSTAR