PROBLEMAS COM MATRIZ

GFASSIO 28/01/2010 14:56:47
#333046
Olá gente , seguinte:

[txt-color=#0000f0]Se eu monto uma matriz manualmente assim:
EX: a =array([Ô]1[Ô],[Ô]2[Ô],[Ô]3[Ô],[Ô]4,[Ô]5[Ô])
e verifico o UBound e LBound eles retornam 0 e 6 corretamente[/txt-color]


[txt-color=#007100]MAS se eu monto essa matriz dinamicamente pelo sistema
aspas=[Ô]
ex: for i=0 to 5
b = Aspas & i & Aspas & [Ô], [Ô]
next i

ele monta exatamente igual:
b =[Ô]1[Ô],[Ô]2[Ô],[Ô]3[Ô],[Ô]4,[Ô]5[Ô][/txt-color]


ai quando vou transfomar b em matriz: a=array(b) e verifico o UBound e LBound eles retornam 0 e 0.

Parece que ele dixa de ser matriz.
como faço pra continua a ser uma matriz e retonar UBound e LBound corretamente??

abraços e desde já agradecido
Gustavo
SINKERTEC 28/01/2010 15:06:55
#333047

Meu caro, se vc ta usando isso:

MAS se eu monto essa matriz dinamicamente pelo sistema
aspas=[Ô]
ex: for i=0 to 5
b = Aspas & i & Aspas & [Ô], [Ô]
next i

ele monta exatamente igual:
b =[Ô]1[Ô],[Ô]2[Ô],[Ô]3[Ô],[Ô]4,[Ô]5[Ô]

n tem como b ser igual ao q vc fala...pq traduzindo

b = Aspas & i & Aspas & [Ô], [Ô] => [Ô]1[Ô], e pronto...
no proximo i...ficaria

b = Aspas & i & Aspas & [Ô], [Ô] => [Ô]2[Ô], e pronto...ou seja...n está concatenando...

tente aee

aspas=[Ô]
ex: for i=0 to 5
b = b & Aspas & i & Aspas & [Ô], [Ô]
next i

boa sorte




MARCOSLING 28/01/2010 15:07:51
#333048
Mas isso não é uma matriz!!
é apenas uma string concatenada...
MARCELO.TREZE 28/01/2010 15:15:47
#333049
Resposta escolhida
Existem para o seu caso duas maneiras de se criar uma array dinamicamente, seriam estas

Private Sub Command1_Click()
Dim B() As Integer
For i = 0 To 5
ReDim Preserve B(i) As Integer
B(i) = i
Next i
MsgBox UBound(B)
End Sub


a outra seria

Private Sub Command2_Click()
Dim B() As String
Dim Texto As String
For i = 0 To 5
Texto = Texto & i & [Ô],[Ô]
Next i
B = Split(Left(Texto, Len(Texto) - 1), [Ô],[Ô])
MsgBox UBound(B)
End Sub


agora o ubound e Lbound funcionarao perfeitamente
GFASSIO 28/01/2010 15:21:46
#333050
Bom acho que eu exemplifiquei mal. Desculpa

Fiz uma rotininha aqui com os dois exemplos, se puderem olhar pra mim, ficarei muito agradecido!

Abraços e obrigado!

GFASSIO 28/01/2010 15:29:52
#333051
Marcelo é isso mesmo que preciso!

SINKERTEC obrigado pela ajuda!

abraços
Tópico encerrado , respostas não são mais permitidas