Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

soloplayer

Array e ponteiros

Recommended Posts

ola amigo, preciso de alguma funcao que faca um array no VB, preciso construir uma lista de array e criar uma virtual ao lado e dizer assim que o primeiro do array aponta para o segundo, terceiro e assim por diante.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe uma função justamente com esse nome (Array) e que faz justamente o que você quer:

 

a = Array(1, 2, 3)	For Each elemento In a		MsgBox elemento	Next elemento

Certo? ;)

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza mano vou testar na hora do almoco, mas assim, o array pode receber um campo text1 e depois executar dentro do FOR? está que é minha dúvida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo deu certo a parada, mas o array pode receber um campo text1 10 para virar uma matriz de 10 posicoes e depois executar dentro do FOR? está que é minha dúvida. Como faço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode fazer assim:

 

Dim Matriz()Redim Matriz(text1.text)

ou

 

Dim Matrix(text1.text) 'não lembro se essa segunda funciona. To sem VB para testar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo, é assim gostaria de apresentar esta matriz mas ela contemum objeto do tipo ME.Circle (200,200,200), vbBlack ,,, 2 em que mostra a quantidade de circulos que eu digito, so que esta quantidade eu gostaria que fosse um array, ou seja como faco mostrar um array junto ao meu objeto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas, o método Circle não retorna nenhum objeto. Ele apenas desenha no form. O que você poderia fazer é guardar a posição, o raio e a cor em um array e depois usar estas informações para desenhar os círculos.Abraços,Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo, bom dia, entao como que eu faco isso, por favor faca um exemplo so para mim ver como é. Não estou conseguindo fazer o array receber estes valores e depois apresentar os valores quardados, era so isso que eu queria fazer, porque depois que eu fizer isso o resto eu consigo, grato estou no aguardo fera Tks.

Não entendi direito.É um array de "circles" você quer fazer isso?

Olá Sr Luiz, é sim um array de circles. Por favor me ajude ae amigo. Tks.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara,

 

Para falar verdade eu não consegui nem desenhar um círculo com essa função circle aí xD... eu tentei, tentei e não consegui.

 

Mas se o caso for para ter um vetor de círculos, eu faria com shapes:

Tendo o shape de índice 0 invisivel e sempre que fosse necessário "carregando" novos objetos:

Load ShapeBola(ShapeBola.ubound + 1)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se é isso que você quer:

 

círculo1 = Array(200, 200, 200, vbRed)	círculo2 = Array(400, 400, 200, vbBlue)		círculos = Array(círculo1, círculo2)		For Each círculo In círculos		Me.Circle (círculo(0), círculo(1)), círculo(2), círculo(3)	Next círculo

Abraços,

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fazendo desse jeito que eu coloquei acima, você teria um array de objetos (shapes). Tendo controle sobre eles, mesmo depois de criados.Mas caso queira só guardar as posições dos círculos, e outras informações só para leitura o melhor modo é o do graymalkin.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Grato amigos, deu certo agora gostaria de ter um ponteiro que falasse que por exemplo ele é um for de um a 3 ai pego o ponteiro e paro no dois, como faco isso entenderam minha perguntao nao sei se fui muito explicito, mas é que mexo com pascal e ponteiros e tenho que ter um ponteiro para ele mostrar um item e localizado como se fosse uma busca de objetos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi essa parada de ponteiro ainda. Seria uma variavél?

E esse for seria nos círculos.

Para saber quantos círculos tem é só usar o ubound:

numero_de_shapes = Shape.ubound

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo Luiz, a funcao do mano Grainmalkin fungou file, mas estou implementando um funcao assim:

 

Dim Matriz()Redim Matriz(text1.text)

a que voce me passou, so que text1.text da Type mismatch, tipo invalido.

 

E como eu uso o (numero_de_shapes = Shape.ubound)? Ponteiro é assim em um for de 3 lacos ele tera que vamos supor, eu faco um for e mostro tres Circles e tal, ai eu digo em um painel que quero selecionar o 2 do laco ai ele desenha somento o 2 de outra cor, como eu faco isso, isso seria o que chamanos de um ponteiro, como faco isso amigao. Tks pelas ajudas ae manos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Omigos, deu certo meu Array de circles. Agora gostaria de tipo assim, meu array é de 5 posicoes, depois de dizer quantas posicoes ele tem, ele pedir assim: Digite a ligacao entre 1 e 2, tem ligacao sim ai ele recebe um boolean ativo, 1 e 3, 1 e 4, 1 e 5 tambe e assim por diante 2 e 3, 2 e 4, 2 e 5 assim sussetivamente, ate concluir o arrray em 5, como eu faco isso galera?5 posicoes do array boolean1 e 2 true1 e 3 true1 e 4 true1 e 5 true2 e 3 true2 e 4 true2 e 5 true3 e 4 true3 e 5 true4 e 5 true5 falsesendo que eles vao ter ligacoes entre todo eles, so o 5 que nao liga com ele proprio e este array grava estes valores, como eu faco estas chamadas?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode guardar arrays dentro de arrays, portanto um dos elementos que compõe o círculo poderia ser um array indicando suas ligações.Abraços,Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para saber quantos itens tem um array (uma varialvel e não um componente) utilize a função ubound:

Ubound(array)

E quanto ao ponteiro.

Você também pode utilizar labels em um array (como eu dei a idéia do shape) cada label terá um circle correspondente assim você consegueria fazer o que quer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos, grato, como posso fazer isso amigo Luiz?

amigos, meu cogigo é este, e preciso que ele mostre o numero de circles, mas aceito se mais facil e com mais recursos fazer o SHAPES, como ficaria este trecho ser com shepes ao inves de circles, e como ele faz pra receber o numero digitado no text1 e tranformar 5 em um array de 5 posicoes e listar 5 shapes?

 

dim cont as integerPrivate Sub Commando1_Click()cont = 0a = Array(Text1)For Each elemento In a 	cont = cont + 300 'posiciona meus circlea por esta variavel contador	ME. Circle (200 + cont + cont, 1000), 100 vbRed, , , 1	MsgBox elementoNext elementoEnd Sub

por favor amigos, me de uma luz num sei mais o que faco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.