USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  DUVIDA URGENTE PESSOAL
sk888
não registrado
ENUNCIADA !
Postada em 10/11/2008 13:59 hs   
Private Sub txttelefone_KeyPress(ByVal sender AsObject, ByVal e As System.Windows.Forms.KeyPress EventArgs) Handles txttelefone.keyPress

consegui um código p/ formatar o telefone em um textbox só que ta dando erro no evento keypress do txtbox .eu criei um module  com todo o código só que ta dando erro la em cima na hora que ele vai chamar o module eu acho.
ajuda ai pessoal vlw!!!
   
Guaitoli
Pontos: 2843
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 10/11/2008 14:15 hs            
Boa tarde

Cara vc está programando em VB6? pois o código que vc conseguiu é para VB.Net...

Verifica ai pois a sintaxe do KeyPress no VB6 é

Private Sub <Controle>_Keypress([Index as Integer], Keyascii as Integer)

[]'s
Eder Guaitoli
   
sk888
não registrado
Postada em 10/11/2008 14:33 hs   
Formatar um número de telefone neste formato (DD)0000-0000

isto em quanto você estiver digitando na textbox.

esta função deve ficar em um modulo.
Sub FormataFone(ByVal txtTexto As TextBox)
'verefico se a caixa de texto esta sem nem um digito e coloco a abertura do
Parêntese.
If Len(txtTexto.Text) = 0 Then
txtTexto.Text = txtTexto.Text & "("
txtTexto.SelectionStart = Len(txtTexto.Text) + 1
'verefico se a caixa de texto tem trez digito para fechar o Parêntese.
ElseIf Len(txtTexto.Text) = 3 Then
txtTexto.Text = txtTexto.Text & ")"
txtTexto.SelectionStart = Len(txtTexto.Text) + 1
'verefico se a caixa de texto contem oito digito para colocar o traço
ElseIf Len(txtTexto.Text) = 8 Then
txtTexto.Text = txtTexto.Text & "-"
txtTexto.SelectionStart = Len(txtTexto.Text) + 1
EndIf
EndSub


'agora é somente chamar a sub e passar o parametro para a mema.

'observe que o parametro é um objeto textbox

'esta sub deve ser chamada de dentro do evento KeyPress do objeto textbox, da segunte forma.

PrivateSub txtfone_KeyPress(ByVal sender AsObject, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtfone.KeyPress
If IsNumeric(e.KeyChar) Then
FormataFoneD(Me.txtfone)
EndIf
EndSub



O QUE EU CONSEGUI FOI ISSO AI OLHA!!
como mudo pra vb6???
     
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 10/11/2008 15:04 hs            
ai colega do jeito que você deseja
 
Function FormataFone(obj As Object, Keyasc As Integer)
If Not ((Keyasc >= Asc("0") And Keyasc <= Asc("9")) Or Keyasc = 8) Then
Keyasc = 0
Exit Function
End If
If Keyasc <> 8 Then
If Len(obj.Text) = 1 Then
obj.Text = "(" + obj.Text
obj.SelStart = Len(obj.Text)
ElseIf Len(obj.Text) = 3 Then
obj.Text = obj.Text + ")"
obj.SelStart = Len(obj.Text)
ElseIf Len(obj.Text) = 8 Then
obj.Text = obj.Text + "-"
obj.SelStart = Len(obj.Text)
End If
End If
End Function
 
Private Sub Text1_KeyPress(KeyAscii As Integer)
FormataFone Text1, KeyAscii
End Sub
   
ADRIANO2605
não registrado
ENUNCIADA !
Postada em 10/11/2008 23:05 hs   
Kra se for só pra formatar o numero para telefone tu pode utilziar um codigo no evento lost focuss dele
tipo assim

txttelefone.text = format(txttelefone.text, "(##)####-####")

tenta ai e mande a resposta!
Abraços!
e no key press tu coloca o código para só aceitar numeros

Este aqui tu coloca em uma module
Function SóNúmeros(Key As Integer) As String
    'selecione os caracteres que desejar
    Const Números$ = ",0123456789"
    SóNúmeros = Key
    If Key <> 8 Then    'conferindo se é backspace
        'vê se é um caracter permitido
        If InStr(Números$, Chr(Key)) = 0 Then
            SóNúmeros = 0
        End If
    End If
End Function
e depois no envento keypress da text tu coloca

KeyAscii = SóNúmeros(KeyAscii)

Espero ter ajudado!
Abraços
   
sk888
não registrado
ENUNCIADA !
Postada em 11/11/2008 18:07 hs   
bahhh ADRIANO2605 VLW MANO
confirmadaço essa dica que mandac vlw !!!!!
   
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página