/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
grupper betingelser
Fra : MooreHojer


Dato : 27-02-06 15:42

Hej NG

Hvordan "grupperer" man betingelser i en sammenling sådan at f.eks. har
en ifsætning hvor to betingelser A og B der er forbundet med et 'OR' og
de to betingelser A og B hver består af to betingelser (D,E og F,G) som
er forbundet med et 'and'.
Den skal altå teste om enten D og E er sand og om F og G er sand, og
hvis det er tilfældet bare et af stederne skal koden i ifsætningen
udføres.

Eks.
IF D = 1 and E = 2 OR F = 3 and G = 4 THEN
bla bla bla
END IF

hvor A = 'D = 2 and E = 2' og B = 'F = 3 and G = 4'


Håber at I forstår og kan hjælpe mig.

På Forhånd Tak!

--
MooreHojer


 
 
Jens Gyldenkærne Cla~ (27-02-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 27-02-06 15:57

MooreHojer skrev:

> Hvordan "grupperer" man betingelser i en sammenling

Helt generelt gøres det med parenteser:

   If (A OR B) AND (C OR D) Then


   IF (A AND B) OR (C AND D) Then


   IF A AND (B OR C) AND D Then



> Den skal altå teste om enten D og E er sand og om F og G er
> sand, og hvis det er tilfældet bare et af stederne skal koden
> i ifsætningen udføres.


   If (D OR E) OR (F OR G) Then

Her er parenteserne egentlig ligegyldige - der anvendes kun OR - så
man kan også bare skrive:

   IF D OR E OR F OR G Then
       ' Mindst ét af de fire udtryk er sandt



Hvis man har helt styr på operatorpræcedens og associativitet, kan
man også undlade parenteserne når de ikke er strengt nødvendige.

   IF A AND B OR C AND D Then

- svarer så vidt jeg ved til:

   IF (A AND B) OR (C AND D) Then

- mens

   IF A OR B AND C OR D Then

- svarer til

   IF (A OR (B AND C)) OR D Then

(AND binder stærkere end OR og begge associerer fra venstre).

Men det sikreste er at benytte parenteser så snart man sætter
forskellige operatorled sammen.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

MooreHojer (27-02-2006)
Kommentar
Fra : MooreHojer


Dato : 27-02-06 16:01

[SNIP]

> Men det sikreste er at benytte parenteser så snart man sætter
> forskellige operatorled sammen.

Takker for den fyldestegørende forklaring

--
MooreHojer


Jens Gyldenkærne Cla~ (27-02-2006)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 27-02-06 16:05

Jens Gyldenkærne Clausen skrev:

>> Den skal altå teste om enten D og E er sand og om F og G er
>> sand, og hvis det er tilfældet bare et af stederne skal koden
>> i ifsætningen udføres.

> If (D OR E) OR (F OR G) Then


Hm - jeg har fejllæst din fremstilling af problemet (blev forvirret
af sammestillingen "enten .. og").

Det du leder efter er formentlig følgende:

   If (D AND E) OR (F AND G) Then

Hvis koden kun skal udføres hvis præcis én af betingelserne er
sande (altså D*E eller F*G, men ikke D*E*F*G), kan man bruge XOR
(eXclusive OR):

   If (D AND E) XOR (F AND G) Then
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

MooreHojer (27-02-2006)
Kommentar
Fra : MooreHojer


Dato : 27-02-06 17:50

> Hm - jeg har fejllæst din fremstilling af problemet (blev forvirret
> af sammestillingen "enten .. og").
>
> Det du leder efter er formentlig følgende:
>
> If (D AND E) OR (F AND G) Then

Ja, men jeg havde slet ikke set den anden "fejl" da jeg mere brugte dit
eksempel til at forstå teorien.

> Hvis koden kun skal udføres hvis præcis én af betingelserne er
> sande (altså D*E eller F*G, men ikke D*E*F*G), kan man bruge XOR
> (eXclusive OR):
>
> If (D AND E) XOR (F AND G) Then

Ok


Gælder alt det med paranteser og når det er i en SQL-streng?

--
MooreHojer


Jens Peter Rosenkvis~ (27-02-2006)
Kommentar
Fra : Jens Peter Rosenkvis~


Dato : 27-02-06 18:31

MooreHojer wrote:
>
> Gælder alt det med paranteser og når det er i en SQL-streng?

Det gælder næsten over alt, at AND binder stærkere end OR og paranteser
kan bruges på samme måde.

--
Why do fireflies die so soon?
http://www.jensercube.dk/sig.asp

Søg
Reklame
Statistik
Spørgsmål : 177548
Tips : 31968
Nyheder : 719565
Indlæg : 6408799
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste