Avatar billede biohazard_666 Nybegynder
12. maj 2008 - 16:42 Der er 7 kommentarer og
1 løsning

Array i dimensioner eller egen Type?

Hejsa Eksperter :)

Jeg har brug for en måde, at gemme data på som følgende:
Jeg har et bogstav/tal/tegn. Til dette skal der høre x kommandoer til. Hvordan kan man nemmest gemme dette, så det er hurtigt tilgængeligt?

For at kunne overskue det, kan jeg prøve at "tegne" det som et multidimensionelt array:

arrTest(1,0) = "R"
arrTest(1,1) = "Hejsa"
arrTest(1,2) = "Hej igen"
arrTest(2,0) = "B"
arrTest(2,1) = "Dav"
arrTest(2,2) = "Dav igen"

Jeg har dog søgt og læst lidt her på eksperten, og har læst en masse om, at types er bedre at bruge? Kan bare ikke lige umiddelbart se, hvordan det skal bruges når jeg har brug for at have et varierende antal kommandoer.

Og lige et ekstra-spørgsmål: Hvordan kan jeg tage l-/ ubound() af mit array i første dimension? Så jeg fx kan lave følgende:

For i = lbound(arrTest) to ubound(arrTest)
  if arrTest(i,0) = "R" then
        msgbox "Bingo"
        Exit for
  end if
Next


Håber i kan finde hoved og hale i dette spørgsmål, ellers må i skrive så jeg kan forklare det dybere :)
Avatar billede frand Nybegynder
12. maj 2008 - 17:46 #1
Jeg kan godt lide dictionary objektet til sådanne opgaver

http://support.microsoft.com/kb/187234
Avatar billede biohazard_666 Nybegynder
12. maj 2008 - 18:21 #2
kan man bruget et dictionary med flere "items"? Og er der en måde at identificere keys og items? Skal jo gerne have at jeg ved at x items hører til y keys :/ Kan ikke helt se hvordan det dictionary fungerer, og hvorfor det er smartere end et 2-dimensionelt array
Avatar billede frand Nybegynder
12. maj 2008 - 18:28 #3
Hvis dic er dit objekt

dic.Add "R", Array("Hejsa", "Hejsa igen")
dic.Add "B", Array("Dav", "Dav igen")

dic("R")(0) -> hejsa
dic("R")(1) -> hejsa igen
etc

hvis de skal løbes igennem:

For Each key In dic
    ' key: R, B
    dic(key)(x)
Next
Avatar billede biohazard_666 Nybegynder
12. maj 2008 - 18:41 #4
okay, lyder umiddelbart ret syret :)

Kan man på samme måde tilføje elementer hen af vejen? Så jeg tilføjer lidt hist og her?

fx:

dic.Add "R", Array("hej")
dic.Add "B", Array("123")
dic.Add "R", Array("321")

osv?
Avatar billede biohazard_666 Nybegynder
14. maj 2008 - 21:57 #5
er det noget du ved noget om?
Avatar billede biohazard_666 Nybegynder
16. maj 2008 - 13:28 #6
Fik lavet en kombi-løsning med et dictionary og en type :) Hvis du vil have nogle point, så smid et svar :)
Avatar billede martin_moth Mester
06. juni 2008 - 13:53 #7
det er der vist ikke ;o)
Avatar billede biohazard_666 Nybegynder
06. juni 2008 - 14:03 #8
hehe nej, det er der vist ikke :) Men hey Martin, du har vel ikke et forslag til hvordan det kunne laves? For har stadig en masse performance-problemer :/ Når jeg fx har programmet kørende og holder W i bund eller en anden knap, så bliver reaktionshastigheden en del lavere inde i programmet, så at når jeg slipper W igen, går der lige lidt før der bliver reageret :/
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