DUVIDA FUNCAO

CCRISANEVB 09/01/2011 17:47:28
#361678
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.
MARCELO.TREZE 09/01/2011 20:02:07
#361686
quais o tipo deste campo, moeda, texto, data, qual?

poste um exemplo
CCRISANEVB 09/01/2011 21:01:26
#361691
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





TECLA 09/01/2011 21:14:34
#361693
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
CCRISANEVB 09/01/2011 21:32:38
#361699
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[Ô]
TECLA 09/01/2011 22:04:05
#361701
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
MARCELO.TREZE 10/01/2011 17:48:00
#361780
Por isso perguntei como estava a string, apenas arranjando o código queo tecla passou, com alguns acrécimos.


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

EDERMIR 11/01/2011 16:09:44
#361897
Adoro dar [Ô]pitaco[Ô] quando já resolveram o problema !!!!

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
FEDERHEN 11/01/2011 17:42:00
#361914
Converte na hora de passar o parametro para a função

string = [Ô]0152;09/01/2011;98000;9[Ô]
Tópico encerrado , respostas não são mais permitidas