Hi Wolfgang,
wriedmann wrote:
If someones finds errors, please let me know!
Here are maybe some cosmetics, please bear with me, an Italian German English translated by an Afrikaans Englishman. Hopefully we can get an Englishman or English American or English <Country>man to do a final edit.
Final notice: Please all Greeks English stay out of this, no names no pack drill
:
The ErrorBlock is not more available
The ErrorBlock is not available anymore
As runtime we specify the libraries/DLLs than come with :
As runtime we specify the libraries/DLLs that come with:
Every data type in an object, even basic data types like „string“, „int“, „logic“
Every data type is an object, even basic data types like "string“, "int“, "logic“
•String != array of char != array of byte
•Attention at the conversions!
•You cannot more easily use memo fields for binary content (compressed or crypted data, etc.)
String != array or char != array of byte
•Attention to the conversions!
•You can more easily use memo fields for binary content (compressed or encrypted data, etc.)
A string in X# è is delimited with the double apostroph: „, but in the VO dialect also the single apostroph can be used. The parentheses [] cannot be used anymore.
A string in X# is delimited with a double apostrophe: ", but in the VO dialect, a single apostrophe can be used. The parentheses [] cannot be used anymore.
A single character delimited with single apostroph is not a string, but a char!
A single character delimited with a single apostrophe is not a string, but a char!
Attention at the dialects: Vulcan does not permits the single apostroph as string delimiters
Attention to the dialects: Vulcan does not permit a single apostrophe as string delimiters
Escaped string: e“Hi guys,nwelcome to Bolzano, the capital of “Südtirol““
Interpolated string i“Hi {cNome}“
Escaped string: e“Hi guys,nwelcome to Bolzano, the capital of “Südtirol““
Interpolated string:
Hi guys,
welcome to Bolzano, the capital of “Südtirol"
The namespaces are helping to organize the own classes, and to avoid conflicts.
Namespaces are helping to organize our own classes, and to avoid conflicts.
The „Using“ statement declares the used namespace, but it is possible to not specify it, but then you need to specify the fully qualified class name.
Separator between class and namespace : the dot „.“
The "Using“ statement declares the used namespace, but it is optional, otherwise you need to specify the fully qualified class name.
Separator between class and namespace : a dot ".“
example because they mix namespaces in assemblies (more different namespaces in one assembly, and namespaces sparsed over multiple assemblies)
example because they mix namespaces in assemblies (different namespaces in one assembly, and namespaces spread over multiple assemblies)
In VO we use the colon to access the methods and assign/access of the classes, and the dot for the members of structures. In X# we need delimiters in more occasions:
•Method/Assign/Access/Property: colon
•Static method: dot
•Separatore di namespace: dot
•Structure: dot Attention: some uses have requested that colon and dot are treated the same, and in some places this should work! (C# uses only the dot, so the Roslyn compiler make no distinction)
In VO we use a colon to access methods and assign/access of classes, a dot for the members of structures. In X# we need delimiters on more occasions:
•Method/Assign/Access/Property: colon
•Static method: dot
•Separators of namespaces: dot
•Structure: dot Attention: some users have requested that colon and dot are treated the same, and in some places this should work! (C# uses only the dot, so the Roslyn compiler make no distinction)
Since the application runs not more under the VO runtime control, we have to adjust to the .NET Framework sight.
Attention: without errorhandling the application could be terminated without error
Since the application does not run under the VO runtime control anymore, we have to adjust to the .NET Framework way.
Attention: without error handling the application could terminate without an error!!!
There is no more the possibility toi set a global error handler. Error handling in .NET is local, no more global like in VO!
There is no possibility anymore to set a global error handler. Error handling in .NET is local, no more GLOBAL like in VO!
Please pay attention to „begin – end sequence“
Please pay attention to "begin – end" sequences
can be defined „as IName“
can be defined "as IName“
Convention: every interface definition name start with an uppercase „I“
Convention: every interface definition name start with an uppercase i "I“
Float in Clipper and VO, and therefore also in Vulcan and X# is a „floating point“ data type, with a floating comma and exponents.
A number „123456789“ internally could be „123456788.9999999999“ .
This can lead to rounding problems since
„123456789 == nVariabile“ could return false.
In the .NET Framework there is a datatype „decimal“ with high precision, where these sort of errors does not occurs anymore. Unique problem: it is slower.
Float in Clipper and VO, and therefore also in Vulcan and X# is a "floating point“ data type, with a floating decimal comma/dot and exponents.
A number "123456789“ internally could be "123456788.9999999999“ .
This can lead to rounding problems since
"123456789 == nVariabile“ could return false.
In the .NET Framework there is a datatype "decimal“ with high precision, where these sort of errors does not occur anymore. Unique problem: it is slower.
Very good notice: in the X# runtime the „decimal“is supported
Very good notice: in the X# runtime the "decimal“is supported
The performance of VO e X# is very different to compare.
The performance of VO vs. X# is very difficult to compare.
•Interal all arrays are typed
•Macros are slower in compilation, but faster in execution because is like written code
•Garbage collector enhanced, stable and fast, in AnyCPU all the memory can be used,
•Internal all arrays are typed
•Macros are slower in compilation, but faster in execution because it is similar to written code
•Garbage collector enhanced, stable and fast, in AnyCPU all memory can be used,