I spent some time last night tracking down something that was caused by the lack of == in Panorama X. Is there any chance that we will get it back?
One thing I’ve tried to do when possible in Panorama X is rectify bad design decisions made over the years in the development of Panorama. Hopefully I’m a more knowledgeable programmer than I was 30 years ago, and I also have the benefit of dealing with thousands of tech support issues over the decades.
In my opinion == was a mistake. The primary problem is that it is very easy to miss that extra = character, which can cause a huge change in the operation of a program. If you have a page of code and are trying to figure out what is going wrong, it is very easy to not notice the difference between
Field = some formula
Field == some formula
This is something that has definitely come up in tech support, and caused some users great confusion.
You may not be aware, but Panorama X does have two methods for performing the calculations associated with a field in a procedure. The runfieldcalculations statement runs all of the formulas associated with a field. The runfieldsideeffects statement runs the formulas, and also runs any code associated with a formula.
So suppose you have this code in your Panorama database.
FieldX == some formula
To get the code to work in Panorama X, do this.
FieldX = some formula field FieldX runfieldsideeffects
These statements should make it easier to convert code that uses == to Panorama X.
The Panorama X Help file indicates that the == operator is currently supported as an alternate to the = operator:
Note: If you are a “C” programmer, Panorama’s = operator is equivalent to C’s == operator. (In fact, Panorama will allow you to use == if you wish.)
That’s the = comparison operator, but not the assignment operator.
would be an error.
would put -1 in A if they were equal, and 0 if they were not.
I would be happier if there were just another name for the Panorama 6 == operator, so a simple find and replace could fix all the times that shows up. So if there were an operator called something like setcalc (set with calculations) that just replaces the function of ==, that would be all I ask.
There are just too many places in Panorama X where one piece of code needs to be replaced with several lines of code. This is not making Panorama easier to use, especially for people like me who are only casual programmers.
Done. The new name is
Field <== some formula
I got this working last night and this morning and it will be in the next released version of Panorama X.
Cool. Will this automatically convert == from Pan 6? I also used it to trigger equations in the design sheet. Will <== trigger formulas in the field?
No, unfortunately you’ll have to manually convert them.
I also used it to trigger equations in the design sheet. Will <== trigger formulas in the field?
If I understand your question, the answer is yes. It will trigger all formulas and code associated with the field, just as if data had been manually entered into the field.
I am fine with this. Substitutions in procedures can be a real pain to make (particularly with functions), so a simple global find and change is a breeze!