Re: [U2] What is true

2013-08-01 Thread Jim Swain
This is not true as when A='HELLO'  IF (A) returns true.

You use the parenthesis to set a Boolean variable, i.e  BRITISH = (COUNTRY = 
'ENGLAND' OR COUNTRY = 'WALES')  etc   the var BRITISH is set to 1 when the 
conditions inside the parenthesis are met, otherwise BRITISH is set to 0




Jim Swain - Developer
Telephone: +44 (0) 1295 701 810  | Fax: +44 (0) 1295 701 819

www.zafire.com

Consider the environment.  Think before you print.

This is a commercial communication from Zafire Group.
This communication is confidential and is intended only for the person to whom 
it is addressed. If you are not that person you are not permitted to make use 
of the information and you are requested to notify us immediately that you have 
received it and then destroy the copy in your possession.  Zafire Group may 
monitor outgoing and incoming e-mails.  By replying to this e-mail you consent 
to such monitoring.  This e-mail message and any attached files have been 
scanned for the presence of computer viruses. However, you are advised that you 
open attachments at your own risk.

Zafire Limited is a limited liability company registered in England and Wales. 
Co. Reg. No. 3968255. Our registered address is Zafire House, Manor Park, 
Banbury, Oxfordshire OX16 3TB. VAT Reg.No. 754 0161 55. Zafire Aviation 
Software Limited is a limited liability company registered in England and 
Wales. Co. Reg. No. 05577742. Our registered address is Zafire House, Manor 
Park, Banbury, Oxfordshire OX16 3TB. VAT Reg.No. 874 5890 70

If you have any concerns regarding the content of this e-mail please contact 
postmas...@zafire.com

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Tom Whitmore
Sent: 01 August 2013 13:17
To: U2 Users List
Subject: Re: [U2] What is true

Hi,
To add a little more to the discussion.  I know in UniVerse this is true and I 
suspect it is true in other flavors of Pick.

If you wrap a variable in parenthesis it will be treated as a Boolean test.  
For example:

A=''
IF (A) THEN CRT 'TRUE' ELSE CRT 'FALSE'   will result in FALSE.
A=0
IF (A) THEN CRT 'TRUE' ELSE CRT 'FALSE'   will result in FALSE.
A='HELLO'
IF (A) THEN CRT 'TRUE' ELSE CRT 'FALSE'   will result in TRUE.
A=1
IF (A) THEN CRT 'TRUE' ELSE CRT 'FALSE'   will result in TRUE.

I have found this useful in coding.

Tom Whitmore
RATEX Business Solutions

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Brian Leach
Sent: Thursday, August 01, 2013 4:40 AM
To: 'U2 Users List'
Subject: Re: [U2] What is true

To clarify

In multivalue, True is not False, where False is anything that is 'falsy'
i.e. zero or empty.
Obviously different than other languages, notably those where true is -1 (all 
bits set on a signed integer).

So:

A = HELLO
IF A THEN CRT A : WORLD

Gives HELLO WORLD

Regarding file variables, the best way to check for these being assigned on 
UniVerse is to use FILEINFO().

If FileInfo(SomeUnassignedVariable, 0) Then
   Crt This is an open file variable
End Else
   Crt This isn't
End

Brian


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] What is true

2013-08-01 Thread Jim Swain
Now I'm getting confused... its not a case of precedence

In the case of X = Y = 3

X is set to 1 (true) when Y = 3
X is set to 0 (false) when Y # 3

X in this instance will never = 3




Jim Swain - Developer
Telephone: +44 (0) 1295 701 810  | Fax: +44 (0) 1295 701 819

www.zafire.com

Consider the environment.  Think before you print.

This is a commercial communication from Zafire Group.
This communication is confidential and is intended only for the person to whom 
it is addressed. If you are not that person you are not permitted to make use 
of the information and you are requested to notify us immediately that you have 
received it and then destroy the copy in your possession.  Zafire Group may 
monitor outgoing and incoming e-mails.  By replying to this e-mail you consent 
to such monitoring.  This e-mail message and any attached files have been 
scanned for the presence of computer viruses. However, you are advised that you 
open attachments at your own risk.

Zafire Limited is a limited liability company registered in England and Wales. 
Co. Reg. No. 3968255. Our registered address is Zafire House, Manor Park, 
Banbury, Oxfordshire OX16 3TB. VAT Reg.No. 754 0161 55. Zafire Aviation 
Software Limited is a limited liability company registered in England and 
Wales. Co. Reg. No. 05577742. Our registered address is Zafire House, Manor 
Park, Banbury, Oxfordshire OX16 3TB. VAT Reg.No. 874 5890 70

If you have any concerns regarding the content of this e-mail please contact 
postmas...@zafire.com

-Original Message-
From: u2-users-boun...@listserver.u2ug.org 
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Tony Gravagno
Sent: 01 August 2013 17:34
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] What is true

Just adding a little more subtlety. Consider:
X = Y = 3
In some languages this sets Y to 3 and then X to Y, so X=3. But in BASIC, as 
Brian said, we need to force the precedence on Y=3 before X=Y.

In other contexts, parentheses force an equation. Consider:
SUBROUTINE FOO( X,Y,Z )
and
CALL FOO( X,Y,(Z) )
In this case, X and Y can be set and returned. But the third argument is an 
equation, and while FOO can write to the variable in its own context, when the 
data comes back it's read-only, since what went out was not a variable but the 
result of the evaluation of an equation.

(X) does nothing to define the Boolean nature of a variable. While it's a nice 
visual cue it's not functional in the code.

T



 From: Brian Leach
 It's not the parentheses that define the Boolean, it's the equality
by
 the way. Parentheses just force the precedence.


 From: Jim Swain
 This is not true as when A='HELLO'  IF (A) returns true.

 You use the parenthesis to set a Boolean variable, i.e  BRITISH =
 (COUNTRY = 'ENGLAND' OR COUNTRY = 'WALES')  etc   the var BRITISH is
set to 1
 when the conditions inside the parenthesis are met, otherwise
BRITISH is set to 0


 From: Tom Whitmore
 If you wrap a variable in parenthesis it will be treated as a
Boolean test.
 For example:
 A='HELLO'
 IF (A) THEN CRT 'TRUE' ELSE CRT 'FALSE'   will result in TRUE.

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users