|
| Mystisk problem med Left() Fra : Thomas Smedebøl |
Dato : 08-10-02 09:28 |
|
I denne linie:
var_filename_clean = Left(var_filename_clean,
Cint(Len(var_filename_clean)-1))
Får jeg fejlen:
Error Type:
Microsoft VBScript runtime (0x800A0005)
Invalid procedure call or argument: 'Left'
/test.asp, line 137
Hvad gør jeg galt? Det fungerer fint hvis jeg skriver et tal istedet for
Cint(Len(var_filename_clean)-1))...
Mvh Thomas
| |
Kasper Katzmann (08-10-2002)
| Kommentar Fra : Kasper Katzmann |
Dato : 08-10-02 09:44 |
|
> Hvad gør jeg galt? Det fungerer fint hvis jeg skriver et tal istedet for
> Cint(Len(var_filename_clean)-1))...
Jeg er ikke sikker, men når du bruger Len, returnerer den vel et heltal. Det
du så gør, er at du prøver at konvertere et heltal til et heltal. Mon ikke
det er her det går galt?
/Kasper K
| |
Jens Gyldenkærne Cla~ (08-10-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 08-10-02 10:13 |
|
Kasper Katzmann skrev:
>> Hvad gør jeg galt? Det fungerer fint hvis jeg skriver et tal
>> istedet for Cint(Len(var_filename_clean)-1))...
>
> Jeg er ikke sikker, men når du bruger Len, returnerer den vel
> et heltal. Det du så gør, er at du prøver at konvertere et
> heltal til et heltal. Mon ikke det er her det går galt?
Nej. Der er ikke noget galt i at konvertere et heltal til et heltal
(ud over at det er overflødigt).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Thomas Smedebøl (08-10-2002)
| Kommentar Fra : Thomas Smedebøl |
Dato : 08-10-02 10:37 |
|
> Jeg er ikke sikker, men når du bruger Len, returnerer den vel et heltal.
Det
> du så gør, er at du prøver at konvertere et heltal til et heltal. Mon ikke
> det er her det går galt?
Jeg skrev kun Cint på for at slippe for at få at vide jeg skulle gøre det!
Jeg har prøvet begge dele, og intet af det virker...
Den virker også fint hvis jeg kun bruger Len() uden at trække noget fra
dennes værdi. Jeg har prøvet så at rykke regnestykket Len() - 4 ud i en
variabel, og derefter bruge variablen i Left(), men det vil den heller
ikke???
Mvh Thomas
| |
Chrisser (08-10-2002)
| Kommentar Fra : Chrisser |
Dato : 08-10-02 11:21 |
|
"Thomas Smedebøl" <whisdow@hotmail.com> skrev i en meddelelse
news:anu8p0$793$1@sunsite.dk...
>
> Den virker også fint hvis jeg kun bruger Len() uden at trække noget fra
> dennes værdi. Jeg har prøvet så at rykke regnestykket Len() - 4 ud i en
> variabel, og derefter bruge variablen i Left(), men det vil den heller
> ikke???
>
Jeg har prøvet nøjagtig det samme, fandt ud af at min variabel en sjælden
gang imellem var tom eller null, så nu tester jeg på begge dele, og fejlen
er forsvundet..........det virkede på mig som om risikoen for at min
variabel kunne være tom eller null var nok til at den fejlede hver gang, det
kan jeg nu ikke helt forstå, men sådan er der så meget...
if trim(var) = ""
// gør noget andet
elseif isNull( var )
// gør noget andet
else
// brug bare len og left
Chrisser
| |
Thomas Smedebøl (08-10-2002)
| Kommentar Fra : Thomas Smedebøl |
Dato : 08-10-02 14:42 |
|
> Jeg har prøvet nøjagtig det samme, fandt ud af at min variabel en sjælden
> gang imellem var tom eller null, så nu tester jeg på begge dele, og fejlen
> er forsvundet..........det virkede på mig som om risikoen for at min
> variabel kunne være tom eller null var nok til at den fejlede hver gang,
det
> kan jeg nu ikke helt forstå, men sådan er der så meget...
Tak for hjælpen - det var præcis det der var problemet, selvom det godt nok
er absurd!?!?
Mvh Thomas
| |
Chrisser (08-10-2002)
| Kommentar Fra : Chrisser |
Dato : 08-10-02 14:50 |
|
"Thomas Smedebøl" <whisdow@hotmail.com> skrev i en meddelelse
news:anun3g$2si$1@sunsite.dk...
...........det virkede på mig som om risikoen for at min
> > variabel kunne være tom eller null var nok til at den fejlede hver gang,
> det
> > kan jeg nu ikke helt forstå, men sådan er der så meget...
>
> Tak for hjælpen - det var præcis det der var problemet, selvom det godt
nok
> er absurd!?!?
>
Ja lidt, ikke??
Jeg har sg* aldrig før stødt på at nogen oversætter/fortolker tænker på at
noget måske kan gå galt.....
Og hvis det er tilfældet, hold da kæft hvor må jeg være god til at kode
siden resten så ikke kan gå galt
Nej alvorligt talt, jeg aner ikke hvorfor det skal til lige der, men nu ved
jeg da, at det også var grunden til at det gik galt ved
mig...............jeg kunne jo ikke være sikker på at det var den test - jeg
kunne kun se at fejlen forsvandt da jeg lagde den ind, men siden det også
virker ved dig må der jo være noget om det...
CHrisser
| |
Jens Gyldenkærne Cla~ (08-10-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 08-10-02 10:18 |
|
Thomas Smedebøl skrev:
> I denne linie:
> var_filename_clean = Left(var_filename_clean,
> Cint(Len(var_filename_clean)-1))
Står det på to linjer som her? I så fald er det formentlig
problemet. I asp har linjeskift betydning. Du kan evt benytte
understreg ("_") til at bryde lange linjer.
I modsat fald - prøv at udskrive værdierne af de enkelte dele af
sætningen:
Response.write (Len(var_filename_clean) )
Response.write (Len(var_filename_clean) - 1)
etc.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Thomas Smedebøl (08-10-2002)
| Kommentar Fra : Thomas Smedebøl |
Dato : 08-10-02 10:35 |
|
> Står det på to linjer som her?
Nej - det står på en linie - syntaxen er korrekt, det er Left() der er et
problem med!
Mvh Thomas
| |
Peter Lykkegaard (08-10-2002)
| Kommentar Fra : Peter Lykkegaard |
Dato : 08-10-02 11:42 |
|
Som svar på skriblerier nedfældet af Thomas Smedebøl :
> I denne linie:
> var_filename_clean = Left(var_filename_clean,
> Cint(Len(var_filename_clean)-1))
>
Hvad er indholdet af var_filename_clean?
Prøv
Response.Write var_filename_clean & "<br>"
Response.Write Len(var_filename_clean) & "<br>"
Response.Write Cint(Len(var_filename_clean) - 1) & "<br>"
Response.Write Left(var_filename_clean, Cint(Len(var_filename_clean)-1)) &
"<br>"
Response.Write Left(var_filename_clean, 1) & "<br>"
Det skulle gerne give dig en ide om hvad der er galt
Left har det lidt skidt hvis man ryger "under" antal karakterer i variablen
mvh/Peter Lykkegaard
| |
|
|