NEW! ?Functions in DataEase 8.0 to 8.5 (Page 2)
Some of you might be aware of it but it seems a lot isn't so it might be time to advertise a little the vast number of new functions and functionalities that has been added to DataEase 8.0 through 8.5.
For a long time the only way new functions found their way to DataEase was through active and ingenious users which developed CDF's. As much as the CDF's alleviated the obvious short-comings in DataEase 5.x to 7.2 it was cumbersome, undocumented and "secretive" i.e. not everyone was in the know.
With 8.x we decided that the focus needed to be on moving DataEase forward, rather than the constant dance around the "bug fixing" fire.
Have a look and a try for yourself.
Due to the number of new functions we had to publish the short description in two articles, of which this is the first.
Also have a look on the blog synopsis found in the list to the right.
This is a bridge between PRISM and GUI where you can set the value contained in a GUI column into a FORM EditControl.
This function can be used to populate the GUI Editcontrol of any FORM EditField including Memo but will only transfer up to 255 characters.
This is the function to use if you want to return values to the active form from an ExecDQL as you cannot populate directly with Modify Records as this will corrupt the active record (you will get a "Record has changes since read!" error message.
You can also use this to push values inside the form as traditional DataEase functions are PULL (derived), SetFunctions including SetValue() are push so you can force consequence. Ex.: If you derive virtual fields based on COLUMNA you can push a value into COLUMNA and the virtual fields will be triggered.
Set any named global variable anywhere to be used anywhere in an app within the same session.
There has been several CDF libraries that has tried to tackle this need over the more than 30 years DataEase have been around, but for some strange reason DataEase itself has never seen the need for implementing this very useful and necessary feature - before now.
The CDF libraries that has offered this service have all had the weakness that they have numbered the variables and also have a limited supply of them. For instance SetArray() has only 10 and SetGlobal() only 100.
SetVar is "unlimited" and you can name them.
One avid and long-standing user has pointed out that it was quite useful to use numbers for the variables as you could then loop through and name them automatically, but you can of course still use number or a combination of text and numbers as DataEase automatically convert between formats. See Examples below.
Will search through a string and return the text between two search strings not inclusive i.e
To allow users to include reference to certain "forbidden" characters in a DE string and return the parsed result.
Characters include is:
" = /'
CR = /CR (New line)
Tags are case sensitive, so /cr would not be escaped
Search a string to find if the substring is find in it. If it is find it will return the position of the first substring.
The position usage has been superseeded by the StringTo(),StringBetween(),StringFrom() function so will be changed to returning the number of substrings in string.
To return the remainder of a string after the search. Very useful for trimming file names from paths etc.
It search from the tail of the string i.e. right to left so will return everything after the last occurrence in the string seen from the left (normal direction).
To replace all occurrence of a text in a string with another text.
Can be used to replace names, codes, spelling mistakes etc in a text field.
To search s a string up to but not including of the search string and return that substring.
To make sure a non-text field is returned as text in a script/derivation.
It has been a tradition in DataEase to use Sequence From to create a unique Record Identifier. This is not a good idea as Sequence From will not be allocated to the record until the record is saved, and it can also cause problems if the sequencer loose track of itself.
UniquedID is created to insure that a developer can uniquely name and identify a record.
To delay before executing the next function/command/action. It is a problem in DFW that functions get posted to the command bus and then executed in "random" order. wait will force them to be executed in the correct order.
To create, overwrite or append to any type of text file (including HTML) with the content of a field or string(255). You can use this function to write the content of any DataEase field except Memo to a text file.
in DFD we had Output etc, to create "advanced" export files, but in DFW export has been challenging. With WriteToFile() and MemoWriteToFIle() we have a solution that can make and modify any Text file on the fly.
Published: 23/02/15 - 09:00:00 (Amanda Higgins)
Some of you might be aware of it but it seems a lot isn't so it might be time to advertise a little the vast number of new functions and functionalities that has been added to DataEase 8.0 through 8.5. For a long time the only way new functions found the...
This is the first page of 3 where we recapitulate the Blog entries made by our development team through the development from pre 8.0 to 8.5. We have edited and updated the entries, but the appear in the order they were made and with the ideas, experienc...
This is the Second page of 3 where we recapitulate the Blog entries made by our development team through the development from pre 8.0 to 8.5. We have edited and updated the entries, but the appear in the order they were made and with the ideas, experien...
This is the third page of 3 where we recapitulate the Blog entries made by our development team through the development from pre 8.0 to 8.5. We have edited and updated the entries, but the appear in the order they were made and with the ideas, experienc...