Componente Checkbox

Delphi

18/08/2003

Preciso de um Componente do Tipo Checkbox, que em vez de retornar o valor ´True´ or ´False´, retorne ´Sim´ ou ´Nao´ alguem poderia me ajudar?


Duarteol

Duarteol

Curtidas 0

Respostas

Rafael Heise

Rafael Heise

18/08/2003

realmente.. você está brincando ??
qual a diferença ???
True = Sim e False = Não
... o que você pretende ???


GOSTEI 0
Nigro

Nigro

18/08/2003

Caso você esteja trabalhan do com DBChek Box e não quer mostrar True ou False no DBGrid para o seu clinte tem jeito, mas com apenas Check box, não tem como.

Nigro


GOSTEI 0
Bacalhau

Bacalhau

18/08/2003

Pede aos engenheiros da Borland. Por uns dez milhões de dólares eles mudam a coisa.
Abraço do bacalhau


GOSTEI 0
Duarteol

Duarteol

18/08/2003

realmente.. você está brincando ?? qual a diferença ??? True = Sim e False = Não ... o que você pretende ???



OK! Obrigado pela sua ajuda, foi fundamental, para resolver meu problema, ha antes que eu me esqueça, desculpe se lhe ofendi. Nao devia, mas...,Tenho que fazer um checklist de um veiculo e uso o Interbase, mas ainda desconheço se existe um campo logico no interbase, entao a minha preocupaçao em gravar ´sim´ ou ´nao´ se vc. tiver alguma saida pra mim continuara sendo bem vinda, OK?


GOSTEI 0
Abueno_silva

Abueno_silva

18/08/2003

Simplificando:
Se você for usar o CheckBox, terá que fazer a verificação caso a caso, via código:

if CheckBox1.Checked then


Se utilizar o DBCheckBox, pode alterar o valor que ele retornará quando for selecionado (propriedade ValueChecked) ou não (propriedade ValueUnChecked).
Obs.: O Interbase/Firebird não tem campos do tipo Boolean.

Espero ter sido útil.
[]´s.


GOSTEI 0
Rafael Heise

Rafael Heise

18/08/2003

Existe inúmeras formas de fazer isso ok ?
a mais fácil é o seguinte:
Campo : integer
1 = True 2 = False
Dai no seu código fonte você faz
CheckBox.Checked := Table.FieldByName(Campo).AsInteger = 1;
e se você for usar na grid...
no onDraw você redesenha ou simplesmentes atribui uma máscara para o campo.
Mas caso você não esteja a fim de muita coisa.. .
cria um campo VarChar(3) e grava sempre
´Sim´ ou ´Não´ e então no checkbox faz
CheckBox.Checked := Table.FieldByName(Campo).AsString = ´Sim´;

bom colega.. não quis ofender... mas sinceramente isso é básico.. se não existe campo lógico no banco e você precisa usar esse banco... você pode pensar e ver como poderia fazer para usar como lógico algum campo....
qualquer coisa serviria para indicar Sim ou Não....
o problema é gravar num mesmo campo 7 valores diferentes sendo que cada um pode estar junto com outro ou todos juntos ou nenhum. Ai você tem que usar umas contas matemáticas e tudo mais.. mas ainda assim é fácil.... pois o próprio windows faz uso dessa lógica no MessageBox para os ícones e botões a mostrar.... então....
não se ofenda quando perguntei o que pretende....
é mais fácil você dizer o que você quer fazer do que perguntar
´existe um check box que em vez de true ou false devolve sim ou não ?´
como aconteceu.. depois que você explicou o que queria ficou mais fácil de enteder tanto para mim quanto para outros... não é ofensa... mas só quero incentivar a clareza nas perguntas para que as respostas sejam mais rápidas e mais objetivas....
facilitando a vida de todos.. de quem precisa de ajuda e de quem quer ajudar.. ok ? vamos pensar no nosso modo de ver as coisas... e tentar enxergar que nem sempre se quer rebaixar ou desistimular alguém...
abraços...
e bom desenvolvimento para todos....


GOSTEI 0
POSTAR