Gå til innhold

CHOOSE, ?, eller noe annet


Anbefalte innlegg

Heisan

I Clarion kan jeg skrive slik:

MyChoice = choose(Expression, Choice1, Choice2, Choice3, Choice4)

Det betyr at verdien i MyChoice er avhengig av resultatet av Expression

 

Tror det samme kan gjøres slik i C:

MyChoice = ?(Expression, Choice1, Choice2, Choice3, Choice4)

 

Såh - Hvordan gjøres dette i VB2005?

 

Ole

Lenke til kommentar
Videoannonse
Annonse
Er det kanskje Select Case du er ute etter?

http://www.homeandlearn.co.uk/NET/nets1p21.html

7146120[/snapback]

Nei. Det er ikke helt det samme

 

En Choose er en annerledes måte å skrive en CASE på. Se på følgende:

Select Case DagNr
 Case 1
   Dag = "Mandag"
 Case 2
   Dag = "Tirsdag"
 Case 3
.
.
End Select

Et CHOOSE statement vilel løst denne slik:

Dag = Choose(DagNr,"Mandag","Tirsdag","Onsdag".....)

Klart en array ville løst denne enkelt, men det er ikke poenget. Det kule med en CHOOSE er at den kan kombineres da parameterene i choose kan kombineres på så mange måter. F.eks. kan man gjøre slik:

KanLoggePå = Choose(DagensDato.Month > 6, _
                    False, _
                    Choose(DagensDato.Month = 3, _
                           False, _
                           Choose(ErUkedagHelligdag(DagensDato), _
                                  False, _
                                  Choose(DagensDato.Hour = 12,True,False) _
                            ) _
                     ) _
              )

Som vil kunn tillate pålogging første halvdel av året, men ikke i MARS, og heller ikke på en helligdag og at klokka MÅ være i 12'te time

osv. osv.

 

Ole

Endret av HDSoftware
Lenke til kommentar

I så fall vil det vel være like enkelt å skrive sin egen Choose-funksjon?

 

Men uansett, jeg fant noe iallfall:

 

Public Function Choose(ByVal Index As Double, ByVal ParamArray Choice() As Object) As Object

    Member of: Microsoft.VisualBasic.Interaction

Summary:

Selects and returns a value from a list of arguments.

 

Parameters:

Index: Required. Double. Numeric expression that results in a value between 1 and the number of elements passed in the Choice argument.

Choice: Required. Object parameter array. You can supply either a single variable or an expression that evaluates to the Object data type, to a list of Object variables or expressions separated by commas, or to a single-dimensional array of Object elements.

 

Return Values:

Selects and returns a value from a list of arguments.

 

(Hint: Trykker du F2 får du opp Object Browser'en og du kan søke etter funksjoner og annet du måtte ha bruk for) ;)

Lenke til kommentar
(Hint: Trykker du F2 får du opp Object Browser'en og du kan søke etter funksjoner og annet du måtte ha bruk for) ;)

7146807[/snapback]

 

Rett på spikern gitt :-)

 

ObjectBrowser er jo helt genial!

 

Med det samme vi har Object Browser i fokus. Er det mulig å legge inn slike kommentarer som ligger i de innebyggde klassene? Hadde vert fint å få inn dokumentasjon på klassene mine der

 

Ole

Lenke til kommentar
Da tror jeg at du må kunne bruke XML i kommenteringen, og det er kun støttet av C# (som må være den eneste fordelen med C# :p). Men fortvil ikke, det er mulig å få til uten C#

 

http://www.fesersoft.com/products/VBXmlComments/default.asp

http://www.gotdotnet.com/team/vb/

http://msdn.microsoft.com/msdnmag/issues/0...stHaveTools/#S9

7147868[/snapback]

 

Nei, dette er støttet av VB.Net i .Net 2.0 også. Så linkene over bør du se bort fra...

 

Bare skriv 3 stk ''' ("kommentar-tegn") så spretter det opp automatisk et lite eksempel hvor du kan fylle ut. Det er også mulig å legge til flere "tags" der.

 

Husk at xml dokumentasjonen blir kompilert inn i programmet ditt.

Lenke til kommentar

Emnetittelen i denne tråden er ikke god nok, om ikke dette blir endret slik at det er lettere å forstå hva slags informasjon tråden omhandler vil denne bli stengt! En god emnetittel er en tittel som forklarer godt hva innholdet i posten din går ut på. En bruker bør kunne skaffe seg oversikt over hovedinnholdet i posten bare ut fra å lese tittelen. Vennligst forsøk å ha dette i tankene neste gang du starter en tråd, og orienter deg om hva vår nettikette sier om dårlig bruk av emnetitler.

 

Bruk p_edit.gif-knappen i første post for å endre emnetittelen.

 

(Dette innlegget vil bli fjernet ved endring av emnetittel. Vennligst ikke kommenter dette innlegget, men rapporter gjerne dette innlegget når tittelen er endret, så vil det bli fjernet.)

Lenke til kommentar
ekte menn leser ikke manualen.

ekte menn kommenterer ikke kode.

ekte menn bruker IIf flittig

ekte menn bruker ikke Visual Basic :blush: (hmmmm)

7148313[/snapback]

 

HIHIHIHI!!!

Pussig nok svarte du på mitt innledende spørsmål her ;-)

 

IIF er nemlig det samme som ? i C og CHOOSE i Clarion. Eneste er at Clarion kombinerer funksjonen slik at svaret ikke nødvendigvis må være TRUE/FALSE, men faktisk en liste. Kult!!

 

Ole

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...