IIS ASP - True & False!

This is Interesting: Free IT Magazines  
Home > Archive > IIS ASP > July 2005 > True & False!





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author True & False!
Arpan

2005-07-22, 5:52 pm

<%
If(False) Then
Response.Write("False")
Else
Response.Write("True")
End If
%>

In the above code, the Else condition will be executed. Why?

Thanks,

Arpan

Bob Barrows [MVP]

2005-07-22, 5:52 pm

Arpan wrote:
> <%
> If(False) Then
> Response.Write("False")
> Else
> Response.Write("True")
> End If
> %>
>
> In the above code, the Else condition will be executed. Why?
>

Because it's False
--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"


Steven Burn

2005-07-22, 5:52 pm

Because Boolean conditions always default to True. For example;

<%
Dim blnRet
If blnRet <> False Then Response.Write "blnRet is " & blnRet &
"<br><br>"
blnRet = False
If blnRet <> True Then Response.Write "blnRet is " & blnRet
%>

--
Regards

Steven Burn
Ur I.T. Mate Group
www.it-mate.co.uk

Keeping it FREE!
"Arpan" <arpan_de@hotmail.com> wrote in message
news:1122049419.232868.251780@g14g2000cwa.googlegroups.com...
> <%
> If(False) Then
> Response.Write("False")
> Else
> Response.Write("True")
> End If
> %>
>
> In the above code, the Else condition will be executed. Why?
>
> Thanks,
>
> Arpan
>



Mark Schupp

2005-07-22, 5:52 pm

Because the "if block" of an if-then-else construct is executed when the if
statements expression is true. False is never true so the "else block" will
always be executed.

--
--Mark Schupp


"Arpan" <arpan_de@hotmail.com> wrote in message
news:1122049419.232868.251780@g14g2000cwa.googlegroups.com...
> <%
> If(False) Then
> Response.Write("False")
> Else
> Response.Write("True")
> End If
> %>
>
> In the above code, the Else condition will be executed. Why?
>
> Thanks,
>
> Arpan
>



Roland Hall

2005-07-23, 2:48 am

"Steven Burn" wrote in message news:evQsGttjFHA.1416@TK2MSFTNGP09.phx.gbl...
: Because Boolean conditions always default to True. For example;
:
: <%
: Dim blnRet
: If blnRet <> False Then Response.Write "blnRet is " & blnRet &
: "<br><br>"
: blnRet = False
: If blnRet <> True Then Response.Write "blnRet is " & blnRet
: %>

I think you got that backwards.

The initial Boolean value for the new object. If Boolvalue is omitted, or is
false, 0, null, NaN, or an empty string, the initial value of the Boolean
object is false. Otherwise, the initial value is true.

--
Roland Hall
/* This information is distributed in the hope that it will be useful, but
without any warranty; without even the implied warranty of merchantability
or fitness for a particular purpose. */
Technet Script Center - http://www.microsoft.com/technet/scriptcenter/
WSH 5.6 Documentation - http://msdn.microsoft.com/downloads/list/webdev.asp
MSDN Library - http://msdn.microsoft.com/library/default.asp


Arpan

2005-07-23, 9:06 pm

Thanks, mates, for your inputs. In the following 2 sample codes, the
first example executes the 'If' condition whereas the second example
executes the 'Else' condition.

Code 1:
----------------------------------------------
<%
If(1) Then
Response.Write("True")
ElseIf(0) Then
Response.Write("False")
End If
%>
----------------------------------------------

Code 2:
----------------------------------------------
<%
If(0) Then
Response.Write("True")
ElseIf(1) Then
Response.Write("False")
End If
%>
----------------------------------------------

Why?

Thanks once again to all of you,

Regards,

Arpan

Steven Burn

2005-07-23, 9:06 pm

0 generally =True/Success, 1 generally = False/Failure

--
Regards

Steven Burn
Ur I.T. Mate Group
www.it-mate.co.uk

Keeping it FREE!
"Arpan" <arpan_de@hotmail.com> wrote in message
news:1122164385.684365.232750@g49g2000cwa.googlegroups.com...
> Thanks, mates, for your inputs. In the following 2 sample codes, the
> first example executes the 'If' condition whereas the second example
> executes the 'Else' condition.
>
> Code 1:
> ----------------------------------------------
> <%
> If(1) Then
> Response.Write("True")
> ElseIf(0) Then
> Response.Write("False")
> End If
> %>
> ----------------------------------------------
>
> Code 2:
> ----------------------------------------------
> <%
> If(0) Then
> Response.Write("True")
> ElseIf(1) Then
> Response.Write("False")
> End If
> %>
> ----------------------------------------------
>
> Why?
>
> Thanks once again to all of you,
>
> Regards,
>
> Arpan
>



Steven Burn

2005-07-23, 9:06 pm

hehe Roland, knew I'd feck something up somewhere ;o) (usually do)(cheers
for the correction)

--
Regards

Steven Burn
Ur I.T. Mate Group
www.it-mate.co.uk

Keeping it FREE!

"Roland Hall" <nobody@nowhere> wrote in message
news:e4KsOy0jFHA.2916@TK2MSFTNGP14.phx.gbl...
> "Steven Burn" wrote in message

news:evQsGttjFHA.1416@TK2MSFTNGP09.phx.gbl...
> : Because Boolean conditions always default to True. For example;
> :
> : <%
> : Dim blnRet
> : If blnRet <> False Then Response.Write "blnRet is " & blnRet &
> : "<br><br>"
> : blnRet = False
> : If blnRet <> True Then Response.Write "blnRet is " & blnRet
> : %>
>
> I think you got that backwards.
>
> The initial Boolean value for the new object. If Boolvalue is omitted, or

is
> false, 0, null, NaN, or an empty string, the initial value of the Boolean
> object is false. Otherwise, the initial value is true.
>
> --
> Roland Hall
> /* This information is distributed in the hope that it will be useful, but
> without any warranty; without even the implied warranty of merchantability
> or fitness for a particular purpose. */
> technet Script Center - http://www.microsoft.com/technet/scriptcenter/
> WSH 5.6 Documentation -

http://msdn.microsoft.com/downloads/list/webdev.asp
> MSDN Library - http://msdn.microsoft.com/library/default.asp
>
>



Roland Hall

2005-07-24, 3:07 am

"Steven Burn" wrote in message
news:exq4$u%23jFHA.3692@TK2MSFTNGP09.phx.gbl...
: hehe Roland, knew I'd feck something up somewhere ;o) (usually do)(cheers
: for the correction)

I dunno Steven. I think I'm shock and you're awe. I wait patiently for the
times when the masters miss one. (O;=

--
Roland Hall
/* This information is distributed in the hope that it will be useful, but
without any warranty; without even the implied warranty of merchantability
or fitness for a particular purpose. */
Technet Script Center - http://www.microsoft.com/technet/scriptcenter/
WSH 5.6 Documentation - http://msdn.microsoft.com/downloads/list/webdev.asp
MSDN Library - http://msdn.microsoft.com/library/default.asp


Roland Hall

2005-07-24, 3:07 am

"Arpan" wrote in message
news:1122164385.684365.232750@g49g2000cwa.googlegroups.com...
: Thanks, mates, for your inputs. In the following 2 sample codes, the
: first example executes the 'If' condition whereas the second example
: executes the 'Else' condition.
:
: Code 1:
: ----------------------------------------------
: <%
: If(1) Then
: Response.Write("True")
: ElseIf(0) Then
: Response.Write("False")
: End If
: %>
: ----------------------------------------------
:
: Code 2:
: ----------------------------------------------
: <%
: If(0) Then
: Response.Write("True")
: ElseIf(1) Then
: Response.Write("False")
: End If
: %>
: ----------------------------------------------
:
: Why?

I'm winging this answer...

I think that's because both are equal to a value, so both are true. You
weren't testing a variable to see if it was equal to a value.
If somevariable = 0 then

....and unless you assigned a value to it, no matter what value you tested
against it, it would be false. Variables in ASP VBScript are variants. In
other words, they vary depending on how you assign them.

Since you cannot assign a number as a variable, a number alone is a value
and cannot be tested as boolean.

Ok, now I'm cheating...

MSFT says:

Naming Restrictions
Variable names follow the standard rules for naming anything in VBScript. A
variable name:

a.. Must begin with an alphabetic character.
b.. Cannot contain an embedded period.
c.. Must not exceed 255 characters.
d.. Must be unique in the scope in which it is declared.
To test what variable subtype a variable is, use varType(variable)

wscript.echo varType(0) will return 2, which is an integer, so 1 could also
return 2, since it is also an integer.

To find out what type of variable it ss, use typename(variable) to get a
verbose return.

wscript.echo typename(0) returns Integer.

So, it's not boolean which is probably why it returns true for both.

VarType Constants
Constant Value Description
vbEmpty 0 Uninitialized (default)
vbNull 1 Contains no valid data
vbInteger 2 Integer subtype
vbLong 3 Long subtype
vbSingle 4 Single subtype
vbSingle 5 Double subtype
vbCurrency 6 Currency subtype
vbDate 7 Date subtype
vbString 8 String subtype
vbObject 9 Object
vbError 10 Error subtype
vbBoolean 11 Boolean subtype
vbVariant 12 Variant (used only for arrays of variants)
vbDataObject 13 Data access object
vbDecimal 14 Decimal subtype
vbByte 17 Byte subtype
vbArray 8192 Array


Typename Return Values
Value Description
Byte Byte value
Integer Integer value
Long Long integer value
Single Single-precision floating-point value
Double Double-precision floating-point value
Currency Currency value
Decimal Decimal value
Date Date or time value
String Character string value
Boolean Boolean value; True or False
Empty Unitialized
Null No valid data
<object type> Actual type name of an object
Object Generic object
Unknown Unknown object type
Nothing Object variable that doesn't yet refer to an object instance
Error Error


--
Roland Hall
/* This information is distributed in the hope that it will be useful, but
without any warranty; without even the implied warranty of merchantability
or fitness for a particular purpose. */
Technet Script Center - http://www.microsoft.com/technet/scriptcenter/
WSH 5.6 Documentation - http://msdn.microsoft.com/downloads/list/webdev.asp
MSDN Library - http://msdn.microsoft.com/library/default.asp


Steven Burn

2005-07-24, 3:07 am

hehe, good job I'm no master <g>, prolly be worse than I already am :o\

--
Regards

Steven Burn
Ur I.T. Mate Group
www.it-mate.co.uk

Keeping it FREE!

"Roland Hall" <nobody@nowhere> wrote in message
news:erL2sQAkFHA.3312@TK2MSFTNGP10.phx.gbl...
> "Steven Burn" wrote in message
> news:exq4$u%23jFHA.3692@TK2MSFTNGP09.phx.gbl...
> : hehe Roland, knew I'd feck something up somewhere ;o) (usually

do)(cheers
> : for the correction)
>
> I dunno Steven. I think I'm shock and you're awe. I wait patiently for

the
> times when the masters miss one. (O;=
>
> --
> Roland Hall
> /* This information is distributed in the hope that it will be useful, but
> without any warranty; without even the implied warranty of merchantability
> or fitness for a particular purpose. */
> technet Script Center - http://www.microsoft.com/technet/scriptcenter/
> WSH 5.6 Documentation -

http://msdn.microsoft.com/downloads/list/webdev.asp
> MSDN Library - http://msdn.microsoft.com/library/default.asp
>
>



Mark Schupp

2005-07-25, 6:06 pm

> "Arpan" wrote in message
> news:1122164385.684365.232750@g49g2000cwa.googlegroups.com...
> : Thanks, mates, for your inputs. In the following 2 sample codes, the
> : first example executes the 'If' condition whereas the second example
> : executes the 'Else' condition.
> :
> : Code 1:
> : ----------------------------------------------
> : <%
> : If(1) Then
> : Response.Write("True")
> : ElseIf(0) Then
> : Response.Write("False")
> : End If
> : %>
> : ----------------------------------------------
> :
> : Code 2:
> : ----------------------------------------------
> : <%
> : If(0) Then
> : Response.Write("True")
> : ElseIf(1) Then
> : Response.Write("False")
> : End If
> : %>
> : ----------------------------------------------
> :
> : Why?


The definition of a "true" expression is one that returns a non-zero value.
From the docs for CBool():

If expression is zero, False is returned; otherwise, True is returned. If
expression can't be interpreted as a numeric value, a run-time error occurs.

Try this for fun:
response.write CLng(true)
response.write CLng(false)


--
Mark Schupp


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com