/ 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
Tom variabel problem.
Fra : Erik Hansen


Dato : 11-05-01 13:13

Hejsa.

Jeg har en form hvor jeg har et felt (navn antaltimer) som det er
frivilligt at udfylde. Derfor kan der enten være en værdi eller ingen
værdi.

Dette felt bearbejder jeg så med en

antaltimer = Request.Form("antaltimer")

Herefter har jeg følgende kode.

IF antaltimer THEN
bla bla ..
END IF

Problemet er at hvis der ikke er angivet nogen værdi i feltet
"antaltimer", dvs. at variablen er tom, får jeg en fejl som siger at:

Typerne passer ikke sammen: 'antaltimer' (i linien med IF sætningen.)

Det forstår jeg ikke, for der er jo ingen værdi.

Skriver jeg 0, bliver IF sætningen ikke sand, dvs. at den opfatter 0
som ingen, og det er også som jeg vil have det. Skriver jeg 1 eller
derover bliver If sætningen sand, og den bearbejder indholdet af IF

Men jeg forstår altså bare ikke hvorfor typerne ikke passer sammen.?


....Erik

 
 
Lauritz Jensen (11-05-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 11-05-01 21:42

Erik Hansen wrote:
>
> Jeg har en form hvor jeg har et felt (navn antaltimer) som det er
> frivilligt at udfylde. Derfor kan der enten være en værdi eller
> ingen værdi.
[...]
> IF antaltimer THEN
[...]

Du skriver hvad du gør og hvad der sker, men det eneste du *ikke*
skriver er, hvad du gerne vil opnå

Men jeg tror du vil få glæde af at prøve dette:
If Not (Trim(antaltimer) = "") Then

--
Lauritz

Erik Hansen (12-05-2001)
Kommentar
Fra : Erik Hansen


Dato : 12-05-01 09:57

On Fri, 11 May 2001 22:42:06 +0200, Lauritz Jensen
<lauritz2@hotmail.com> wrote:

>Du skriver hvad du gør og hvad der sker, men det eneste du *ikke*
>skriver er, hvad du gerne vil opnå

Det har du sådan set ret i. Det jeg vil opnår med IF antaltimer THEN
er bare at hvis der er et indhold i variablen antaltimer, så skal den
udføre IF. I PHP som jeg normalt arbejder med kan man gøre det på den
måde, og jeg roder også en del med programmering i C5 som bruer et
pascal ligende sprog, og der gør man på samme måde, så jeg regnede med
at man kunne gøre det på samme måde i ASP.

Jeg har fået en E-mail hvor man giver mig følgende løsning.

IF IsNumeric(antaltimer) THEN...

Og det virker også fint, så længe det er kun er tal jeg skal arbejde
med, og det er det jo, men hvis det nu er andet end tal hvadså.

Når jeg har variablen fra formen, er det jo en streng, det fortæller
VarType() funktionen.

Jeg forstår bare ikke hvorfor jeg får en fejl om at typerne ikke
passer sammen. Som jeg forstår det, så tester jeg jo bare en variabel
om den indeholder en værdi, og at det kan give en fejl at typerne ikke
passer samme når den ingen værdi har, forstår jeg ikke.

....Erik

Lauritz Jensen (12-05-2001)
Kommentar
Fra : Lauritz Jensen


Dato : 12-05-01 14:29

Erik Hansen wrote:
>
> On Fri, 11 May 2001 22:42:06 +0200, Lauritz Jensen
> <lauritz2@hotmail.com> wrote:
>
> Det jeg vil opnår med IF antaltimer THEN
> er bare at hvis der er et indhold i variablen antaltimer, så skal den
> udføre IF.
[...]
> Jeg forstår bare ikke hvorfor jeg får en fejl om at typerne ikke
> passer sammen. Som jeg forstår det, så tester jeg jo bare en variabel
> om den indeholder en værdi, og at det kan give en fejl at typerne ikke
> passer samme når den ingen værdi har, forstår jeg ikke.

Jeg tror asp forstår det således, at der mellem "if" og "then" skal være
et udtryk, der kan evalueres til en boolsk værdi. php (og perl) udfører
denne implicitte konvertering af tekst og numeriske værdier til boolske
værdier, men asp gør åbenbart ikke. Det giver fordele og det giver
ulemper. I php ville du vist ikke få udført if-sætningen, hvis der stod
"0" i feltet(?), selv om der jo så ville stå noget i feltet. Det er igen
fordi du i din kode ikke har angivet, at du kun vil have if-sætningen
udført hvis feltindholdet ikke er tomt eller:
If Not (Trim(antaltimer) = "") Then

--
Lauritz

Erlend Klakegg Bergh~ (12-05-2001)
Kommentar
Fra : Erlend Klakegg Bergh~


Dato : 12-05-01 20:42

Erik Hansen <ehh@post1.tele.dk> skrev i
news:btX7OgiWOQ6QWu=Fi95cyab1vVWG@4ax.com
> Hejsa.
>
> Jeg har en form hvor jeg har et felt (navn antaltimer) som det er
> frivilligt at udfylde. Derfor kan der enten være en værdi eller ingen
> værdi.
>
> Dette felt bearbejder jeg så med en
>

antaltimer = int(Request.Form("antaltimer"))

>
> Herefter har jeg følgende kode.
>
> IF antaltimer THEN
> bla bla ..
> END IF
>
> Problemet er at hvis der ikke er angivet nogen værdi i feltet
> "antaltimer", dvs. at variablen er tom, får jeg en fejl som siger at:
>
> Typerne passer ikke sammen: 'antaltimer' (i linien med IF sætningen.)
>
> Det forstår jeg ikke, for der er jo ingen værdi.
>
> Skriver jeg 0, bliver IF sætningen ikke sand, dvs. at den opfatter 0
> som ingen, og det er også som jeg vil have det. Skriver jeg 1 eller
> derover bliver If sætningen sand, og den bearbejder indholdet af IF
>
> Men jeg forstår altså bare ikke hvorfor typerne ikke passer sammen.?
>
>
> ...Erik

--

Vennlig hilsen Erlend
erlendkb@c2i.net
http://www.kleggen.com/



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

Månedens bedste
Årets bedste
Sidste års bedste