Avatar billede thomas_r_a Nybegynder
25. november 2002 - 13:39 Der er 4 kommentarer og
1 løsning

Kan man bruge byref eller kan man returnere et array fra en funk.

Jeg kan ikke få nogen af metoderne til at virker. Gør jeg noget forkert eller er der en anden metode ?

Eks.

function add(matrix, int_x, int_y)
  redim preserve matrix(int_x, int_y+1)

  matrix(int_x, int_y) = 5

  add = matrix
end function

eller

sub add(byref matrix, int_x, int_y)
  redim preserve matrix(int_5, int_y+1)

  matrix(int_x, int_y + 1) = 5
end sub


' til funktionen
dim liste()

liste = add(liste, 1, 1)

' til sub
dim liste()

add(liste, 1, 1)
Avatar billede hstenbaek Nybegynder
25. november 2002 - 13:47 #1
Add er et reserveret ord - prøv at kalde dine funktioner noget andet!

Når du kalder en sub skal du ikke bruge (..)

Så længe du ikke specificere byref eller byval så overføre du byref
Avatar billede hstenbaek Nybegynder
25. november 2002 - 13:49 #2
Nedenstående virker begge fint! Du havde også en fejl i sub add(), linien med matrix(int_5; int_5 er der vist ikke noget der hedder ;-)

Function adda(matrix, int_x, int_y)
  ReDim Preserve matrix(int_x, int_y + 1)

  matrix(int_x, int_y) = 5

  adda = matrix
End Function


Sub addb(ByRef matrix, int_x, int_y)
  ReDim Preserve matrix(int_x, int_y + 1)

  matrix(int_x, int_y + 1) = 5
End Sub

Dim liste()

liste = adda(liste, 1, 1)

' til sub
'Dim liste()
addb liste, 1, 1
Avatar billede thomas_r_a Nybegynder
25. november 2002 - 13:49 #3
undskyld - add var egentlig et navn jeg lige hurtigt fandt på til dette eksempel. Det navn jeg normalt benytter er GetMatrix og jeg ved godt at der ikke benyttes paranteser om en sub. Det var en lille fejl.
Avatar billede thomas_r_a Nybegynder
25. november 2002 - 13:52 #4
Jeg kan ikke få det til at virke. Jeg får en fejl med at mit index er uden for området når jeg prøver at udskrive min liste.
Avatar billede hstenbaek Nybegynder
25. november 2002 - 13:59 #5
Er det så ikke fordi din udskrift funktion løber ud over listen?
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