PROforma documentation
PROGS, Professional & Graphical Software
Dr. Frans Hemerijckxlaan 13 /1
2650 Edegem
BELGIUM
tel : +32 (0)3/ 457 84 88
fax : +32 (0)3/ 458 62 07
e-mail : joachim@club.innet.be
www : http://www.club.innet.be/~year2827
There currently is no specific programming documentation for the Sbasic
interface to PROforma. The general programming documentation should be read
to get more info about the inner workings of PROforma.
The Sbasic interface to PROforma is very similar to the C interface.
Therefore, you can use the DATAdesign file with the refenence to the
commands which are provided by PROforma, which parameters are needed (and in
which order), and which errors are possible.
The PROforma Sbasic interface should not be used in interpretted SuperBASIC.
If you don't have Sbasic, you should first compile your programs using
Qliberator. For more details, see the ProWesS Sbasic interface documentation.
When the PROforma job is removed after the Sbasic interface to PROforma
or ProWesS are used, then you will no longer be able to use the Sbasic
interface unless another copy is loaded (PWbasic_rext).
The parameters which have to be passed to the Sbasic interface are the same
as the parameters whic have to be passed to the C interface. The following
rules are used in the PROforma Sbasic interface.
- All PROforma access commands are implemented as procedures. These commands
can cause an error when the parameters are not acceptable or when PROforma
is not available. The errors which occur during the call to PROforma are
stored in the pf_err variable. This variable has to be initialised
beforehand (the interface does not create the variable if it doesn't
exist). The name of the pf_err variable is case dependent !
pf_err=0
PFGstateInit "screen driver","",720,540,0,0,gstate,count
IF pf_err<0 THEN PRINT "can't open gstate"
- Sbasic does not have support for complex structures, so all structures have
to be split into the components. For example :
PFColourRGB gstate, red, green, blue
- All return return values except strings) are filled in into the parameters.
For example
PFWidth gstate, "some text", width
will put the width of the string in the width variable.
- Commands which return a string are implemented as string functions.
For example
name$=PFFontNameGet$(gstate)
- The Sbasic interface does not use unicode strings. All has to be done using
normal Sbasic strings. Contrary to the C and Assembler interface, you don't
have to worry about fixpoint values, all values are converted to fixpoint
and back when necessary.
- Some commands are not available in the Sbasic interface :
PFStringXXX, PFShowX, PFShowXY, PFPictureColourGrayGet,
PFPictureColourRGBGet, PFPictureColourCMYKGet, PFPictureDisplayGray,
PFPictureDisplayRGB, PFPictureDisplayCMYK, PFPShowX, PFPShowXY,
PFPStringShowX, PFPStringShowXY.
PROGS, Professional & Graphical Software
last edited September 18, 1996