Avatar billede Slettet bruger
14. oktober 2003 - 10:50 Der er 6 kommentarer og
2 løsninger

tilføje nyt element i array

Hej x-perter..

Et simpelt spørgsmål.

Jeg har et array med x antal pladser.

Lad os sige at de 10 første pladser i arrayet er fyldt op - og nu vil jeg gerne tilføje et nyt element til arrayet.

Hvordan finder jeg ud af hvor mange elementer der i arrayet, og hvordan sikrer jeg at elementet bliver tilføjet til første ledige plads i arrayet?
Avatar billede lokespas Nybegynder
14. oktober 2003 - 11:11 #1
'ubound fortæller dig hvor mange elementer der er i arrayet

'ubound(arrtmp())

'hvis du vil tilføje et nyt element til et array kan du bruge

'ReDim Preserve ArrTmp(5)

Dim ArrTmp() As String

ReDim ArrTmp(4)

ArrTmp(0) = "yada"
ArrTmp(1) = "yada"
ArrTmp(2) = "yada"
ArrTmp(3) = "yada"
ArrTmp(4) = "yada"

ReDim Preserve ArrTmp(5)

ArrTmp(5) = "yada1"

Debug.Print ArrTmp(5)
Avatar billede lokespas Nybegynder
14. oktober 2003 - 11:18 #2
'det er ikke helt rigtig hvad jeg skriver
'hvilket du kan se på eksl.
Dim ArrTmp(6 To 10) As String

LBound(ArrTmp) vil give 6
UBound(ArrTmp) vil give 10
Avatar billede joern Nybegynder
14. oktober 2003 - 11:21 #3
Hej,

Steyr skal så huske at oprette array'et som dynamisk.  Hvis det er med et fast antal elementer vil ubound angive det sidste, selv om det intet indeholder.

Ved et evt. array med fast antal, (f.eks. et i flere dimensioner), kan man
med en løkke teste på om et element indeholder noget.

For a = 0 to Ubound(var)
  if len(var(a)) = 0 then exit for
next a
  var (a) = "nyt indhold"

M.v.h.  Jørn
Avatar billede Slettet bruger
14. oktober 2003 - 11:25 #4
//lokespas

Har kigget på UBound og LBound, men de fortæller jo kun 'øvre' og 'nedre' grænse i arrayet.
Jeg har brug for at vide, hvor mange pladser der p.t. er optaget i arrayet, og sikre mig, at det nye element som skal tilføjes - bliver tilføjet på første ledige plads i arrayet...
Avatar billede Slettet bruger
14. oktober 2003 - 11:27 #5
// joern

Du er inde på noget af det rigtige!
Jeg tester lige din løkke....
Avatar billede Slettet bruger
14. oktober 2003 - 11:34 #6
// joern

Perfekt! Det var lige det jeg skulle bruge...

// lokespas

Jeg tror jeg kan bruge dit svar senere i min programmering!
Avatar billede lokespas Nybegynder
14. oktober 2003 - 11:37 #7
tjaa det ser ud til jeg har misforstået spørgsmålet. Det hele, som joern skriver, kan gøres med en løkke
Avatar billede Slettet bruger
14. oktober 2003 - 11:48 #8
//lokespas

Måske bare min beskrivelse der sucks lidt.... men jeg tror jeg kan bruge ReDim og Preserve i en anden sammenhnæng
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