/ 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
If sætninger
Fra : Klaus Egebjerg


Dato : 29-03-02 18:30

Hej

Jeg forsøger mig med nogle If-sætninger i øjeblikket, me det går ikke så
godt.

Jeg har opstillet følgende sætninger:

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
If (strMin1 > 15 & strMin1 < 21) Then strEffektiv1 = 10
If (strMin1 > 20 & strMin1 < 26) Then strEffektiv1 = 12
If (strMin1 > 25 & strMin1 < 31) Then strEffektiv1 = 15
If (strMin1 > 30 & strMin1 < 36) Then strEffektiv1 = 19
If (strMin1 > 35 & strMin1 < 41) Then strEffektiv1 = 23
If (strMin1 > 40 & strMin1 < 46) Then strEffektiv1 = 27
If (strMin1 > 45 & strMin1 < 51) Then strEffektiv1 = 28
If (strMin1 > 50 & strMin1 < 61) Then strEffektiv1 = 30
If (strMin1 > 60) Then strEffektiv1 = 35

End If

Desværre så napper strEffektiv altid værdien 30. Jeg har lavet en kontrol på
at strMin er rigtig.

Hvad kan jeg gøre forkert ?

--
Med venlig hilsen

Klaus Egebjerg




 
 
Torben Brandt (29-03-2002)
Kommentar
Fra : Torben Brandt


Dato : 29-03-02 19:41

Klaus Egebjerg wrote in dk.edb.internet.webdesign.serverside.asp:
> Hej
>
> Jeg forsøger mig med nogle If-sætninger i øjeblikket, me det går ikke så
> godt.
>
> Jeg har opstillet følgende sætninger:
>
> 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
> If (strMin1 > 15 & strMin1 < 21) Then strEffektiv1 = 10
> If (strMin1 > 20 & strMin1 < 26) Then strEffektiv1 = 12
> If (strMin1 > 25 & strMin1 < 31) Then strEffektiv1 = 15
> If (strMin1 > 30 & strMin1 < 36) Then strEffektiv1 = 19
> If (strMin1 > 35 & strMin1 < 41) Then strEffektiv1 = 23
> If (strMin1 > 40 & strMin1 < 46) Then strEffektiv1 = 27
> If (strMin1 > 45 & strMin1 < 51) Then strEffektiv1 = 28
> If (strMin1 > 50 & strMin1 < 61) Then strEffektiv1 = 30
> If (strMin1 > 60) Then strEffektiv1 = 35
>
> End If
>
> Desværre så napper strEffektiv altid værdien 30. Jeg har lavet en kontrol på
> at strMin er rigtig.
>
> Hvad kan jeg gøre forkert ?

Du skal bruge AND i stedet for & (& sætter strenge sammen)

Prøv at se om det ikke hjælper...

mvh Torben

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Klaus Egebjerg (29-03-2002)
Kommentar
Fra : Klaus Egebjerg


Dato : 29-03-02 19:58




"Torben Brandt" <torben@actuar.dk> wrote in message
news:a82cfa$cmu$1@sunsite.dk...
> Klaus Egebjerg wrote in dk.edb.internet.webdesign.serverside.asp:
> > Hej
> >
> > Jeg forsøger mig med nogle If-sætninger i øjeblikket, me det går ikke så
> > godt.
> >
> > Jeg har opstillet følgende sætninger:
> >
> > 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
> > If (strMin1 > 15 & strMin1 < 21) Then strEffektiv1 = 10
> > If (strMin1 > 20 & strMin1 < 26) Then strEffektiv1 = 12
> > If (strMin1 > 25 & strMin1 < 31) Then strEffektiv1 = 15
> > If (strMin1 > 30 & strMin1 < 36) Then strEffektiv1 = 19
> > If (strMin1 > 35 & strMin1 < 41) Then strEffektiv1 = 23
> > If (strMin1 > 40 & strMin1 < 46) Then strEffektiv1 = 27
> > If (strMin1 > 45 & strMin1 < 51) Then strEffektiv1 = 28
> > If (strMin1 > 50 & strMin1 < 61) Then strEffektiv1 = 30
> > If (strMin1 > 60) Then strEffektiv1 = 35
> >
> > End If
> >
> > Desværre så napper strEffektiv altid værdien 30. Jeg har lavet en
kontrol på
> > at strMin er rigtig.
> >
> > Hvad kan jeg gøre forkert ?
>
> Du skal bruge AND i stedet for & (& sætter strenge sammen)
>
> Prøv at se om det ikke hjælper...
>
> mvh Torben
>
Tak Torben

Det virkede

mvh
Klaus




Jørn Andersen (29-03-2002)
Kommentar
Fra : Jørn Andersen


Dato : 29-03-02 21:54

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

F.Larsen (30-03-2002)
Kommentar
Fra : F.Larsen


Dato : 30-03-02 23:22

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


Jørn Andersen (31-03-2002)
Kommentar
Fra : Jørn Andersen


Dato : 31-03-02 01:38

On Sat, 30 Mar 2002 23:21:55 +0100, "F.Larsen" <N0Spam@spamfilter.dk>
wrote:

>Hvad hvis Min1 nu er 1,2,3 eller 4 ?

Godt spørgsmål :)

Mvh. Jørn



PS: Gider du tage et kig på:
<URL: http://www.usenet.dk/netikette/citatteknik.html>

--
Jørn Andersen,
Brønshøj

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

Månedens bedste
Årets bedste
Sidste års bedste