VB6 - preciso de ajuda! please!!!

rcpassos

Membro
Oi...
Eu estou a fazer um programa em VB6, onde utilizo uma base de dados.
E agradecia que alguem me explicasse como eu contolo o seguinte erro...na caixa de texto onde insiro um numero de telefone, como consigo fazer para que só adicione com os nove digitos? Do tipo, se ñ tiver nove digitos queria por uma msgbox a dizer algo...mas ñ sei como controlar os nove digitos.
Será que alguem entende o k kero dizer?!!!:(
 
Tens tambem nas Propriedades da TextBox a opção MaxLength que o Armadillo menciona, mas lá só colocas o numero que pretende um caracteres. Nao recorendo a codigo.

Podes tambem colocar um som sonoro sempre que nao forem digitados Numeros do tipo

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then

KeyAscii = 0

Beep

End If
 
Este código está em VB.NET, mas dá para perceberes.

Tu queres que sejam exactamente 9 dígitos: nem mais, mas também nem menos, por isso tens de jogar com os 2 eventos seguintes:

Código:
'Este evento ignora teclas pressionadas que não sejam numéricas ou o BackSpace

Private Sub TextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox.KeyPress 
      If Not IsNumeric(e.KeyChar) And e.KeyChar <> Microsoft.VisualBasic.ChrW(Keys.Back) Then
           e.Handled = True
      End If
End Sub

  'Este evento avisa quando o controlo perde focus e não tem 9 dígitos. No entanto, se estiver vazio, deixa passar. Acho que o evento Leave não existe no VB6, usa o LostFocus. 
   Private Sub TextBox_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox.Leave         
     If TextBox.TextLength  <> 9 Then 
           MsgBox("O campo Telefone deve conter exactamente 9 dígitos.", MsgBoxStyle.Information, "Erro no preenchimento")             
           If TextBox.Text.Length <> 0 Then                 
                  TextBox.Focus()    
           End If       
      End If      
End Sub

Não esquecer de colocar a propriedade MaxLength do TextBox a 9.

Abraço
 
Última edição pelo moderador:
Back
Topo