DUVIDA FUNCAO
Boa Tarde. Pessoal alguém saberia como me ajudar, se é que tem como fazer:
vou passar uma string separada por [Ô] : [Ô](dois pontos), depois fazer um split e jogar em um array. Até ai tudo bem, só que tem campos desta string que terei que formatar antes de jogar no array,não estou sabendo como poderia marcar este campo para dentro da função antes de jogar no array ele formatar.Obs.: não posso formatar antes de jogar na string.
Obrigada, pela colaboração de todos.
vou passar uma string separada por [Ô] : [Ô](dois pontos), depois fazer um split e jogar em um array. Até ai tudo bem, só que tem campos desta string que terei que formatar antes de jogar no array,não estou sabendo como poderia marcar este campo para dentro da função antes de jogar no array ele formatar.Obs.: não posso formatar antes de jogar na string.
Obrigada, pela colaboração de todos.
quais o tipo deste campo, moeda, texto, data, qual?
poste um exemplo
poste um exemplo
Marcelo o campo é decimal (10,2) por exemplo se for um valor 9,80 após formatar a string ficará 98000 só não sei bem como informar q este campo será formatado.
Exemplo: string = [Ô]0152;09/01/2011;9,80;9[Ô]
vou enviar para o array estas informações para depois gravar em um arquivo texto.
array(0)=0152
array(1)=09/01/2011
array(2)= em vez de 9,80 é para informar a função q 98000
array(3)=9
Exemplo: string = [Ô]0152;09/01/2011;9,80;9[Ô]
vou enviar para o array estas informações para depois gravar em um arquivo texto.
array(0)=0152
array(1)=09/01/2011
array(2)= em vez de 9,80 é para informar a função q 98000
array(3)=9
Veja se é isso que precisa:
Dim valor, valorFormatado As String
valor = [Ô]9,80[Ô]
valorFormatado = Replace(valor, [Ô],[Ô], [Ô][Ô])
valorFormatado = valorFormatado & String(5 - Len(valorFormatado), [Ô]0[Ô])
MsgBox valorFormatado
Tecla a função para fazer 9,80 ficar 9800 já fiz, não sei como fazer para passar uma string igual o seguinte exemplo:
string = [Ô]0152;09/01/2011;9,80;9[Ô]
e fazer um split ([Ô] ;[Ô]) jogando os valores em um array
só que não sei como informar que este 9,80 irá usar esta função
se tivesse como informar [Ô]0152;09/01/2011;Converter(9,80);9[Ô]
string = [Ô]0152;09/01/2011;9,80;9[Ô]
e fazer um split ([Ô] ;[Ô]) jogando os valores em um array
só que não sei como informar que este 9,80 irá usar esta função
se tivesse como informar [Ô]0152;09/01/2011;Converter(9,80);9[Ô]
Tente assim:
Dim linha, vetor() As String
linha = [Ô]0152;09/01/2011;9,80;9[Ô]
vetor = Split(linha, [Ô];[Ô])
For i = 0 To UBound(vetor)
MsgBox vetor(i)
Next i
Por isso perguntei como estava a string, apenas arranjando o código queo tecla passou, com alguns acrécimos.
com o código acima exibi o resultado em um listbox
veja se era isto
Private Sub Command1_Click()
Dim linha, vetor() As String
linha = [Ô]0152:09/01/2011:9,80:9[Ô]
vetor = Split(linha, [Ô]:[Ô])
For i = 0 To UBound(vetor)
If InStr(vetor(i), [Ô],[Ô]) <> 0 Then
vetor(i) = Replace(vetor(i) * 10000, [Ô],[Ô], [Ô][Ô])
End If
List1.AddItem vetor(i)
Next i
End Sub
com o código acima exibi o resultado em um listbox
veja se era isto
Adoro dar [Ô]pitaco[Ô] quando já resolveram o problema !!!!
Se você já sabe qual Ãtem da string deverá ser formatado, então:
Se você já sabe qual Ãtem da string deverá ser formatado, então:
Private Sub Command1_Click()
Dim linha, vetor() As String
linha = [Ô]0152:09/01/2011:9,80:9[Ô]
vetor = Split(linha, [Ô]:[Ô])
vetor(3) = Replace(vetor(3) * 10000, [Ô],[Ô], [Ô][Ô])
End Sub
Converte na hora de passar o parametro para a função
string = [Ô]0152;09/01/2011;98000;9[Ô]
string = [Ô]0152;09/01/2011;98000;9[Ô]
Tópico encerrado , respostas não são mais permitidas