Fórum Limitar quantidade de caracteres por célula #142820
06/03/2003
0
Olá pessoal,
estou utilizando o componente TStringGrid...e estou com dificuldades de definir um limite de caracteres por coluna. Por exemplo, na coluna 1, o usuário poderá digitar no máximo 10 caracteres, na 2 15...e assim por diante.
Como posso fazer isso?
Não tenho a mínima idéia.
Estou a dois dias parado nisso...e infelizmente...não estou conseguindo achar uma solução.
Obrigado a todos.
Carlos
estou utilizando o componente TStringGrid...e estou com dificuldades de definir um limite de caracteres por coluna. Por exemplo, na coluna 1, o usuário poderá digitar no máximo 10 caracteres, na 2 15...e assim por diante.
Como posso fazer isso?
Não tenho a mínima idéia.
Estou a dois dias parado nisso...e infelizmente...não estou conseguindo achar uma solução.
Obrigado a todos.
Carlos
Carlos Phelippe
Curtir tópico
+ 0
Responder
Posts
06/03/2003
Marcelo Saviski
[color=red:2a9b207e24]No evento onKeyPress faça[/color:2a9b207e24]
[color=red:2a9b207e24]Vai ter que descobrir como pegar a celula atual[/color:2a9b207e24]
if lenght(StringGrid.Cells[celulaatual.x,celulaatual.y]) > 15 then key := 0;
[color=red:2a9b207e24]Vai ter que descobrir como pegar a celula atual[/color:2a9b207e24]
Responder
Gostei + 0
06/03/2003
Anonymous
Escreva um evento onKeyPress no seu StringGrid.
assim vc determina o tamanho de todas as celulas de uma vez (altere apenas o tamanhoMaximo para a quantidade que vc deseja) :
if (not(key in [#8]) and (Length((Sender as TStringGrid).Cells[(Sender as TStringGrid).Col, (Sender as TStringGrid).Row]) >= tamanhoMaximo)) then
Key := 0;
mas se quiser determinar o tamanho para celulas individualmente, faça assim (altere coluna, linha e tamanhoMaximo para o valor desejado, lembrando que coluna e linha iniciam em zero) :
if (not(key in [8]) and (Length((Sender as TStringGrid).Cells[coluna, linha]) >= tamanhoMaximo)) then
Key := 0;
aconselho vc a fazer uma funçãozinha com esse bloco de código, para tornar o tratamento das células mais fácil....
[]´s
Rodrigo Duarte.
assim vc determina o tamanho de todas as celulas de uma vez (altere apenas o tamanhoMaximo para a quantidade que vc deseja) :
if (not(key in [#8]) and (Length((Sender as TStringGrid).Cells[(Sender as TStringGrid).Col, (Sender as TStringGrid).Row]) >= tamanhoMaximo)) then
Key := 0;
mas se quiser determinar o tamanho para celulas individualmente, faça assim (altere coluna, linha e tamanhoMaximo para o valor desejado, lembrando que coluna e linha iniciam em zero) :
if (not(key in [8]) and (Length((Sender as TStringGrid).Cells[coluna, linha]) >= tamanhoMaximo)) then
Key := 0;
aconselho vc a fazer uma funçãozinha com esse bloco de código, para tornar o tratamento das células mais fácil....
[]´s
Rodrigo Duarte.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)