View Full Version : [VB6]Contagem de caracteres numa textbox


eXcept
24-10-2006, 18:15
Viva.

Como é que posso fazer um contador de caracteres numa textbox? Ou seja, à medida que for escrevendo ir contando os caracteres?

Eu fiz uma coisa básica do género

Private Sub txt_texto_KeyUp(KeyCode As Integer, Shift As Integer)
char = char + 1
lbl_char.Caption = char
End Sub


mas isto não me resolve, por várias razões:

1. ele conta-me backspaces, etc, sempre incrementando o valor do char
2. Se faço delete de uma só vez ao conteúdo todo da textbox, ele não me faz o refresh ao contador.

Ou seja, precisava mesmo de ler em tempo real a TextBox e calcular o seu "size" ou "lenght", mas não encontro nenhuma dessas propriedades numa textbox.

miguas
24-10-2006, 18:23
A função Len() dá te o nº de Caracteres numa String. Basta apontares para a textbox. Para a actualização em tempo real é que não estou a ver.. tentei usar o on change fazendo um refresh mas nunca consigo escrever mais de um caractere ...


:wow:

eXcept
24-10-2006, 18:34
Funcionou relativamente bem

Private Sub txt_texto_KeyUp(KeyCode As Integer, Shift As Integer)
Dim bla As String
bla = Len(txt_texto.Text)
lbl_char.Caption = bla
End Sub

só me identifica os Enters como dois caracteres! mas isso resolve-se. Tks ;)

chight
24-10-2006, 18:42
simplifica isso.

Private Sub txt_texto_KeyUp(KeyCode As Integer, Shift As Integer)
lbl_char.Caption = Len(txt_texto.Text)
End Sub

eXcept
24-10-2006, 18:43
simplifica isso.

Private Sub txt_texto_KeyUp(KeyCode As Integer, Shift As Integer)
lbl_char.Caption = Len(txt_texto.Text)
End Sub



já o tinha feito. Foi só mesmo à pressa para testar. Tks ;)

Kayvlim
25-10-2006, 16:04
Se NÃO QUERES contar com os Enters:

Private Sub txt_texto_KeyUp(KeyCode As Integer, Shift As Integer)
lbl_char.Caption = Len(Replace(txt_texto.Text, vbCrLf, vbNullString))
End Sub


Se QUERES contar com os Enters, como UM caracter:

Private Sub txt_texto_KeyUp(KeyCode As Integer, Shift As Integer)
lbl_char.Caption = Len(Replace(txt_texto.Text, vbCrLf, " "))
End Sub


Um conselho: não ponhas no KeyUp. Põe no KeyPress.

Cumprimentos [[[[[[[[[[]]]]]]]]]]
angelofwisdom