Yes, decimal. I think there's a length differences between something stored as a number and as a string. Does Xy3 have a length function? As to version check, you could easily construct one. E.g., check for whether [BX ]wait[Q2 ] is acceptable. In Xy4 and maybe Xy3, there is a distinction between <ex> and <ex1>. The former will generate a return from a subroutine but not exit the program. <ex1> will exit the whole program it's in. Regards, Harry -----Original Message----- From: xywrite-bounce@xxxxxxxxxxxxx [mailto:xywrite-bounce@xxxxxxxxxxxxx] On Behalf Of wbass@xxxxxxxxxxxx Sent: Monday, November 4, 2024 10:01 PM To: xywrite Subject: Re: Any way to tell if a save/get is a string vs number? Thanks, Harry. >>Harry Binswanger said: ... another way is <VA{ASCII21}nn> << Harry, is that 21 decimal (which would be the "section sign" character)? 21 hex would be the exclamation point character, which is what you indicated in you previous post, but the return values were different for that VA function. So what I am really still after is an Xy3 way to do it. The only way I know how to do it under Xy3 is to give the S/G id as the first argument to an XS command, which rejects a NUMBER type argument as an error (but not an error that stops execution). There is then a (weird) way to tell that the XS command was not happy -- you can read all about that on page 137 of Herbert Tyson's "XyWrite Revealed" tome. (What Xy3 does when this error occurs is to inject a {ASCII-19} character at the current cursor location!!!. And that is something that one can check and detect with XPL code. If some Xy4 user is willing to see if XY4 does the same thing that Xy3 does for this error, that would also be useful information to me. Which raises the question: is there an approved way for an XPL program to tell whether it is running on Xy3 vs Xy4? It seems like a serious flaw not to have such a version check designed in. Wally Bass ----- Original Message ----- From: "Harry Binswanger" <hb@xxxxxxxxxxxx> To: "xywrite" <xywrite@xxxxxxxxxxxxx> Sent: Monday, November 4, 2024 2:52:06 PM Subject: RE: Any way to tell if a save/get is a string vs number? Wally, Besides <VA!nn> another way is <VA{ASCII21}nn>. Replace "{ASCII21}" with the section symbol that ASCII21 denotes. I can't show it here, probably because Outlook is Unicode. Anyway, this method returns 1 for a number and 0 for a string. Regards, Harry -----Original Message----- From: xywrite-bounce@xxxxxxxxxxxxx [mailto:xywrite-bounce@xxxxxxxxxxxxx] On Behalf Of wbass@xxxxxxxxxxxx Sent: Monday, November 4, 2024 4:32 PM To: xywrite Subject: Any way to tell if a save/get is a string vs number? Sorry for the last msg. finger check, msg got away when half done When a string representing a number is <SV..>ed or <SX..>ed, it is stored in a string of bytes in either case, but the representation is different. So a S/G has a 'flag' that tells it which representation is in use. Which means that there are two "data types" for a S/G, which indicates the data type of the current representation being STRING or NUMBER. What I'm after is some way were the FLAG setting (STRING or NUMBER) can be tested with an <IF..> statement. No human intervention allowed. I know of one XY3 way, but it's pretty kludgy and I don't know if it will work on XY4. If there is way to do it on XY4 with some newly introduced function, I'd like to know about that, but an Xy3 way to do it is what I'm really after. Wally Bass -- This email has been checked for viruses by Avast antivirus software. www.avast.com