OPERARCOES COM ARRAY¬šÃ€ŠÃ‚'S ACRESCENTAR NOVOS I

USUARIO.EXCLUIDOS 04/12/2006 17:28:35
#187928

Olá Pessoal, preciso adicionar novos itens a um array :

Digo : Tenho 2 Array

Array1(0) = "Mensagem 1"
Array1(1) = "Mensagem 2"
Array1(2) = "Mensagem 3"
Array1(3) = "Mensagem 4"

e

Array2(0) = "Texto 1"
Array2(1) = "Texto 2"
Array2(2) = "Texto 3"

Gostaria de somar os itens do Array1 com os itens do Array2 para conseguir isso :

Array3(0) = "Mensagem 1"
Array3(1) = "Mensagem 2"
Array3(2) = "Mensagem 3"
Array3(3) = "Mensagem 4"
Array3(4) = "Texto 1"
Array3(5) = "Texto 2"
Array3(6) = "Texto 3"

Só que isso tem que ser em tempo de execução e os arrayÂÂÂ's são dinamicos
ou seja eu não como saber a quantidade de itens em cada array.

Ai se eu conseguir o resultado do Array3 preciso mostrar todos os
itens do array3 em label.

for i = 0 to n
lblMensagem.Caption = Array3(i)
///////////////////
aguarda 5 segundos
///////////////////
next i


Tudo isso porque tenho que desenvolver um mecanismos de aviso para o cliente.


Agradeço Qualquer ajuda



JGD
ANGELO.BA 04/12/2006 17:55:34
#187932
Resposta escolhida
Ta na mão, olha só...


Dim Array1(3) As String
Dim Array2(2) As String
Dim Array3() As String
Dim intcount As Integer

Array1(0) = "Mensagem 1"
Array1(1) = "Mensagem 2"
Array1(2) = "Mensagem 3"
Array1(3) = "Mensagem 4"

Array2(0) = "Texto 1"
Array2(1) = "Texto 2"
Array2(2) = "Texto 3"

ReDim Array3(0)

For intcount = 0 To UBound(Array1)
If intcount <> 0 Then
ReDim Preserve Array3(UBound(Array3) + 1)
End If

Array3(UBound(Array3)) = Array1(intcount)
Next

For intcount = 0 To UBound(Array2)
ReDim Preserve Array3(UBound(Array3) + 1)

Array3(UBound(Array3)) = Array2(intcount)
Next


Isso aeh..
USUARIO.EXCLUIDOS 04/12/2006 18:03:00
#187934
ANGELO_BA, sua lógica está correta, mas poderia ser mais simplificada:

Dim Array3(0) As String
Dim i As Integer

Array1(0) = "Mensagem 1"
Array1(1) = "Mensagem 2"
Array1(2) = "Mensagem 3"
Array1(3) = "Mensagem 4"

Array2(0) = "Texto 1"
Array2(1) = "Texto 2"
Array2(2) = "Texto 3"
'UBound pega o último item do Array
'ReDim redimensiona o array
ReDim Array3(Ubound(Array1) + UBound(Array2) + 1) As String
'Um loop para adicionar os itens
For i = 0 To UBound(Array3)
If i <= UBound(Array1) Then
Array3(i) = Array1(i)
Else
Array3(i) = Array2(i - (UBound(Array1) + 1))
End If
Next i


Qualquer dúvida poste...flw
ANGELO.BA 04/12/2006 18:15:05
#187939
a resposta é a mesma, só queria demonstrar como implementar.
USUARIO.EXCLUIDOS 04/12/2006 18:26:44
#187943
Citação:

ANGELO_BA escreveu:
a resposta é a mesma, só queria demonstrar como implementar.



Mas acho que vc complicou um pouco, além de uma desconsiderável perca de performace, pois vc usar o ReDim várias vezes, enquanto pode ser usada apenas uma, mas a lógica tá ok...flw
Tópico encerrado , respostas não são mais permitidas