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
|
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
|
|
|
|
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
|
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 !!!!!
|
|
|