Ir para conteúdo
Fórum Script Brasil

Lazaruz

Membros
  • Total de itens

    41
  • Registro em

  • Última visita

Sobre Lazaruz

Lazaruz's Achievements

0

Reputação

  1. Olá Jhonas, não , eu não tenho nada assignado neste DBGrid aliaz nem o editor de campos dele não estou usando. Ele carrega default da ZQry com DataSource. Detalhe isso acontece a partir de uns 15 registros. Menos que isso não acontece.
  2. Olá !! alguém saberia de como inibir esta oscilação quando o DBGRID carrega. Isto acontece quando faço Query.open, e agente ve ele carregando e tremendo todinho . É horrivel.. Ao final ele apresenta normalmente os dados. Uso Lazaruz e no Delphi deve ser parecido.
  3. Olá Jhonas. É o mesmo do post anterior: De qualquer forma e qualquer modelo de procedimento que testei esbarra sempre neste detalhe desta constante de cor ou outra qualquer: procedure Tform1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); BEGIN if (Column.Field.FieldName = 'campovalor') then begin if (Dtm.ZQuery1.FieldByName('campoValor').Value < 0) then begin DBGrid1.Canvas.Font.Color:= clRed; end else DBGrid1.Canvas.Font.Color:= clWindowText; DBGrid1.Canvas.FillRect(Rect); DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; END;
  4. Já li todos as dicas. Agradeço. Ate usei uma delas mas o problema parece outro que nunca vi antes: Não compila com estes erros: Error: Incompatible type for arg no. 1: Got "Constant String", expected "TGraphicsColor" Error: identifier idents no member "DefaultDrawDataCell" Error: identifier idents no member "DefaultDrawDataCell" Uso é com Lazarus 2.0.8.
  5. Olá!! Estou usando esta rotina para tentar pintar valores negativos no DBgrid do Lazarus que deve ser parecido com com Delphi, mas estou recebendo um erro no valor de canvas: DBGrid1.Canvas.Font.Color:= clRed; O Lazarus não reconhece a constante clRed procedure Tform1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); BEGIN if (Column.Field.FieldName = 'campovalor') then begin if (Dtm.ZQuery1.FieldByName('campoValor').Value < 0) then begin DBGrid1.Canvas.Font.Color:= clRed; end else DBGrid1.Canvas.Font.Color:= clWindowText; DBGrid1.Canvas.FillRect(Rect); DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; END; ERRO: form1.pas Error: Identifier not found "clRed" alguém poderia me auxiliar por gentileza?! grato.
  6. Sim sempre. Já instalei desinstalei várias vezes inclusive na versão anterior que eu usava. O delphi tambem é assim, mas deve haver uma maneira de inibir isto .... não?
  7. Olá , Já procurei bastante mas não encontro nada que me ajude a desconfigurar essa ação que o Lazarus tem de toda vez que vou abrir meu projeto ele abre um novo projeto que eu nem pedi. Isto esta incomodando bastante. O que achei é como colocar ele para abrir o último projeto , mas não serveria. alguém sabe disto?
  8. Desculpe, Jhonas voce fez referencia ao Ricardo. Testei a solução do parceiro e acabei adotando a opção simples do próprio Lazarus conforme já descrito. OBS. No PC desenvolvedor deve estar nas configurações padrões de video inclusive aquele item que trata tamanho de letra 100%,125% etc. No meu caso estava 125% e não dava certo quando eu levava o executável produzido para o lap-top. Com este ajuste funcionou normal e o executável ajusta certinho quando eu executo no lap -top.
  9. gradeço novamente Jhonas. Acabei conseguindo instalar o Lazarus 2.0.8 + Zeos 7.2.6. Confirmo aqui que são compatíveis e funcionais. Uma questão de compatibilidade de tamanho de forms que resolvi com a versão Las2.0.8, e reportei no post relativo. Agora vai...!!!
  10. Olá , Ricardo agradeço a ajuda. Neste meio tempo estive tetando em outro modo mais simples que o Lazarus proporciona, mas vou registrar aqui os seu esforços e guardar para um hora que meus teste não surtirem efeito desejado. Consegui trocar o Lazarus 1.6 para 2.0.8 e este já traz alguns parâmetros bate pronto no Options->Project_>Usar escalonamento e Resurso de manifesto e Scaled nos forms = true. Com isso pelo menos até agora deu certo . Vou continuando aqui com meus testes. Obrigado.
  11. Olá Jhonas, já tinha iniciado o processo de instalação do Z-726 e já funcionando no meu Laz1.6 . Agradeço esta informação mas esclarecendo melhor, esta versão Z-7.2.6 deve funcionar em Lazarus 2.0.4 ? Por que o próximo passo é sair do Laz 1.6 agora.
  12. Tenho um programa que fiz em Lazarus no PC, mas no Laptop as telas não ficam compatíveis. Existe algum componente que trate isso? No delphi existia um Scaled etc..
  13. Alguém saberia se existe Zeos que funcione no Lazarus 2.x em diante? Já tentei por muito fazer funcionar o Z-7.2.4 no Laz 2.x mas eu só consigo exito no Laz 1.6.
  14. Obrigado Jhonas, realmente este procedimento irei precisar mais a frente, mas é bom saber que da para fazer por ele. Eu já ia mesmo apresentar o meu resultado baseado no DOC que postou , onde diz que em resumo entende-se que não só assignar Required só, não faz o efeito, tendo então eu adaptei um ex. que vi em algum outro lugar e ficou bem simples e construi em um função global que agente pode reuzar em qualquer DataSet: //Se for em um arquivo de funcoes simples: unit UnFUNCOES; {$mode objfpc}{$H+} interface USES Classes, sysutils,Dialogs,ZDataset,Forms,Db{TField}; //Declara: function ValidaEntradas(Dset:TDataSet): Boolean; //Varre todos os campos do DataSet e Checa quais tem Required function ValidaEntradas(Dset:TDataSet): Boolean; var i :Integer; Campos :TStrings; begin try Campos := TStringList.Create; //Cria cx de MSGs e guardo os campos //requeridos depois mostro a lista for i:=0 to Dset.Fields.Count-1 do begin if Dset.Fields[i].Required then begin if (Dset.Fields[i].AsString=EmptyStr) then Campos.Add(Dset.Fields[i].DisplayName); end; end; if (Campos.Text<>Emptystr) then begin //indice é a posicao na lista. Campos.Insert(0, ' Campos mantatórios:'); Campos.Insert(1, EmptyStr); ShowMessage(Campos.Text); result := false; end else result := true; finally Campos.Free; end; end; END. Usando dentro de um Datamodule: procedure TDataModule1.Query1BeforePost(DataSet: TDataSet); BEGIN if not ValidaEntradas(DataModule1.Query1) then Abort; //congela e mantem tela de edicao, mesmo se for no Grid END; Agora ficou universal e perfeito.
×
×
  • Criar Novo...