Ir para conteúdo

Arquivado

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

soloplayer

Mostrar elementos do ARRAY

Recommended Posts

Olá galera é o seguinte estou com um array de circles mas nao consigo mostrar todos os circles, ele so me mostra um circle o codigo é este abaixo:

 

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

Ele so esta me mostrando um circle, como se nao tivesse na matriz, e so me mostra uma mensagem dizendo o numero que digitei no Text1, como listo por exemplo 3 circles que digitei no Text1?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui...

 

a = Array(Text1)

... você está criando um array com apenas *um* elemento (que é o conteúdo da textbox Text1). Ali não é a quantidade de elementos não, e sim o(s) próprio(s) elemento(s).

 

Abraços,

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta o seguinte codigo

Private Sub Command1_Click()Dim cont As IntegerDim a() As Integercont = 0If Not IsNull And IsNumeric(Text1.Text) Then	ReDim a(CInt(Text1.Text))	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 elemento	Next elementoEnd IfEnd Sub

Olá galera é o seguinte estou com um array de circles mas nao consigo mostrar todos os circles, ele so me mostra um circle o codigo é este abaixo:

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
Ele so esta me mostrando um circle, como se nao tivesse na matriz, e so me mostra uma mensagem dizendo o numero que digitei no Text1, como listo por exemplo 3 circles que digitei no Text1?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo deu certo, eu tirei a comparação abaixo:

 

If Not IsNull And IsNumeric(Text1.Text) Then

E fungou perfeitamente, e diminui -1 na hora que ele da o REDIM assim:

 

ReDim a(CInt(Text1.Text) - 1)

Porque ele estava mostrando um a mais por exemplo 3 ai mostrava os circles partindo do 0 assim ficando 4, agora preciso fazer uma ligacao com lines, alguem sabe com faco isso, ligar os circles com linhas, simulando aresta, tipo ligar o primeiro circle com o segundo com uma linha. Grato amigos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo como faco ele lista 5 que é digitado no text1, ele tem que virar 5 elementos, como faco isso?

Cinco elementos, com o quê cada um?GraymalkinPS: Por favor, pare de floodar o fórum. As pessoas irão responder o seu tópico sem que você faça isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo me desculpa ae, mas é que to apurado mesmo, é 5 elementos circles, eu precisaria de uma matriz com duas posicoes, uma matriz bidimensionada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas, na caixa de texto você *não* tem os cinco circles, certo? Então, o que você quer fazer exatamente?Abraços,Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo é assim, na caixa de text1 digito 5 ai minha funcao vai criar uma MATRIZ de 5 posicoes de circles e apresentar os 5 circles certo? Isso esta dando certo e fungando perfeitamente, ai preciso que ele me abra uma matrz de boolean ou que receba algum tipo de FLAG marcando visitado, mas para isso preciso do seguinte:apos criar a matriz de 5 elementos, que praticamente é um FOR de 1 a 5, preciso que alguma coisa que faca.deseja relacionar 1 com 2?deseja relacionar 1 com 3?deseja relacionar 1 com 4?deseja relacionar 1 com 5?deseja relacionar 2 com 1?deseja relacionar 2 com 2?e assim por diante ate finalizar em 5-5so que sei que isso é um for dentro do doutro, mas como faco ele apresentar a mensagem com os numeros corretos?Isso que eu nao estou conseguindo fazer. Se tiver como alguem me da um Help eu agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algo assim...

 

For i = 1 To 5		For j = 1 To 5			If i <> j Then				If MsgBox("Deseja relacionar " & i & " com " & j & "?", vbYesNo) = vbYes Then					'aqui eu já sugeri o que colocar (um array dentro de outro)				End If			End If		Next j	Next i

...? ;)

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia mano, #@?$%~ queo pariu, se nao fosse voces manos, seis sao os kras mesmo manjam pra kraio, mano vou testar na hora do almoco que estou sem o PC com VB, mas assim que testar ja te digo, Tks mesmo mano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo, deu certo com certeza, e eu gostaria que se ele se relacionasse com o numero do loop ele recebesse um booleam falso preenchendo o datagrid ou receber 1 ou 0, o codigo ficou assim:

 

For i = 1 To text1		For j = 1 To text1			If i <> j Then				If MsgBox("Deseja relacionar " & i & " com " & j & "?", vbYesNo) = vbYes Then					'aqui eu já sugeri o que colocar (um array dentro de outro)										 DataGrid1.Refresh					 Datagrid1.Columns.add(i)					 					 'OBS gostaria de preencher as linhas e colunas com o valor 0 se no meu avento					 'vbYesNo a pessoa der nao e 1 se der sim e estes dados serem preenchidos no DataGrid					 'no que eu fiz acima DataGrid1.Columns.add(i) ele preenche so a linha com os dois loops				 				 End If			End If		Next j	Next i

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.