Interactive PowerBasic Forum

IT-Consultant: Charles Pegge => OxygenBasic => Topic started by: Nicola on December 12, 2021, 11:57:55 PM

Title: Help on Help
Post by: Nicola on December 12, 2021, 11:57:55 PM
Hello.
I was using oxygen help and noticed some pages are missing. In particular I did not find:
CALL, JMP, RET, #RETURN, YVAL.

Is there any information on these functions?
Thank you.
Title: Re: Help on Help
Post by: Zlatko Vid on December 13, 2021, 06:52:11 AM
It looks to me like assembler functions
i never use them.
Title: Re: Help on Help
Post by: Nicola on December 20, 2021, 10:25:01 AM
I think so too. If Charles told us their use we could add them to the help.
Title: Re: Help on Help
Post by: Chris Chancellor on December 24, 2021, 04:58:52 PM
Hello Charles
Can you guard us on this issue?
Thanxx a lot
Title: Re: Help on Help
Post by: Nicola on December 24, 2021, 10:59:00 PM
Hi,
I am making this change to the help.
What do you think?
Cheers


13-01-2022 new version with new additions. I started writing on the CONSOLE.
25-01-2022 new version with best index.
02-02-2022 improvements on content and visuals.
Title: Re: Help on Help
Post by: Zlatko Vid on December 25, 2021, 09:50:11 AM
first
Merry Christmas

I am not sure how this Help really can Help
if user don't know how things work in OxygenBasic..
I am user long time (almost from beginining) but i still learn some
things testing old programs or looking into examples in this case i look into old
Peter Wirbelauer sw.inc app called deep

and yes ..for example JMP is similar like GOTO ( means JUMP ) ..loook into code :

'example deep - using sw.dll  by peter wirbelauer version A41
include "sw.inc"

window 800,600,1
setFps (16)
'test jmp / comment| uncomment next line
JMP the_end
string salt = "INTO THE DEEP"
single a,cx,cy,i,w,h,y
sys tcolor
w=800/2 : h=600/2
p = len(salt)

while key(27)=0
cls rgb(0,0,0)
for i=1,360
cx = w+sin(i-a)*i
cy = h+cos(i-a)*i
tcolor= rgb( i-105, i-105, 0)
'! FillCircle     Lib "sw.dll" (sys xpos,ypos,r1,color) as sys
fillcircle cx-20,cy+70,2*a ,tcolor
cx = w+sin(i+a)*i
cy = h+cos(i+a)*i
'color i-105, 0, i-105
tcolor = rgb(i-105, 0, i-105)
fillcircle cx-20,cy+70,3*a,tcolor
cx = w+sin(i-a)*i
cy = h+cos(i-a)*i
tcolor  = rgb(i-105, i, i-105)
fillcircle cx-20,cy+70,4*a, tcolor
cx = w+sin(i+a)*i
cy = h+cos(i+a)*i
tcolor = rgb(i, i-105, i-200)
fillcircle cx-20,cy+70,2*a, tcolor
a = a + 0.1
if a>=8 then a = -a
next
for s=1 to p
    'color 255,255,255
    text 900,200+s*20,20,mid(salt,s,1)
next
sync()
wend
'winEnd

'jump to labele here:
the_end:
print "test JMP ...THE END"


so program simply jump over code to label the_end
Title: Re: Help on Help
Post by: Zlatko Vid on December 25, 2021, 10:25:46 AM
the above program looks (see attachment)

according to help

do you know what this means ?

while key(27)=0

that means while loop running until key ESC is not pressed
simple ..? or is not ?
this is just one really simple question..right?
few years back i was tried to write some sort of help but that is a huge work
it is the best to learn from examples..test it ..modify it .
i know that would be great to have one big help file but oxygen basic
examples use different libs to make programs ..there is not standard GUI wrapper or gfx layer for
programs there are sdl,mine awinh,peter window,sw  Charles coreWin ..etc etc..
Title: Re: Help on Help
Post by: Nicola on December 25, 2021, 12:58:02 PM
Aurel, I agree.
Here is the importance of the forum. Through the things we write and ask and answer we help ourselves to understand.
It is also interesting the things you wrote about the various "inc".

However I saw that sw.inc is in project C and it is for scriptbasic ... and the sw.dll is not there ...
Title: Re: Help on Help
Post by: Zlatko Vid on December 25, 2021, 05:18:43 PM
I just checked C projects folder
and i am surprised why is this sw.inc there
but what I see ..it is not original sw.inc by Peter Wirbelauer
and why would be in scriptbasic folder .

And also i think that any connection with scriptBasic should be removed from
OxygenBasic files , simply because there is no any benefit using this files .
The similar opinion i have about Thinbasic files, o2 should be more for oriented to himself.

if you wish i can post sw.inc and sw.dll i have on my computer ?
Title: Re: Help on Help
Post by: Nicola on December 25, 2021, 11:34:37 PM
yes thanks,
I'd like to try the program you posted.
Title: Re: Help on Help
Post by: Zlatko Vid on December 26, 2021, 08:16:51 AM
OK
code you have above
in attachment are sw.inc and sw.dll
Title: Re: Help on Help
Post by: Nicola on December 26, 2021, 11:25:59 PM
Thanks Aurel.
Unfortunately I am unable to run the program.
He opens the window but says that the program is not responding and shows nothing.
I tried to compile it, but when I start the compiled program it doesn't find the dll. What directory should I put it in when I want to use the compiled program?

I tried JMP ... as you said it works the same way as goto ...

Hello
Title: Re: Help on Help
Post by: Zlatko Vid on December 27, 2021, 10:26:08 AM
must be all in one folder

deep.o2bas
sw.inc
sw.dll
oxygen.dll


program is JIT compiled in memory so require oxygen.dll
that is a main rule
Title: Re: Help on Help
Post by: Nicola on December 27, 2021, 11:43:33 AM
Hi Aurel,
thanks for the tips.
However, unfortunately I was unable to run the program. If I compile it in 64-bit it always looks for the sw.dll, if I compile it in 32 the program "does not respond", if I simply do F5 the same program "does not respond" ...  the pc i use has the win10 64bit

I also tried on another 32bit laptop with win10 and even there the program "does not respond" ...

Where am I wrong?
Title: Re: Help on Help
Post by: Nicola on December 27, 2021, 12:43:45 PM
On the other hand, I managed to adapt this other program (PONG) quite easily.
This runs quietly ...


'ScriptBasic PONG by Peter Wirbelauer
'adapted to O2 by NP

'INCLUDE "sbsw.inc"
INCLUDE "sw.inc"

Window 320, 240, 1
SetCaption "OxygenBasic Pong"

SetFPS 60

sys x = 50, y = 50, x2 = 130, y2 = 150, pspeed = 4, xadj = 2, yadj = 2
sys delay = 1, score = 0

sys haha = loadwav("wav/haha.wav"), pong = loadwav("wav/pong.wav")

WHILE Key(27) = 0
  Cls RGB(200, 200, 247)
  FillCircle x, y, 8, RGB(0, 0, 255)
  FillBox x2, y2, 30, 4, RGB(255, 255, 255)
  'Box 20, 20, 280, 160, 4, RGB(255, 255, 0)
  Box 20, 20, 280, 160, RGB(255, 255, 0)
  Text 10, 0, "SCORE:" & score, RGB(255, 0, 0)
  IF y <= 20 THEN
    yadj = 1
    PlayWav pong
  END IF
  IF y >= 180 THEN
    yadj = -1
    PlayWav pong
  END IF
  IF x >= 290 THEN
    xadj = -1
    PlayWav pong
  END IF
  IF x <= 20 THEN
    xadj = 1
    PlayWav pong
  END IF
  IF Key(37) AND x2 > 18 THEN x2 = x2 - pspeed
  IF Key(39) AND x2 < 270 THEN x2 = x2 + pspeed
  x += xadj
  y += yadj
  IF y > y2 - 7 AND y2 < y2 + 2 AND x < x2 + 30 AND x > x2 THEN
    yadj = -1
    score += 1
  END IF
  IF y > y2 + 10 THEN
    Text 100, 200, "GAME OVER!", RGB(0, 160, 55)
    Playwav haha
    Waitkey
    score = 0
    x = 50
    y = 50
    x2 = 130
    y2 = 150
  END IF
  Sync
WEND
CloseWindow



... however this dll is really nice in its simplicity and versatility ... :)
Title: Re: Help on Help
Post by: Zlatko Vid on December 27, 2021, 03:39:19 PM
I am really not sure why not work for you
for me work because i compiled it with older A41 version of compiler
i don't tried with new-er or latest
I see that you use OxIde but should be the same ,...
Title: Re: Help on Help
Post by: Zlatko Vid on December 27, 2021, 04:53:46 PM
hi nicola
this one i tested on 0.28 selfcompiled
there are few changes in strict definition of variable and in while key(27) event loop.
check code
'example deep - using sw.dll  by peter wirbelauer version A41
include "sw.inc"

window 800,600,1
setFps (16)
'test jmp / comment| uncomment next line
'JMP the_end
string salt = "INTO THE DEEP"
single a,cx,cy,i,w,h,y
sys tcolor,s
w=800/2 : h=600/2
int p = len(salt)
'int KeyHit = key(0)
'int Escape_Key = 27

While key(27)=0
cls rgb(0,0,0)

for i = 1 to 360
cx = w+sin(i-a)*i
cy = h+cos(i-a)*i
tcolor= rgb( i-105, i-105, 0)
'! FillCircle     Lib "sw.dll" (sys xpos,ypos,r1,color) as sys
fillcircle cx-20,cy+70,2*a ,tcolor
cx = w+sin(i+a)*i
cy = h+cos(i+a)*i
'color i-105, 0, i-105
  tcolor = rgb(i-105, 0, i-105)
  fillcircle cx-20,cy+70,3*a,tcolor
  cx = w+sin(i-a)*i
  cy = h+cos(i-a)*i
  tcolor  = rgb(i-105, i, i-105)
  fillcircle cx-20,cy+70,4*a, tcolor
  cx = w+sin(i+a)*i
  cy = h+cos(i+a)*i
  tcolor = rgb(i, i-105, i-200)
  fillcircle cx-20,cy+70,2*a, tcolor
  a = a + 0.001
  if a>=8 then a = -a
next i

for s=1 to p
    tcolor = rgb(225,225,155)
   '! Text  Lib "sw.dll" (sys xpos,ypos,string text,sys color) as sys
    Text 400, 200+s*20, mid(salt,s,1), tcolor
next s
sync()
wend
'winEnd

'jump to labele here:
'the_end:
'print "test JMP ...THE END"
Title: Re: Help on Help
Post by: Zlatko Vid on December 27, 2021, 06:16:53 PM
..also
i just tried to compile OxIDE from package and found that some things not work
configuration file is not loaded ..why ..i don't know
compile ..F5 not work in my case too
i set code

% SCLEX_OBASIC = 75
      '
      def sm SendMessage hsci,
      '
     '3  cpp
     '8  vb ***
     '40 lout
     '51 powerbasic
     '75 freebasic
      sm SCI_SETLEXER, SCLEX_OBASIC ,0    'Oxygenbasic lexer

sclex was with number 200 ... :o
that is strange because i have old version i think running ,it looks that code
for oxIde is not updated ..i am not sure ..
Title: Re: Help on Help
Post by: Nicola on December 27, 2021, 06:59:44 PM
Aurel,
I checked the listing and found the catches. I didn't think I had to check the syntax ...
Anyway it's ok. works without problems.
But remains the problem of the 64bit compilation that still does not find the DLL although I have put it both where it is oxide, and in the directory of DEEP.o2bas ... (Charles could help me understand this thing)

An interesting and beautiful thing, I add a value + 0.0001 (a = a + 0.0001) and the resulting effect is really beautiful. :-*
Title: Re: Help on Help
Post by: Zlatko Vid on December 27, 2021, 11:14:57 PM
well as far as i know OxIde is 32bit program.
Ok i will try compile 64 bit app on win7_64 bit to see how Aurel Edit work
then i can tell you...
Title: Re: Help on Help
Post by: Nicola on December 28, 2021, 09:00:00 PM
Thanks Aurel.


Speaking of OXIDE, I don't hide the idea that I'd like it to have more accurate bug reporting.
Often it seems like everything should be fine and instead there are errors that go unnoticed ... and I don't have the ability to implement such a thing. :'(

Cheers
Title: Re: Help on Help
Post by: Nicola on December 30, 2021, 02:07:47 PM
Hi,
What is the use of the SKIP command / function?

Title: Re: Help on Help
Post by: Zlatko Vid on December 31, 2021, 10:46:29 AM
skip ???
never see  this thing

but if SKIP is command or function proably then skip over something .
i am wondering where you find this thing ?
Title: Re: Help on Help
Post by: Zlatko Vid on December 31, 2021, 11:00:12 AM
wait a moment
i just download help chm file you posted
who made this one ...i have never saw it before ???

edit;;;

QuoteThis Help was compiled by nico18n (Nicola Piano) - agosto 2021

so i see you made it ..great ..
may i ask you in what you made it ...
i am using old waHelp but i have some freakin problems with this program( i think that have bugs )
Title: Re: Help on Help
Post by: Charles Pegge on January 07, 2022, 01:23:27 PM
There is a lot of material on x86 Assembler on the web. You can lookup X86 instruction set

But to see some live asm in o2 there are som base functions in inc/RTL32.inc and inc/RTL64.inc

LCASE example:

  '------------
  lcases: '2328
  '============
  '
  push esi
  mov esi,[esp+8]
  mov edi,0
  cmp esi,0 'null string test
  jz lwrx1
  mov edi,[esi-4]
  lwrx1:
  push edx
  push edi
  push 0
  call SysAllocStringByteLen
  pop edx
  mov ecx,edi
  mov edi,eax
  push eax
  and edx,0xff 'supporting wide code

  lwrr:
  sub ecx,edx
  jl lwrx
  mov al,[esi]
  cmp al,65
  jl lwrn
  cmp al,90
  jg lwrn
  add al,32
  lwrn:
  mov [edi],al
  add esi,edx
  add edi,edx
  jmp lwrr

  lwrx:
  pop eax
  pop esi
  ret 4



Thanks Nicola for your help file. I will take a look ASAP

Title: Re: Help on Help
Post by: Nicola on January 07, 2022, 02:48:39 PM
Not at all Charles. :)
Thanks to you for the precious o2b.
If you see something to fix write it to me ...

Where can I find examples with "==", "#return", "yval"?

Maybe when you can give us other ideas to see.
Title: Re: Help on Help
Post by: Eduardo Jorge on January 07, 2022, 05:49:17 PM
Quote from: Zlatko Vid on December 25, 2021, 05:18:43 PM


And also i think that any connection with scriptBasic should be removed from
OxygenBasic files , simply because there is no any benefit using this files .
The similar opinion i have about Thinbasic files, o2 should be more for oriented to himself.


I agree, additional things about other projects only get in the way of learning with O2
Title: Re: Help on Help
Post by: Nicola on January 07, 2022, 06:40:55 PM
I also believe it is right to focus on O2B
Title: Re: Help on Help
Post by: Charles Pegge on January 08, 2022, 11:04:03 AM
OK. I can consign ProjectsC to a legacy folder on GitHib.

PS:

yval looks like a typo
#return is obsolete
jmp call ret are x86 assembly code instructions, and commonly used for other processors.
Title: Re: Help on Help
Post by: Eduardo Jorge on January 11, 2022, 10:04:49 AM
Charles Pegge, I think that this way you could add content to VBA, there are thousands of users who use it to automate their projects in MS office package, for easy use for laymen until Corel bought and implemented it.
for most things vba is self sufficient, but lacks speed in some cases, and mostly lacks a way to mask your code.
  maybe it was a way to attract developers to O2 interested in developing for a specific market
Title: Re: Help on Help
Post by: Anthon Com on January 13, 2022, 08:48:19 AM

Quote
And also i think that any connection with scriptBasic should be removed from
OxygenBasic files , simply because there is no any benefit using this files .
The similar opinion i have about Thinbasic files, o2 should be more for oriented to himself.

by Zlatko

I second this move
This is true, it is pointless to keep a useless script basic
Title: Re: Help on Help
Post by: Anthon Com on January 13, 2022, 08:50:51 AM
Also I second Eduardo's move to help VBA programmers to migrate to O2

Title: Re: Help on Help
Post by: Nicola on January 13, 2022, 09:59:35 AM
Yes, being able to work on office documents with a separate VBA program is a great idea.
In fact I had asked how one could read / write on an xls / xlsx document.
Title: Re: Help on Help
Post by: Nicola on January 13, 2022, 10:15:58 AM
Hi Charles,
I have updated the o2 help file.

25-01-2022 new update.


http://www.jose.it-berater.org/smfforum/index.php?topic=5772.msg24462#msg24462
Title: Re: Help on Help
Post by: Nicola on January 25, 2022, 11:30:40 AM
Hi.
Please I would need to have accurate information on the commands / functions implemented with "CONSOLEG.INC"
I tried some examples, they are beautiful.
I'd like to add this help info ...
Charles, please ...  :)
Cheers
Title: Re: Help on Help
Post by: Nicola on June 27, 2022, 12:16:48 PM
Dear Charles,
i was updating the help and i noticed that the examples related to
STRUCTUREOF
ENCODINGOF
RECORDOF
don't work.

Error: not defined
Word: r
line: 2

type vt long v,double d
dim as vt v : r=recordof v

Title: Re: Help on Help
Post by: Charles Pegge on June 27, 2022, 02:40:41 PM
Hi Nicola,

without #autodim enabled, r needs to be: dim as string r.

this is a current list of all the attributes from oxsc\lang.inc

sizeof      11 1  4
offsetof    11 2  4
countof     11 3  4
spanof      11 3  4
bytesof     11 4  4
typeof      11 5  193
structureof 11 6  193
encodingof  11 6  193
prototypeof 11 7  193
typecodeof  11 8  4
recordof    11 9  4
widthof     11 10 4
ptrlevelof  11 11 4
metatypeof  11 12 193
strptr      11 21 8
lpartof     11 31 0
rpartof     11 32 0
vtypeof     11 33 0
Title: Re: Help on Help
Post by: Nicola on June 28, 2022, 05:05:39 PM
dim string r
type vt long v,double d
dim as vt v
r=recordof v
print r


now it looks like it's ok.
thanks charles

result is
983
16
8892
0
0
983
0
0
v
[ebx+8892]

vt
Title: Re: Help on Help
Post by: Charles Pegge on June 28, 2022, 05:38:08 PM
In the early days, autodim was the default. This makes short demo code easier but it's a serious hazard for any project of significant scale.
Title: Re: Help on Help
Post by: Nicola on June 30, 2022, 04:47:34 PM
ok, then i will correct the example that is on the help.
Ciao
Title: Re: Help on Help
Post by: Pierre Bellisle on January 10, 2023, 05:26:01 AM
Hi Nicola,

If you still updating this help file, maybe you can adjust Asc()...

//asc() can be used not only as a function but as a statement also.
string  sString = "12345"
asc(sString, 3) = 120 // give "12x45" (120 is ascii for "x")


Many thanks for your work, it is really appreciated...
Title: Re: Help on Help
Post by: Pierre Bellisle on January 16, 2023, 04:53:15 AM
Also, inner is missing...

Regards
Title: Re: Help on Help
Post by: Nicola on March 27, 2023, 11:54:13 PM
Hi Pierre,
thanks for the info. I put it in the help. Sorry for the delay, but unfortunately things do not always go well.
If you have any other suggestions thank you.

Cheers
Title: Re: Help on Help
Post by: Pierre Bellisle on March 28, 2023, 07:33:06 AM
Hi Nicola,

Easy does it, no rush on my side.
I appreciate what you did, it's a nice gift.

Thanks again...
Title: Re: Help on Help
Post by: Nicola on March 29, 2023, 09:14:03 PM
Hi,
I posted an update on the help file. 

I have included notes on implementations related to the management of Arrays written by Charles Pegge from version P14.4.

Cheers
Title: Re: Help on Help
Post by: Pierre Bellisle on March 29, 2023, 10:21:09 PM
Thanks!
Title: Re: Help on Help
Post by: Zlatko Vid on March 30, 2023, 08:36:27 PM
thanks from me to !!!
Title: Re: Help on Help
Post by: Nicola on April 10, 2023, 12:15:14 PM
Hi Charles,
I can't find information on the following words:
PURE, OBJECTS, OOP, INHERITS.
Could you give them to me to put them in the HELP file.

Cheers
Title: Re: Help on Help
Post by: Charles Pegge on April 10, 2023, 02:20:05 PM
Hi Nicola,

I'll update my records in inf/o2keyw.txt and I need to rewrite classes.o2bas.

[group topics, non-keyword:
OBJECTS  same as classes
OOP      sames as classes

secondary keywords:
INHERITS no longer used
PURE     same as virtual (used in C++)
'

Title: Re: Help on Help
Post by: Nicola on April 10, 2023, 09:19:34 PM
Thanks Charles,
I put these notes in the HELP file.
Title: Re: Help on Help
Post by: Pierre Bellisle on April 17, 2023, 02:46:52 AM
Hi Nicola,

For your next help chm release.
endsel is no more supported an can be removed.
endselect and end select remain as is.
Title: Re: Help on Help
Post by: Nicola on April 17, 2023, 08:50:05 PM
Hi Pierre,
I edited the Help file.
Thanks for the info.
Cheers
Title: Re: Help on Help
Post by: Nicola on April 20, 2023, 12:03:16 PM
Hi,
Due to the fact that it is no longer possible for me to edit the post, I had to change the site where to post the chm help file. You can find it at the bottom of my posts.

Cheers
Title: Re: Help on Help
Post by: Nicola on April 30, 2023, 10:23:48 AM
@Charles.
The SKIP command is not yet implemented. In the file "o2keyw.txt" it is present, but it seems that it has not been implemented. The demo program also does not exist.
News about it?

Cheers

key:      "scope 52"
key:      "skip 52"
key:      "o2 52"
key:      "( 52"
groupref: blocks
group:    blocks
incfile1: demos\basics\macros.o2bas
related:  procedures, macros
updated:  24/02/2017

Also, is there any information about  "NOPROTO"?
Title: Re: Help on Help
Post by: Charles Pegge on April 30, 2023, 11:22:50 AM
Hi Nicola,

The skip block is now obsolete, I'll remove it from the manual / o2keyw.txt

key:      "scope 52"
key:      "inner 52"
key:      "module 52"
key:      "namespace 52"
key:      "o2 52"
key:      "( 52"
groupref: blocks
group:    blocks
related:  procedures, macros
updated:  30/04/2023
Title: Re: Help on Help
Post by: Nicola on April 30, 2023, 11:29:02 AM
Hi Charles.
ok for SKIP, I delete it from the HELP. 
And what about NOPROTO?
Title: Re: Help on Help
Post by: Nicola on April 30, 2023, 11:42:58 AM
Hi.
I updated the Help file on GitHub  :)
Title: Re: Help on Help
Post by: Theo Gottwald on April 30, 2023, 12:07:17 PM
Quote from: Nicola_Piano on April 20, 2023, 12:03:16 PMHi,
Due to the fact that it is no longer possible for me to edit the post, I had to change the site where to post the chm help file. You can find it at the bottom of my posts.

Cheers

And now ... can you do it?
Title: Re: Help on Help
Post by: Charles Pegge on April 30, 2023, 12:18:07 PM
noproto was replaced by nosig.

I have removed it from this group:
key:      "function 52"
key:      "sub 52"
key:      "method 52"
key:      "gosub 52"
groupref: procedures
group:    procedural blocks
incfile1: demos\basics\procedures.o2bas
related:  macro
updated:  30/04/2023
.

This is a group of secondary keywords associated with procedures:
key:      "declare 54"
key:      "! 54"
key:      "function 53"
key:      "sub 53"
key:      "ptr 53"
key:      "alias 53"
key:      "lib 53"
key:      "stdcall 53"
key:      "cdecl 53"
key:      "pascal 53"
key:      "ms64 53"
key:      "as 53"
key:      "export 53"
key:      "extern 53"
key:      "external 53"
key:      "callback 53"
key:      "link 53"
key:      "at 53"
key:      "= 53"
key:      "label 53"
key:      "nosig 53"
groupref: declarations
group:    declaring procedures
keywords:

  <b>Left-side keywords:</b>

  ¬declare¬
  ¬!¬
  same as 'declare'
  ¬function¬
  optional
  ¬sub¬
  optional
  ¬ptr¬
  function pointer
  ¬*¬
  function pointer
  ¬alias¬
  exact name of the function in the dll (dynamic link library)
  optional if the function name is an exact match
  ¬lib¬
  name of dll
  ¬stdcall¬
  calling convention (32bit default)
  ¬cdecl¬
  C calling convention (32bit)
  ¬pascal¬
  pascal calling convention (32bit)
  ¬ms64¬
  MS calling convention (64bit default)


  <b>Right-side keywords:</b>

  ¬as¬
  type of return value
  ¬link¬
  store function location to specified variable.
  ¬at¬
  specify pointer to the function location
  ¬=¬
  same as 'at'
incfile1:
related:  procedures, types
updated:  18/01/2021
.

It needs further work

Title: Re: Help on Help
Post by: Nicola on April 30, 2023, 03:35:40 PM
Hi Theo, I tried. You can edit it and attach the new file.
You were good at fixing everything. ;)
Title: Re: Help on Help
Post by: Nicola on May 11, 2023, 12:58:23 PM
@Charles Pegge 

Charles, can you tell me something more about "NOSIG" and could you post some examples of use?
Thank you
Title: Re: Help on Help
Post by: Charles Pegge on May 11, 2023, 06:01:22 PM
Hi Nicola,
'nosig' allows a procedure to accept any parameters. This can be useful for providing a kind of polymorphism. Supposing you have a function that processes floats, but the variables you are using are UDT types, containing floats:

type VectorXYZ
  float x,y,z
end type

type matrix4x4
  float col1[4]
  float col2[4]
  float col3[4]
  float col4[4]
end type

function f(float*v, int n) nosig
  ...
  print "f ok"
end function

float x[1000]
f(@x[31],4)

vectorXYZ v[100]
f(@v[10],3)

matrix4x4 m[100]
f(@m[10],16)
Title: Re: Help on Help
Post by: Nicola on May 14, 2023, 07:58:52 PM
Hi Charles,
Thanks for the explanation.
I entered in the help this keyword and the related example.
Title: Re: Help on Help
Post by: Nicola on October 28, 2023, 09:39:34 PM
Hi.
I've updated the Oxygen_Help.chm file.
I have added the functions related to the SySUtil.inc UDF

Hello
Title: Re: Help on Help
Post by: Charles Pegge on October 30, 2023, 08:42:33 AM
Thanks Nicola.
Title: Re: Help on Help
Post by: Nicola on December 01, 2023, 03:28:47 PM
Hi.
I've updated the help file. I've added more .inc and fixed some things. The look and feel has also changed a bit.
Cheers