Re: [U2] What is true
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
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