Avatar billede sion Nybegynder
16. januar 2003 - 10:00 Der er 4 kommentarer og
1 løsning

Or/And ved Enum

Hvordan kan man tjekke om en en Enum-konstant er FLERE end én variabel? F.eks. med "Or" eller "And"? Følgende kodeeksempel illustere hvad jeg vil nå frem til...

Private Enum SKUD_RETNING
    DIR_UP = 0
    DIR_DOWN = 1
    DIR_LEFT = 2
    DIR_RIGHT = 3
End Enum

Private Sub Form_Click()
    'Skuddet skal op og til højre
    Loop_Skud DIR_UP Or DIR_RIGHT
End Sub

Private Sub Loop_Skud(SkudRetning As SKUD_RETNING)
    If SkudRetning = DIR_UP Then pY = pY - 1
    If SkudRetning = DIR_DOWN Then pY = pY + 1
    If SkudRetning = DIR_LEFT Then pX = pX - 1
    If SkudRetning = DIR_RIGHT Then pX = pX + 1
End Sub

-Sion
Avatar billede skumbaq Nybegynder
16. januar 2003 - 10:55 #1
virker

Private Sub Form_Click()
  Loop_Skud DIR_UP
  Loop_Skud DIR_RIGHT
End Sub

Ikke
Avatar billede michaelemanuel Nybegynder
16. januar 2003 - 11:05 #2
Din ENUM skal have værdier som er 2^n, som f.eks.

Private Enum SKUD_RETNING
    DIR_UP = 1
    DIR_DOWN = 2
    DIR_LEFT = 4
    DIR_RIGHT = 8
End Enum

Herefter undersøger du med And :
If (SkudRetning And DIR_UP) <> 0 then 'DIR_UP er medtaget
If (SkudRetning And DIR_DOWN) <> 0 then 'DIR_DOWN er medtaget
o.s.v.
Avatar billede sion Nybegynder
16. januar 2003 - 18:44 #3
skumbag -> Ja, men det var ikke spørgsmålet ;)
michaelemanuel -> Kan ikke få det til at virke!
Avatar billede sion Nybegynder
16. januar 2003 - 20:24 #4
Undskyld michaelemanuel, jeg var i skole da jeg testede din kode og det må havde gået lidt stærkt, for den fungerer jo upåklageligt! Takker mange gange!
PS. Er dette "måden" at gøre det på? Altså er der ikke andre metoder at bruge?
Avatar billede michaelemanuel Nybegynder
17. januar 2003 - 08:06 #5
Dette er den bedste og simpleste måde at gøre det på.
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