List of Functions in VO

Public support forum for peer to peer support with related to the Visual Objects and Vulcan.NET products
Post Reply
User avatar
Fulgorth
Posts: 7
Joined: Wed Dec 07, 2022 12:24 pm

List of Functions in VO

Post by Fulgorth »

Could someone give me a hint where to find a list of VO functions?

Actually I am searching for any function in VO. To be able to transfer VO to X# there definitely needs to be a source for such a list but I was not able to find it inside this forum.

But in general I would be grateful for every function you can give me as VO documentation becomes rare. If it is ok for the Forum (users and hosters/admins). I would like to use this post to collect the known functions. Of course if someone can give a working link to an existing link this would make no sense anymore. If noone states contrary I would list your hints / functions in this prime post, so that it can maybe be used for others to search as well.

BR christian


Following functions are known for me. Please feel free to feed me with hints for other functions but as well if you consider a function not to be "original" VO

alltrim()
deletes spaces in the beginning and the end of a text

at()
searches for a text inside another text

chr()
transfer of an Ascii-(Dec)-Number into the corresponding single character

Syntax:
cASCII := chr(nASCII)
- nASCII - decimal number of the ASCII256 table
- cASCII - character that corresponds to nASCII in regards to the ASCII256 table

ctod()
transfer of a date in textform "dd.mm.yyyy" into a date

day()
gives the day out of a date

dtoc()
transfer of a date into the textform "dd.mm.yyyy"

empty()
returns .t. if an object is not filled

left()
gives a number of characters from the beginning of a text

len()
gives the length of a string

max()
gives the biggest number from a group of numbers

min()
gives the smallest number from a group of numbers

month()
gives the month out of a date

right()
gives a number of characters from the end of a text

seconds()

str()
transfers a number into a text

substring()
gives the part of a texts that has its position between a startingpoint and an ending point

time()
should give the actual time - (seems not to work in some makro environments - hints for exact syntax/formats are welcome)

today()
gives the date of the actual day (machine time)

trim()
deletes spaces at the end of a text

val()
transfers numbers in textform into a number

year()
gives the year out of a date
User avatar
robert
Posts: 4520
Joined: Fri Aug 21, 2015 10:57 am
Location: Netherlands

List of Functions in VO

Post by robert »

Christian,
Did you check the VO Help ?
You can also look in the "System Library" inside the VO Repo. This contains the functions that are available for all apps.
On top of that there are function in the Win32API library. These are all pointing to windows API functions.
And finally there are specific functions in libraries like RDD classes and GUI classes.
With a bit of Repo API code you should be able to output a list of all the entities of type FUNCTION.

Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
User avatar
wriedmann
Posts: 3755
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

List of Functions in VO

Post by wriedmann »

Hi Christian,
as Robert wrote: in the VO help file is a list of all available and documented functions:
21-12-2022_08-45-14.png
21-12-2022_08-45-14.png (24.53 KiB) Viewed 561 times
But it is not clear to me why you need a function list of VO for a migration to X#. You only need the functions you had used in your own code.
Once migrated, you would better use the functionalities of the .NET Framework.
Most of the functionalities that VO offers (a part functions that are dealing with special VO datatypes like date, array and codeblock) can be also rewritten using the .NET Framework, and, when you use extension methods, there are much easier to use.
A sample:

Code: Select all

static method ValidFilenameChars( self cString as string ) as logic
local lReturn as logic

if String.IsNullOrEmpty( cString ) .or. cString:IndexOfAny( System.IO.Path.GetInvalidFileNameChars() ) >= 0
  lReturn := false
else
  lReturn := true
endif

return lReturn
and that can be used like this:

Code: Select all

local cFileName as string
cFilename := ....
if cFileName:ValidFileNameChars()
....
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
User avatar
Fulgorth
Posts: 7
Joined: Wed Dec 07, 2022 12:24 pm

List of Functions in VO

Post by Fulgorth »

Dear Robert,
dear Wolfgang,

thank you for your help. Indeed I have no own code I am loking up but an old program that is using VO in the basis and in a Macro language as primitive (although powerful) "user Interface". Inside that environment I am not able to even code own methods or functions.

By this fact I have no VO help inside that environment (I do not even know the Version of the VO used) Its more archeology than programming indeed.

I now understand that my request was poor in mind as from your side you don't need a "function list". When you are used to VO you know the functions and when not you don't care. As the noob, that I am I was just thinking I could perfectly work with a source like Microsoft Learn CPP to reproduce what the environment really does. As I often wonder about the results of e. g. weekdays And I can't imagine that the coder made his own function to determine the weekday but might have used an existing Lib Function. In general there is extremely few info and even code about VO to be found compared to all other languages that I have handled with...

But your messages helped me and I will look up VO helps I can find online to test what is helpful and what is not.
User avatar
wriedmann
Posts: 3755
Joined: Mon Nov 02, 2015 5:07 pm
Location: Italy

List of Functions in VO

Post by wriedmann »

Hi Christian,
you can find a zipped up version of the VO 2.8 SP4 help here:
https://riedmann.it/download/CAVO28Help.zip
Please look for every function you would need for this comments:
"Although this function uses the PASCAL calling convention, it can still be used in a macro expression."
Without this comment, only functions that show in the prototype "AS CLIPPER" can be used in macro expressions.
The software you are using most probably uses the macro engine that VO has.
Wolfgang
P.S. I'm afraid but the MethodList() and the IVarList() functions are typed "as pascal" so they are not available to the macro engline
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Post Reply