GARANTIR DESCONTO

Fórum Dúvida com IF LENGTH #254870

18/10/2004

0

e ai pessoal...

minha dúvida é meio banal mas não estou conseguindo fazer direito.

tenho um sistema que quando se digita a data de nascimento da pessoa ele calcula a idade e coloca num dbedit desta forma (45 A 11 M)... tudo bem...só que quero que na hora de salvar ele verifique se o dbedit que recebeu a idade tem mais do que 10 caracteres.

tentei assim

if Length(Trim(dbeditidade.field.value)) > 10 then begin
showmessage(´Mais que 10´);
end;

só que não funciona...

Alguem tem uma idéia

Att

Armando


Armando.boza

Armando.boza

Responder

Posts

18/10/2004

Osocram

Amigo...

Non sei o proposito disso... se for apenas p verificar se a data esta certo, vc pod fazer o seguinte coloque uma mascara neste campo... dae
de dois click no (query, CDS non sei qual esta usando) p mostrar os campos q estaum na memoria.. enton selecione o campo d idade e coloque na propriedade d mascara
acho q era 99/99/0000
e indique se quer gravar ou non o literal no bd.

isso resolve seu prob. pois isso forca o cliente a preencher todas as casas...


Responder

Gostei + 0

18/10/2004

Armando.boza

é assim amigo...

tenho um campo maskedit que o funcionário coloca a data de nascimento e uma function calcula a idade e coloca ela em um dbedit nesta forma ex: 45 A 11 M.

quero verificar se a idade não estrapola os 999 A 12 M, bloqueando em 10 caracteres o campo.

simplesmente eu quero contar quantos caracteres tem dentro do dbedit, incluidno espaços em branco.

Amigo... Non sei o proposito disso... se for apenas p verificar se a data esta certo, vc pod fazer o seguinte coloque uma mascara neste campo... dae de dois click no (query, CDS non sei qual esta usando) p mostrar os campos q estaum na memoria.. enton selecione o campo d idade e coloque na propriedade d mascara acho q era 99/99/0000 e indique se quer gravar ou non o literal no bd. isso resolve seu prob. pois isso forca o cliente a preencher todas as casas...



Responder

Gostei + 0

18/10/2004

Horus

Na verdade a função LENGTH não se aplica aos DBEdits.

Você terá que fazer a validação pelo campo que está vinculado a ele.

Ou então fazer a transferência dos dados de um Edit para o Campo da tabela que você quer inserir os dados.

Se precisar de ajuda você tem que especificar que tipo de campo é e como são os dados armazenados nele.

Bem, isso foi o que eu imaginei para o momento.
Espero ter ajudado.


Responder

Gostei + 0

18/10/2004

Osocram

tente fazer um length no cds.fieldbyname(´idade´).asstring


Responder

Gostei + 0

18/10/2004

Armando.boza

olá

eu uso firebird 1.5 e delphi 5

o campo que recebe a idade é um dbedit, a idade vem de uma function desta forma 45 A 11 M. Quero verificar se não estora os 10 caracteres do campo que é VARCHAR(10) pois as vezes os funcionários digitam a data de nascimento errado e a idade fica grande tipo 2650 A 5 M.

simplesmente quero contar quantos caracteres tem dentro do dbedit, só isso.

Na verdade a função LENGTH não se aplica aos DBEdits. Você terá que fazer a validação pelo campo que está vinculado a ele. Ou então fazer a transferência dos dados de um Edit para o Campo da tabela que você quer inserir os dados. Se precisar de ajuda você tem que especificar que tipo de campo é e como são os dados armazenados nele. Bem, isso foi o que eu imaginei para o momento. Espero ter ajudado.



Responder

Gostei + 0

18/10/2004

Emerson Nascimento

não seria mais fácil fazer a verificação no retorno da sua função? não conheço e nunca ouvi falar que na nossa ´era´, uma pessoa tenha vivido mais de 130 anos. então, no retorno da sua função, você limita a idade.

porque da forma que vc está falando, ´650 A 5 M´ passaria, pois tem menos de 10 caracteres - a não ser que fosse ´650 A 05 M´. mesmo assim seria permitido até ´999 A 11 M´, o que eu acho improvável estar correto.


Responder

Gostei + 0

18/10/2004

Armando.boza

BLZ...

vou tentar alterar direto na função, ja tinha até pensado em fazer lá direto mas queria saber se era possível com o if length...ok

muito obrigado a todos

não seria mais fácil fazer a verificação no retorno da sua função? não conheço e nunca ouvi falar que na nossa ´era´, uma pessoa tenha vivido mais de 130 anos. então, no retorno da sua função, você limita a idade. porque da forma que vc está falando, ´650 A 5 M´ passaria, pois tem menos de 10 caracteres - a não ser que fosse ´650 A 05 M´. mesmo assim seria permitido até ´999 A 11 M´, o que eu acho improvável estar correto.



Responder

Gostei + 0

18/10/2004

Aroldo Zanela

Colega,

if Length(dbEdit.Text)>10 then ...



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar