Ed de Moel · Aug 30, 2019 go to post

No particular reason, just keeping with the style of the rest of this code.

Ed de Moel · Mar 12, 2018 go to post

I don't see a "Panels" on the View menu:

Version is: Cache for Windows (x86-64) 2017.1 (Build 792U) Mon Mar 20 2017 19:13:14 EDT

Ed de Moel · Aug 4, 2017 go to post

In addition, %request.Data contains any parameters included in the URL.

Ed de Moel · Jul 31, 2017 go to post

I was thinking that $SYSTEM.INetInfo.LocalHostName()

might be of help... however, that just gives the local host name, in my case "J2EDDEMOEL".

So, I tried the result of $SYSTEM.INetInfo.HostNameToAddr($SYSTEM.INetInfo.LocalHostName())
but that gives me an address that is valid only within my local area network (in my case 192.168.56.1), whereas one would need 71.174.62.16 to get to my systems from outside of the local area.

In other words: if you're only accessing that application from your local area network, the above reference would give you a usable address for the web-reference, but otherwise, I'm not sure how you'd get that programmatically.

Ed de Moel · Jul 28, 2017 go to post

Well, that's an interesting one.

One way to check whether the value of a string is a number is:

   If +value=value

which will work in most cases.

However, when the value of a string is something like "1E12345", you'd get an error (<MAXNUMBER>), because "exponential notation" is assumed. But in all other cases, that would work.

Similarly:

   If +value?1.N

Would get close to determining that a value is an integer, but "00000123" would also match that pattern, so

   If value?1.N,+value=value

would do the trick in this case.

Hope this helps

Ed de Moel · Jul 17, 2017 go to post

I'd create a new database, and then use the operating system utilities (copy and move or cp and mv) to switch the current database with the new one. That way, if there is any need for data from the "old" database, it's still retrievable.

Ed de Moel · Jul 17, 2017 go to post

The solution with ##class(%xsd.hexBinary).LogicalToXSD works, but be careful, it only works when all characters in the string have codes <256.

For instance:

USER>w x
π=3.14159...
USER>w ##class(%xsd.hexBinary).LogicalToXSD(x)
3C03D332E31343135392E2E2E

The code for pi (π) is 960, and its hex rendition is three characters (3C0).

Ed de Moel · Jun 2, 2017 go to post

I didn't notice any information on populating the Widget and WidgetAccessory classes.

Obviously, they should be populated with specific data to link them together properly...