Yes, it's not always better to use FOREACH and some times it is not practical, for example if you need to know also the next item in the iteration in advance. But usually it's much better because I think makes the code more readable, it avoids any problems in using the correct amount of loop length and indexing of each element, it requires one LOCAL less, not to mention that for some cases it's the only way to iterate through the items of some complex collections, for example in HashTable/Dictionary collections.
For sure the development team has the possibility to add new functions to the runtime DLLs xsharp.core.dll and xsharp.vo.dll, and I'm pretty sure they will.
But I don't think these DLLs should contain code for WinForms or WPF, and I think we all will need a solid fundament of functions and classes that enhance the classes of the .NET framework.
Of course I would prefer to have the development team write such classes and functions, but AFAIK they currently don't have the time as they need to accomplish a lot of things this year to help us move our VO applications to X#.
In particular what kind of functions or classes do you need?
In .Net there are a thousand classes and it seems difficult for me to miss something.
if you are coming from Clipper, you may miss the picture clause from input controls.
For VO programmers, I have two more samples where I feel .NET is not as powerful as VO:
in VO we are used to name our controls with the field names from the database. Non-VO programmers tend to assign the correct database field to every input control in their window editor
in VO, we can assign a value to an edit control and have back a value of the same time after editing - numeric, date, string. .NET controls have only a text value.
It seems VO programmers have a different "education" than others, and in some places the .NET framework seems to miss functionality we are used to.
But yes, generally the .NET framework offers a lot more classes and functionality than the VO Class library ever had.
Where can I find the tool (and guide) to allow me to build my own VO runtime to X#?
Please note that what you may call "runtime" in VO really are 3 different parts:
the real runtime: functions and macrocompiler: these are already in the X# runtime, currently in beta
the RDDs: these are in development and will be probably released in beta in the next weeks - please look at the official release plan for 2018
the VO class libraries: GUI, RDD, SQL, System classes: a this moment there is no utility available to convert them from VO. Currently, the System Classes and the Win32 API library can be transported with the XPorter/VO and will compile with very few changes.