Hvad hvis Min1 nu er 1,2,3 eller 4 ?
--
Flemming
Støjdæmp din PC:
http://hjem.get2net.dk/Quake2/AlphaPal8045T/index.htm
Asus A7V266-E.:
http://hjem.get2net.dk/Quake2/LowNoise2/A7V266-E.htm
"Jørn Andersen" <jorn@jorna.dk> wrote in message
news:ohk9au0jehp5feu138v4hevoq0ovnb19jc@4ax.com...
> On Fri, 29 Mar 2002 19:57:45 +0100, "Klaus Egebjerg"
> <klausegebjerg@get2net.dk> wrote:
>
> >> > strMin1 = Trim(Request.form("Min1"))
> >> > If (strMin1 = 0) Then strEffektiv1 = 0
> >> > If (strMin1 > 5 & strMin1 < 11) Then strEffektiv1 = 6
> >> > If (strMin1 > 10 & strMin1 < 16) Then strEffektiv1 = 8
>
> <snip resten>
>
> Udover den med &, så sammenligner du faktisk en tekststreng med et
> tal, og det kan give ret uforudsigelige resultater, hvis du ikke
> kender dit udfaldsrum.
>
> Derudover er det en lidt uhensigtsmæssig If-opbygning du har, da der
> skal testes på alle betingelser (= sløv kode).
>
> Prøv i stedet:
> strMin1 = Trim(Request.form("Min1"))
> ' Vær sikker på, at din værdi er numerisk og konvertér den til et tal
> If IsNumeric(strMin1) Then
> intMin1 = CInt(strMin1)
> Else
> ' Der opstod en fejl - træk i nødbremsen
> End If
>
>
> If intMin1 = 0 Then
> strEffektiv1 = 0
> ElseIf (intMin1 > 5 And intMin1 < 11) Then
> strEffektiv1 = 6
> ElseIf (intMin1 > 10 & intMin1 < 16) Then
> strEffektiv1 = 8
>
> ' osv.
> Else
> ' blabla
> End If
>
> Fordelen ved ElseIf (eller Select Case, som gør det samme) er at når
> den har fundet en betingelse, der er opfyldt, hopper den ud af If'en
> og kan fortsætte uden at teste resten af betingelserne.
>
> >Det virkede
>
> - indtil du får en fejl :)
>
>
> Good luck,
> Jørn
>
> --
> Jørn Andersen,
> Brønshøj