Som svar på skriblerier nedfældet af Jørn Andersen :
> On Wed, 18 Sep 2002 12:57:39 +0200, "Peter Lykkegaard"
> <polonline@hot.mail.com> wrote:
>
>> Faktisk er alle variabler i VBScript af typen variant...
>
> Det er selvfølgelig rigtigt, men den værdi den indeholder kan have
> forskellig type. (Som man i øvrigt kan finde med TypeName-funktionen.)
> Så forskellen er vel mest, at man ikke Dim'er den som en bestemt type,
> men at den kan skifte undervejs.
Du ser det hvis du sammenligner to variabler der burde være af typen integer
eller long, men VBScript opfatter dem som string - pga den grundlæggende
type er variant
Man _skal_ lave convert i dette tilfælde ved at bruge CLng eller CInt for at
få en korrekt sammenligning - dvs fx korrekt boolsk værdi i forhold det
forventede
<%
Dim lngSmall
Dim lngBig
lngSmall = 02
lngBig = 13
Response.Write TypeName(lngBig) & "<br>"
Response.Write TypeName(lngSmall) & "<br>"
If lngSmall > lngBig Then
Response.Write "'" & lngSmall & "' er større end '" & lngBig & "'<br>"
Else
Response.Write "'" & lngSmall & "' er mindre end '" & lngBig & "'<br>"
End If
If CLng(lngSmall) < CLng(lngBig) Then
Response.Write lngSmall & " er mindre end " & lngBig & "<br>"
Else
Response.Write lngSmall & " er større end " & lngBig & "<br>"
End If
Response.End
%>
Damn, det virker uden convert i ASP, men ikke i det program jeg bruger i
forb med VBScript - Damn
Kan det være i forbindelse med at man henter data fra et recordset? - hmmm
mvh/Peter Lykkegaard