/ 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
problemer med "IF"
Fra : Uffe Kousgaard


Dato : 07-04-01 16:31

Hej

Er der en venlig sjæl, der kan fortælle, hvorfor nedenstående ASP-kode ikke
blot genererer følgende tabel:

1 Lille tal
2 Lille tal
3 mellem tal
4 mellem tal
5 mellem tal
6 stort tal
7 stort tal
8 stort tal
9 meget stort tal
10

Det må have noget at gøre med, hvordan "nestede" IF'er skal
angives.Resulatet bliver ret anderledes end det jeg gerne vil have.

På forhånd tak.
Uffe

******************************************
Num=10
response.write("<TABLE BORDER=1><TR><TD>i</TD><TD>kode</TD></TR>")
for i=1 to Num
response.write("<TR>")
response.write("<TD>" & i & "</TD>")
response.write("<TD>")
if i<>Num then
if i>8 then response.write("Meget stort tal")
elseif i>5 then response.write("stort tal")
elseif i>2 then response.write("mellem tal")
else response.write("lille tal")
end if
response.write("</TD>")
response.write("</TR>")
next
response.write("</TABLE>")

******************************************



 
 
Thomas Jespersen (07-04-2001)
Kommentar
Fra : Thomas Jespersen


Dato : 07-04-01 17:00

"Uffe Kousgaard" <uffe@routeware.dk> writes:


> if i<>Num then
> if i>8 then response.write("Meget stort tal")
> elseif i>5 then response.write("stort tal")
> elseif i>2 then response.write("mellem tal")
> else response.write("lille tal")
> end if

Lad os sige at i er 9. Så vil alle betingelserne være opfyldt og
output vil være: "Meget stort talstort talmellem tal".

Jeg vil anbefale at du bruger Select Case i stedet for.

Uffe Kousgaard (07-04-2001)
Kommentar
Fra : Uffe Kousgaard


Dato : 07-04-01 17:07

Hej Thomas

Tak for forslaget, men som du kan se nedenfor fik jeg selv løst problemet
omtrent samtidig. Alle betingelserne bliver nu aldrig opfyldt, da der er
anvendt elseif. Jeg må se at anskaffe en VBscript reference, så jeg slipper
for den her slags problemer.

Hilsen
Uffe

"Thomas Jespersen" <thomas@daimi.au.dk> wrote in message
news:y4nn19shf8z.fsf@sabretooth.daimi.au.dk...
> "Uffe Kousgaard" <uffe@routeware.dk> writes:
>
>
> > if i<>Num then
> > if i>8 then response.write("Meget stort tal")
> > elseif i>5 then response.write("stort tal")
> > elseif i>2 then response.write("mellem tal")
> > else response.write("lille tal")
> > end if
>
> Lad os sige at i er 9. Så vil alle betingelserne være opfyldt og
> output vil være: "Meget stort talstort talmellem tal".
>
> Jeg vil anbefale at du bruger Select Case i stedet for.



Uffe Kousgaard (07-04-2001)
Kommentar
Fra : Uffe Kousgaard


Dato : 07-04-01 17:03

Selvhjælp er nu én gang det bedste.

Problemet ligger i, at denne if-konstruktion opfattes som afsluttet i, når
teksten efter "then" står på samme linie.
> if i>8 then response.write("Meget stort tal")

Dette løser problemet:

if i>8 then
response.write("Meget stort tal")
elseif i>5 then
response.write("stort tal")
......





Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408868
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste