ARMAZENAR DADOS EM VARIAVEIS DIFERENTES

HUBER.FABIO 15/04/2010 10:05:45
#339458
Caros amigos ! minha necessidade é a seguinte: preciso armazenar dados em variáveis diferentes ou de outra forma.

tenho um do while e dentro dele vai me retornando dados e preciso ir armazenando esses dados em variáveis diferentes (nomes diferentes) e como está dentro de while então pode-se passar de uma até infinitas vezes. tem alguma maneira de ir passando e armazenando esses dados em variáveis de nomes diferentes a cada passagem.

Ou se tiverem alguma idéia de como posso ir armazenando essas informações a cada passagem. pois preciso imprimi-las ao final através de um comando fiscal
GABRIEL 15/04/2010 10:10:04
#339459
dim var
for i
var(i) = [ô] auqi vai os dados
next i


ai vc recupera assim
msgbox [Ô][Ô] &var(9)

ou como vc quiser
HUBER.FABIO 15/04/2010 10:34:19
#339468
Olá !

Desculpe, sou meio que iniciante ai em VB, não entendi muito bem esse conceito e também aparentemente tá faltando algo no for
MARCOLACERA 15/04/2010 11:08:52
#339480
Resposta escolhida
Para este tipo de situação eu utilizo uma ARRAY, exemplo anexo!
HUBER.FABIO 15/04/2010 11:23:54
#339485
Olá Marcos, grande abraço !

Estive também desde ontem pesquisando sobre o array e não entendi o sentido da coisa, se é realmente que preciso, se puder me ajudar, por exemplo:

Já vou estar dentro de um laço, qtde de vezes indefinicas ...1,2,3,4,5,6, etc...

Pelo que vi vc trata os campos do array..nome, sobrenome, idade...onde isso se encaixa para meu caso já que tenho que deixar definido..isso ?? como disse não sei qtas vezes estarei passando.





Private Sub Command1_Click()
Dim MeusDados() As MeusCampos
Dim i As Integer

[ô](ARRAY) Atribuindo Valores
Do While i < 10
ReDim Preserve MeusDados(i + 1) [ô]redimenciona a array
MeusDados(i).MeuPrimeiroNome = Str(i) & [Ô]- MARCO[Ô]
MeusDados(i).MeuSobreNome = Str(i) & [Ô] - LACERA[Ô]
MeusDados(i).MinhaIdade = i
MeusDados(i).MinhaDataNascimento = Date + i
i = i + 1
Loop

[ô](ARRAY) Lendo Valores
For i = 0 To UBound(MeusDados) - 1
MsgBox MeusDados(i).MeuPrimeiroNome & [Ô] * [Ô] & MeusDados(i).MeuSobreNome & [Ô] * [Ô] & MeusDados(i).MinhaIdade & [Ô] * [Ô] & MeusDados(i).MinhaDataNascimento
Next

End Sub
MARCOLACERA 15/04/2010 13:15:42
#339500
Imaginamos que uma Variável é uma casa e que Array, é um prédio com vários andares,
Neste prédio (Array) você pode criar um apartamento por andar ou vários, e em cada apartamento você pode guarda um valor.

Exemplo:

[ô]Primeiro vou definir como será o padrão de cada andar do predio,
[ô]ou seja quantos apartamentos terá por andar e quais os tipos dos mesmos
[ô]OBS..posso definir varios apartamentos por andar e dos tipos que jugar necessário

[ô]Colocar No inicio do form
Private Type Predio
APARTAMENTO_A As String
APARTAMENTO_B As String
APARTAMENTO_C As Integer
APARTAMENTO_D As Date
End Type


[ô]Na ação do clic do botão
Private Sub Command1_Click()
Dim MeuPredio() As Predio
Dim NrDoAndar As Integer

[ô](ARRAY) Atribuindo Valores
Do While NrDoAndar < 10
ReDim Preserve MeuPredio(NrDoAndar + 1) [ô]Redimenciona o Nº de Andares do predio
MeuPredio(NrDoAndar).APARTAMENTO_A = Str(NrDoAndar) & [Ô]- MARCO[Ô]
MeuPredio(NrDoAndar).APARTAMENTO_B = Str(NrDoAndar) & [Ô] - LACERA[Ô]
MeuPredio(NrDoAndar).APARTAMENTO_C = NrDoAndar
MeuPredio(NrDoAndar).APARTAMENTO_D = Date + NrDoAndar
NrDoAndar = NrDoAndar + 1 [ô]Vamos para o Proximo Andar
Loop

[ô](ARRAY) Lendo Valores
For NrDoAndar = 0 To UBound(MeuPredio) - 1 [ô]Vamos Percorrer todos andares do predio e ler cada apartamento
MsgBox MeuPredio(NrDoAndar).APARTAMENTO_A & [Ô] | [Ô] & MeuPredio(NrDoAndar).APARTAMENTO_B & [Ô] | [Ô] & MeuPredio(NrDoAndar).APARTAMENTO_C & [Ô] | [Ô] & MeuPredio(NrDoAndar).APARTAMENTO_D
Next
End Sub
HUBER.FABIO 15/04/2010 13:57:29
#339509
HEHEHE ...joguei ai as linhas no VB e debuguei e agora entendi o espírito da coisa ! ..vou coloca em produção agora no meu projeto para ver o que virá

Esse é nosso companheiro MARCOS ...grande contriuidor também do fórum da GAS

Abraços Marcos, qualquer dúvida volto a posta, caso OK volto para encerrar o tópico
Tópico encerrado , respostas não são mais permitidas