Avatar billede martin_moth Mester
23. marts 2002 - 21:00 Der er 5 kommentarer og
1 løsning

Supernem: Erklæring af array

Hejsa. Her en ren foræring til den der lige ved følgende:

Jeg skal erklære et "2-dimentionalt" array

Dvs. noget som følgende MitArray(i,j) as String

hvor i = 1 .. 4

og for i = 1 haves j = 1 .. 5
og for i = 2 haves j = 1 .. 4
og for i = 3 haves j = 1 .. 5
og for i = 4 haves j = 1 .. 6

Giver det mening? Bemærk, at man godt skal kunne kalde MitArray(4,6) men ikke MitArray(1,6), da j kun går til 5 for i = 1.

F.eks. kan man fylde arrayet som følgende:

MitArray(1,1) = "hej, i=1, j=1"
MitArray(2,4) = "hej, i=2, j=4"
osv. osv.

50 points til den hurtigste...

/Martin
Avatar billede martin_moth Mester
23. marts 2002 - 21:10 #1
PS:

Man kan _vist_ gøre følgende:

Public Type Dummy
  tabel1(1 To 5) As String
  tabel2(1 To 4) As String
  tabel3(1 To 5) As String
  tabel4(1 To 6) As String
End Type

Public MitArray(1 To 4) As Dummy

og så kalde MitArray(2).tabel4(4) = "hej, i=2, j=4"

Men det virker ikke helt som jeg tænker mig, og kræver desuden at Dummy bliver erklæret i et modul (*.bas), og det er jeg ikke interesseret i..

/Martin
Avatar billede simon_jacobsen Nybegynder
23. marts 2002 - 22:13 #2
dim (8) as string
eller
dim (2,2) as integer
Avatar billede simon_jacobsen Nybegynder
23. marts 2002 - 22:13 #3
den øverste er et array
Avatar billede martin_moth Mester
24. marts 2002 - 00:11 #4
Den løsning du har skitseret har jeg jo selv foreslået. Og den duer jo fint, bortset fra, at

dim MitArray(4,6) as String

bevirker, at der bliver oprettet 24 "pladser" i mit array. Det kunne være lækkert, om man kunne definere det som

Dim MitArray(i,j) as String

hvor i = 1 .. 4

og på en eller anden måde få fortalt, at
for i = 1 haves j = 1 .. 5
for i = 2 haves j = 1 .. 4
for i = 3 haves j = 1 .. 5
for i = 4 haves j = 1 .. 6

altså i alt kun 20 pladser.

Det jeg er ude efter er nemlig at kunn elave en løkke, der løber andet index i tabellen igennem fra 1 til antallet af elementer i den pågældende tabel.

Altså i mit eksempel, så skal programmet loope med i = 1 to 4 og for hver værdi af i loope gennem samtlige j'er (hhv. 5,4,5,6 for i = 1,2,3,4)...

Kan man det?
Avatar billede martin_moth Mester
24. marts 2002 - 00:13 #5
Ved du hvad - jeg har lavet om på min øvrige kode, så et array med 24 pladser kan bruges. Og du får dine poients - selvom jeg ikke synes at jeg fik et helt svar. Men tak skal du da have ;o) /Martin
Avatar billede simon_jacobsen Nybegynder
24. marts 2002 - 11:59 #6
jeg indrømmer det var lidt hurtigt skrevet.
jeg forstår ikke helt det sidste af dit spørgsmål. men kunne det være noget med :
Option Explicit
dim j, i as integer

Private Sub Form_load()
j = 1
i = 1
dim (i, j) as integer
End sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester