FORMATAR TELEFONE NO LISTVIEW

FROSTYNHO 30/01/2011 01:30:00
#363805
to adicionando em uma lisview uns numeros de telefone só que queria que ele formatasse de 1432981368 pra (14) 3298 1368 e adicionasse na listview... só nao consigo formatar uahuahauh alguem tem uma ideia?
FROSTYNHO 30/01/2011 03:41:21
#363808
to adicionando da seguinte forma:

Private oItem As ListViewItem


myCMD = New MySql.Data.MySqlClient.MySqlCommand([Ô]Select * from usuarios order by username[Ô], myCON)
myDRR = myCMD.ExecuteReader()


While myDRR.Read
oItem = ListView1.Items.Add(myDRR.Item([Ô]username[Ô]).ToString)
oItem.SubItems.Add(myDRR.Item([Ô]password[Ô]).ToString)
oItem.SubItems.Add(myDRR.Item([Ô]telefone[Ô]).ToString)
End While
MARCOSLING 30/01/2011 10:01:37
#363812
geralmente, o ddd é armazenado separado do telefone, daí então fica mais fácil fazer o que vc quer.

no seu caso, uma solução vai depender de uma padronização de entrada de dados. desta forma vc poderia usar quebra de string ou regular expression.
JONATHANSTECKER 30/01/2011 10:22:37
#363813
Resposta escolhida
Uma alternativa é criar uma função para formatar esse número...

Imports System.Text

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Telefone As String = [Ô]0012345678[Ô]
MessageBox.Show(FormataTelefone(Telefone))
End Sub

Protected Function FormataTelefone(ByVal Numero As String)
Dim Telefone As StringBuilder = New StringBuilder
Telefone.Append([Ô]([Ô])
Telefone.Append(Microsoft.VisualBasic.Left(Numero, 2))
Telefone.Append([Ô]) [Ô])
Telefone.Append(Microsoft.VisualBasic.Mid(Numero, 3, 4))
Telefone.Append([Ô] [Ô])
Telefone.Append(Microsoft.VisualBasic.Mid(Numero, 7, 4))
Return Telefone.ToString
End Function
JONATHANSTECKER 30/01/2011 10:33:40
#363815
No seu caso ficaria assim

[ô] Adicione esta referência
Imports System.Text

[ô] Função para formatar o telefone
Protected Function FormatarTelefone(ByVal Numero As String)
Dim Telefone As StringBuilder = New StringBuilder
Telefone.Append([Ô]([Ô])
Telefone.Append(Microsoft.VisualBasic.Left(Numero, 2))
Telefone.Append([Ô]) [Ô])
Telefone.Append(Microsoft.VisualBasic.Mid(Numero, 3, 4))
Telefone.Append([Ô] [Ô])
Telefone.Append(Microsoft.VisualBasic.Mid(Numero, 7, 4))
Return Telefone.ToString
End Function

[ô] Seu método
Private oItem As ListViewItem

myCMD = New MySql.Data.MySqlClient.MySqlCommand([Ô]Select * from usuarios order by username[Ô], myCON)
myDRR = myCMD.ExecuteReader()

While myDRR.Read
oItem = ListView1.Items.Add(myDRR.Item([Ô]username[Ô]).ToString)
oItem.SubItems.Add(myDRR.Item([Ô]password[Ô]).ToString)
oItem.SubItems.Add(FormatarTelefone(myDRR.Item([Ô]telefone[Ô]).ToString))
End While
LUIZCOMINO 30/01/2011 11:25:28
#363816
basta jpgar um format teste ai

List1.AddItem Format([Ô]1152454545[Ô], [Ô](00) 0000 0000[Ô])
Tópico encerrado , respostas não são mais permitidas