13. februar 2002 - 20:55Der er
7 kommentarer og 1 løsning
if-sætning fanger ikke tilfælde
Nedenstående if fanger ikke det, den skal - jeg ved med sikkerhed, at arrAreacodes(0,i) på et tidspunkt indeholder 30 (som er en string) og areacode_fra_no indeholder lige netop 30 (fra en input på en tidligere side)
Er der nogen, der kan komme med et forslag til hvorfor det tilfælde ikke bliver fanget?
<kode> if areacode_fra_no = arrAreacodes(0,i) then resultat_fra = 1 elseif areacode_til_no = arrAreacodes(1,i) then resultat_til = 1 end if </kode>
Skal virksomheder stå stærkere mod angreb og kunne udvikle sig, skal sikkerhed, drift og forretning tænkes sammen. Det er tanken bag Jysk IT’s ambition om at skabe en “sikker fremtid” for kunderne.
Grunden til at det ikke vil virke er fordi at du nok vil prøve at sammenligne to variabler med forskellige datatyper.
Prøv at skrive følgeden:
if Cint(areacode_fra_no) = Cint(arrAreacodes(0,i)) then resultat_fra = 1 elseif Cint(areacode_til_no) = Cint(arrAreacodes(1,i)) then resultat_til = 1 end if
Bemærk at hvis "resultat_fra" er NULL eller ikke er et tal opstår der en fejl, fordi at funktionen Cint skal have en talværdi at arbejde med.
Synes godt om
Slettet bruger
13. februar 2002 - 21:10#2
Har også været min tanke, det har jeg prøvet - samt et hav af andre konverteringer - men jeg får "type mismatch".
Kan jeg iøvrigt bruge cint, når der kan risikere at være bogstaver i min variabel og/eller array?
goddess >> Nej du kan ikke anvende Cint hvis det ikke er en numerisk værdi. Det du kan gøre er at lave en funktion der retunere værdien "0" i tilfælde at din variabel enten er NULL eller en tekststreng. F.eks.
Function cIntNotToNULL(ByVal Param) If Param = "" Or IsNumeric(Param) = False Then Param = 0 End If cIntNotToNULL = Param End Function
Synes godt om
Slettet bruger
13. februar 2002 - 21:38#4
men jeg er sådan set ikke interesseret i at vide hvilken type areacode_til_no og arrAreacodes(0,i) er af, men at sammenligne værdien af dem.
Men selvfølgelig, hvis det er et tjek, jeg skal lave først, så må jeg jo gøre det. Jeg kan bare ikke forstå, at det skulle være nødvendigt
du kan ikke sammenligne en variabel (med datatypen integer) med en variabel (der har datatypen char)
Du bliver derfor nød til at konvertere dine variabler til datatypen integer. F.eks. nedenstående eksempel ville ikke udskrive teksten.
firstChar = "10" secondChar = 10
If firstChar = secondChar Then Response.Write "Et eller andet" End If
Skal det virke skal du skrive:
If Cint(firstChar) = secondChar Then Response.Write "Et eller andet" End If
Håber at det kan bruges...
Synes godt om
Slettet bruger
13. februar 2002 - 22:19#6
jamen det kan det da - jeg har ikke forsøgt endnu, men du har da givet mig lidt overblik :) Så der er da lidt point til dig - det kan dog være jeg kommer med lidt små spørgsmål senere, men nu går jeg offline.
Det lykkedes - nu konverterer jeg ikke til noget som helst, men tilgengæld så trimmer jeg dem, og det virker - både med tal og bogstaver i een stor pærevælling :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.