Jump to content

Recommended Posts

Posted

Uma array é uma estrutura de data, que apresenta um ou mais valores numa única variável.

Por ex:

Private Sub Command1_Click()
 Dim aNossaArray(3) As String 'aqui declaramos a nossa array com 3 andares
 aNossaArray(1) = "Olá " 'atribuimos o valor "Olá" ao primeiro andar
 aNossaArray(2) = "tudo " 'atribuimos o valor "tudo " ao segundo andar
 aNossaArray(3) = "bem?" 'atribuimos o valor "bem?" ao terceiro andar
 MsgBox aNossaArray(1) ' vai mostrar no ecrã "Olá"
 MsgBox aNossaArray(1) & aNossaArray(2) & aNossaArray(3) ' aqui juntamos as trÊs e fica "Olá tudo bem?" (sem aspas)
End Sub

Usar um ciclo para apresentar arrays:

Private Sub Command1_Click()
 Dim i As Integer ' variavel contador para o ciclo for...
 Dim aNossaArray(3) As String
 aNossaArray(1) = "Olá "
 aNossaArray(2) = "tudo "
 aNossaArray(3) = "bem?"
 For i = 1 To 3 ' o ciclo vai dar 3 voltas, e vai começar do numero 1 até ao 3 cada volta que o ciclo deia acontece isto: (i = i + 1)
 MsgBox aNossaArray(i) ' e aqui vamos apresentar o andar da array, na primeira volta o i = 1 entao apresenta um MSgBox com o conteudo "Olá" e assim sucessivamente..
 Next
End Sub

agora fazer ler para a array com um ciclo:

Private Sub Command1_Click()
 Dim i As Integer
 Dim aNossaArray(3) As String 'aqui declaramos a nossa array com 3 andares
 For i = 1 To 3
   aNossaArray(i) = InputBox("Insira o valor para o andar " + Str(i)) ' o sistema é o mesmo mas em vex de apresentar os valores, lê os valores...
 Next
 For i = 1 To 3
   MsgBox aNossaArray(i)
 Next
End Sub

estes são os termos básicos de array... (acho eu)

Posted

No 2º Exemplo tu nao declaras que ´

For i = 1 To 3
i = i + 1 

por isso

i nao vai ser = a i + 1 i só vai ser i, mas 3 vezes 🙂

PS: Muito Obrigado pelo Tutorial, eu tinha mal era que nao punha aspas, um erro lamme lol

  • 5 weeks later...
Posted

Mais um promenor dos arrays...

Se por acaso quisermos que o nosso array comesse numa posição especifica e não em zero podemos fazer o seguinte:

Dim aNossaArray(4) as String 'Começa em 0 e vai ate 4, ou seja, tem 5 posições
Dim aNossaArray(10 To 14) as String 'Continua a ter 5 posições mas começa na posição 10 e vai ate a posição 14

           

Podemos tambem fazer arrays dentro de outro array. Por exemplo:

                                                                                                      Posição: 1    2    3  4  5

Num Array normal(aNossaArray(4)) teriamos uma estrotura deste genero ->  |__|__|__|__|__|

                                                                                                                                                                                   

Agora se fizermos "Dim aNossaArray(0 To 4, 0 To 4) as String teremos desntro de cada posição mais 4 posições: 

Posição:  1,0  2,0  3,0 4,0  5,0

            |___|___|___|___|___|

              1,1  2,1  3,1 4,1  5,1

            |___|___|___|___|___|

              1,2  2,2  3,2  4,2  5,2

            |___|___|___|___|___|

              1,3  2,3  3,3  4,3  5,3

            |___|___|___|___|___|

              1,4  2,4  3,4  4,4  5,4

            |___|___|___|___|___|

              1,5  2,5  3,5  4,5  5,5

            |___|___|___|___|___|

O desenho naõ esta grande coisa mas pronto  ?

Por vezes não sabemos quantos campos vamos necessitar no nosso array, pois bem, o VB6 permite redimencionar um array mesmo depois do programa estar em execução :

Dim aNossaArray() As String
Private Sub Form_Load()
    ReDim Preserve aNossaArray(4)
End Sub

Redim -> Para redimencionar a variavel

Preserve -> Serve para preservar informação que o array contenha. Caso se utilize apenas "ReDim aNossaArray(4)", o array vai ficar "Em Branco"

cumps

Posted

yah, eu kualker dia meto u tutorial mais xeio 😄 pk tou a dar arrays 👍 e meto metodos de ordenação peskisa, e também como se declara arrays a meio do prog, "redeclara" 🙂 lol

Posted

Sabes-me dizer se da para inicialisar um aray como em C? do tipo -> const unsigned char ArrayTeste[] = "O\L\A";

Em VB6 não sei inicializar um array quando o declaro  ?

cumps

Posted

Sabes-me dizer se da para inicialisar um aray como em C? do tipo -> const unsigned char ArrayTeste[] = "O\L\A";

Em VB6 não sei inicializar um array quando o declaro  ?

cumps

nao, se quiseres inicialisarla com 0 fazes:

dim array(1 to 4) as integer

sub main()

for i = 1 to 4

  array(i) = 0

next

end sub

precebes o codigo?

Posted

Só é pena é não dar para fazer como em C++ por exemlpo :S

Se quiser inicializar o array com uma letra em cada Campo não sou capas, tenho de fazer assim:

ArrayTeste(0) = "O"

ArrayTeste(1) = "L"

ArrayTeste(2) = "A"

E se for uma string mt grande não é nada bonito estar a fazer issu uma a uma  ?

cumps

Posted

Só é pena é não dar para fazer como em C++ por exemlpo :S

Se quiser inicializar o array com uma letra em cada Campo não sou capas, tenho de fazer assim:

ArrayTeste(0) = "O"

ArrayTeste(1) = "L"

ArrayTeste(2) = "A"

E se for uma string mt grande não é nada bonito estar a fazer issu uma a uma  ?

cumps

como é que fasias em c++?

opa poder podes, axo eu, se for o que tou a pensar

se for uma array tipo  array(1 to 100) as string

for i = 1 to 100

  array(i)= Inputbox("Introduza o conteudo da variavel")

next

e inseres um carater para cada posiçao...

Posted

LOL...

joninho Assim dá mas se for uma string mt grande... Eu queria era algo deste tipo ->  static char name1[ ] = { 'O', 'L', 'A' }; , mas não sei fazer em VB6, e tenho as mionhas duvidas que dê, ja procurei e aparece mas é pra .NET

cumps

Posted

NuGuN não sei para que queres declarar uma string dessa maneira quando podes fazer isso com uma variável do tipo String, de qualquer modo podes fazer o seguinte:

Dim a As Variant
Dim b As Variant

Private Sub Command1_Click()

a = Array("O", "L", "A")
b = Array("Forth", Form1.Command1.Caption, Year(Date), "Visual Basic", 34.676, "Java", 76, 954, "Cobol", Time, "ADA")

For i = 0 To UBound(a) Step 1
   Print a(i);
Next i

For i = 0 To UBound(b) Step 1
   Print , b(i)
Next i

End Sub

Cyas 🙂

  • 10 months later...
Posted
Em 13/06/2006 às 19:42, joninho disse:

yah, eu kualker dia meto u tutorial mais xeio 😛data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== pk tou a dar arrays 😉data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== e meto metodos de ordenação peskisa, e também como se declara arrays a meio do prog, "redeclara" 🙂data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== lol

Boas pessoal

ando agora a programar em VB6.0 e como final de periodo eu i um colega meu propose-mos ao nosso prof como projecto final fazer o jogo das Damas. Au qual conseguimos responder ate agora a todas as dificuldades.

Mas agora encaramos com um grave problema  :S nao conseguimos fazer um array que dê para fazer o movimento da peça :s ou seja temos um array mx esta a fazer a contagem na vertical :S ou seja 1;2;3;4...etc . e o tipo de array pretendido é como esse ai no exemplo.

Vou aqui deixar a parte do codigo onde tem de ser aplicado o Array

'========Ciclo para Criar para por peças Tabuleiro========'
For i = 1 To 8
For x = 1 To 8
Load peca1(imagenumero)
  '============================================='
  '============================================='
  peca1(imagenumero).Width = 855
  peca1(imagenumero).Height = 855
  peca1(imagenumero).Top = 200 + (855 * x)
  peca1( imagenumero).Left = 855 + (855 * i)
  peca1( imagenumero).Visible = True
  peca1(imagenumero).Stretch = True
  imagenumero = imagenumero + 1
  Next x
  Next i

Pontos esta aqui e espero que me possam ajudar 😄

Posted

Boas...

Não sei se percebi bem o que queres... Se o que queres é um array para guardar as posições das peças então imagina que o tabuleiro tem 10 quadrados e largura e 10 quadrados de comprimento. Para isto crias um array de 10x10 - dim varArray(9,9) - é 9 e não 10 porque começa do zero.

Para guardares a posição 3 em largura e 7 em comprimento farias isto -> varArray(2, 6) = ....

Cumps

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.