Hi Andy
On 2019/10/18 12:35, AndyHC wrote:
On 18-Oct-2019 10:24 AM, Johan Nel wrote:
X# itself is more function based than command based (like VFP) but has a pre-processor that helps to translates commands into functions. So you can still write code like you do in VFP. For example "SKIP 1" is translated to DbSkip(1) and "SKIP 1 IN Customer" is translated to ("Customer")->DbSkip(1).
Interesting - very similar to Clipper. Clipper also allowed you to DECLARE your own commands and a pre-compiler that translated them into Clipper source code.
Yes remember X# is developed by Robert vd Hulst who was a Clipper developer, and was the Visual Objects compiler developer since I believe V2.6-V2.8. He was subsequently also developer of Vulcan.NET and the pre-processor of X# is behaving exactly the same as the Clipper/VO pre-processor.
fwiw I would quibble that ("Customer")->DbSkip(1) is not a traditional function format (more OO) - I think Clipper would have had DbSkip("Customer", 1). As I
No that is the "Aliased" way in Clipper/VO/X#. DbSkip() acts on the current workarea, ("AliasName") will SELECT AliasName; DbSkip(); SELECT PreviousWorkArea
*may* have mentioned before, Clipper also handled arrays /properly/ <g>.
Hehe, I would not quibble with that one... <VBG> LOCAL aArray = {{"This", "is", "a"}, {"proper", "array", "of", {"multi", "dimensions"}}}
For free it certainly can't hurt to look!
Indeed, although a FOX membership can help in speeding up the VFP syntax support.
Johan