Commit a16db887 authored by kollo's avatar kollo

improved the manual

improved layout of manual

index now also works again

improved manual
parent 36835488
......@@ -53,6 +53,9 @@ DIST=Makefile sec-base/00_Logo.sec sec-base/01_Version.sec sec-base/02_Preamble.
convert $< $@
%.jpg: pictures/%.gif
convert $< $@
%.ind: %.idx
makeindex -o $@ $<
all : X11-Basic-manual.pdf text-manual
......@@ -82,7 +85,7 @@ main.otxt : main.dvi
dvi2tty -w132 main.dvi -o $@
main.dvi : A.tex tex/*.tex $(EPSFILES) 39_Errors.sec
latex tex/main.tex
makeindex tex/main.tex
makeindex main.idx
latex tex/main.tex
A.tex : sec/?.sec bas/maketex.bas
xbasic bas/maketex.bas
......
......@@ -88,7 +88,9 @@ PROCEDURE doone(f$)
SPLIT t$,":",1,a$,b$
b$=XTRIM$(b$)
PRINT #2,"\begin{mdframed}[hidealllines=true,backgroundcolor=red!20]"
PRINT #2,"{\Large \normalfont \bfseries "+a$+":} {\Huge \normalfont \bfseries \hspace{2cm}\verb|"+b$+"|}";
PRINT #2,"\begin{tabbing}"
PRINT #2,"XXXXXXXXXXXXX\=XXXXXXXXXXXX\=\kill\\"
PRINT #2,"{\Large \bf "+a$+":} \> {\Huge \bf \verb|"+b$+"|}";
WHILE len(b$)
SPLIT b$,",",1,a$,b$
a$=REPLACE$(REPLACE$(a$,"_","\(UNT)"),"\(UNT)","\_")
......@@ -111,29 +113,54 @@ PROCEDURE doone(f$)
PRINT #2,"\label{"+REPLACE$(a$,"()","")+"}";
b$=TRIM$(b$)
WEND
PRINT #2,"\\[5ex]"
PRINT #2,"\\"
PRINT #2,"\end{tabbing}"
PRINT #2,"\end{mdframed}"
ELSE if LEFT$(t$,7)="Syntax:"
PRINT #2,"\begin{mdframed}[hidealllines=true,backgroundcolor=yellow!20]"
WORT_SEP t$,":",1,a$,b$
PRINT #2,"\begin{tabular}{ll}"
PRINT #2,"{\Large {\normalfont \itshape Syntax:}} & \verb|"+TRIM$(b$)+"|\\"
PRINT #2,"\begin{tabbing}"
PRINT #2,"XXXXXXXXXXXXX\=XXXXXXXXXXXX\=\kill\\"
PRINT #2,"{\Large {\it Syntax:}} \> \verb|"+TRIM$(b$)+"|\\"
sflag=1
ELSE if LEFT$(t$,7)="DESCRIP"
IF sflag
PRINT #2,"\end{tabular}\\[4ex]"
PRINT #2,"\end{tabbing}"
PRINT #2,"\end{mdframed}"
sflag=0
ENDIF
WORT_SEP t$,":",1,a$,b$
PRINT #2,"{\Large \normalfont \bfseries DESCRIPTION:}\\[2ex] "+b$+""
PRINT #2,"{\Large \bf DESCRIPTION:}"
PRINT #2,"\vspace{0.5cm}"
PRINT #2
PRINT #2,b$
PRINT #2
ELSE if LEFT$(t$,7)="COMMENT"
IF sflag
PRINT #2,"\end{tabbing}"
PRINT #2,"\end{mdframed}"
sflag=0
ENDIF
IF vflag
PRINT #2,"\end{verbatim}}"
PRINT #2,"\end{mdframed}"
CLR vflag
ENDIF
WORT_SEP t$,":",1,a$,b$
PRINT #2,"\vspace{0.5cm}"
PRINT #2,"{\Large \bf Comment:}\\ "+@treat_tex$(b$)
PRINT #2
ELSE if LEFT$(t$,7)="EXAMPLE"
IF vflag
PRINT #2,"\end{verbatim}}"
PRINT #2,"\end{mdframed}"
CLR vflag
ENDIF
WORT_SEP t$,":",1,a$,b$
PRINT #2,"\vspace{1cm}"
PRINT #2,"\begin{mdframed}[hidealllines=true,backgroundcolor=blue!20]"
PRINT #2,"\section*{\normalfont \bfseries "+a$+":} "+b$+""
PRINT #2,"\section*{\bf "+a$+":} "+b$+""
PRINT #2,"{\footnotesize\linespread{0.8}\begin{verbatim}"
vflag=true
ELSE if LEFT$(t$,7)="SEE ALS"
......@@ -144,45 +171,41 @@ PROCEDURE doone(f$)
CLR vflag
ENDIF
b$=TRIM$(b$)
PRINT #2,"\vspace{1cm} {\large \normalfont \bfseries SEE ALSO:}\hspace{1cm} "
PRINT #2,"\vspace{0.1cm}"
PRINT #2,"\begin{tabbing}"
PRINT #2,"XXXXXXXXXXXXX\=XXXXXXXXXXXX\=\kill\\"
PRINT #2,"{\large \bf SEE ALSO:}\> ";
WHILE len(b$)
e=wort_sep(b$,",",1,a$,b$)
a$=REPLACE$(REPLACE$(a$,"_","\(UNT)"),"\(UNT)","\_")
a$=REPLACE$(REPLACE$(a$,"$","\(DOLLAR)"),"\(DOLLAR)","\$")
PRINT #2,"\index{"+a$+"}\verb|"+a$+"|";
aa$=REPLACE$(REPLACE$(a$,"_","\(UNT)"),"\(UNT)","\_")
aa$=REPLACE$(REPLACE$(aa$,"$","\(DOLLAR)"),"\(DOLLAR)","\$")
PRINT #2,"\index{"+aa$+"}\verb|"+a$+"|";
IF e=2
PRINT #2,",";
PRINT #2,", ";
ENDIF
PRINT #2
b$=TRIM$(b$)
WEND
PRINT #2,"\\"
PRINT #2,"\end{tabbing}"
ELSE
IF sflag
IF LEN(TRIM$(t$))
PRINT #2," & \verb|"+TRIM$(t$)+"|\\"
PRINT #2," \> \verb|"+TRIM$(t$)+"|\\"
ENDIF
ELSE
IF NOT vflag
t$=REPLACE$(t$,"$","\(DOLLAR)")
t$=REPLACE$(t$,"[","\(EKA)")
t$=REPLACE$(t$,"\(EKA)","$[$")
t$=REPLACE$(t$,"]","\(EKZ)")
t$=REPLACE$(t$,"\(EKZ)","$]$")
t$=REPLACE$(t$,"#","\(ASX)")
t$=REPLACE$(t$,"\(ASX)","\#")
' t$=REPLACE$(t$,"{","\(SK1)")
' t$=REPLACE$(t$,"\(SK1)","$\{$")
' t$=REPLACE$(t$,"}","\(SK2)")
' t$=REPLACE$(t$,"\(SK2)","$\}$")
t$=REPLACE$(t$,"&","\(ASC)")
t$=REPLACE$(t$,"\(ASC)","\&")
t$=REPLACE$(t$,"%","\(USC)")
t$=REPLACE$(t$,"\(USC)","\%")
t$=REPLACE$(t$,"^","\(EXP)")
t$=REPLACE$(t$,"\(EXP)","\verb|^|")
t$=REPLACE$(t$,"\(DOLLAR)","\$")
t$=REPLACE$(t$,"_","\(UNDERS)")
t$=REPLACE$(t$,"\(UNDERS)","\_")
if trim$(t$)="\begin{verbatim}"
INC vflag
else if trim$(t$)="\end{verbatim}" and vflag>0
DEC vflag
else if trim$(t$)="----*"
INC vflag
t$="\begin{verbatim}"
else if trim$(t$)="*----" and vflag>0
DEC vflag
t$="\end{verbatim}"
endif
IF vflag=0
t$=@treat_tex$(t$)
ENDIF
PRINT #2,t$
ENDIF
......@@ -191,3 +214,26 @@ PROCEDURE doone(f$)
WEND
CLOSE #1
RETURN
FUNCTION treat_tex$(t$)
t$=REPLACE$(t$,"$","\(DOLLAR)")
t$=REPLACE$(t$,"[","\(EKA)")
t$=REPLACE$(t$,"\(EKA)","$[$")
t$=REPLACE$(t$,"]","\(EKZ)")
t$=REPLACE$(t$,"\(EKZ)","$]$")
t$=REPLACE$(t$,"#","\(ASX)")
t$=REPLACE$(t$,"\(ASX)","\#")
' t$=REPLACE$(t$,"{","\(SK1)")
' t$=REPLACE$(t$,"\(SK1)","$\{$")
' t$=REPLACE$(t$,"}","\(SK2)")
' t$=REPLACE$(t$,"\(SK2)","$\}$")
t$=REPLACE$(t$,"&","\(ASC)")
t$=REPLACE$(t$,"\(ASC)","\&")
t$=REPLACE$(t$,"%","\(USC)")
t$=REPLACE$(t$,"\(USC)","\%")
t$=REPLACE$(t$,"^","\(EXP)")
t$=REPLACE$(t$,"\(EXP)","\verb|^|")
t$=REPLACE$(t$,"\(DOLLAR)","\$")
t$=REPLACE$(t$,"_","\(UNDERS)")
t$=REPLACE$(t$,"\(UNDERS)","\_")
RETURN t$
ENDFUNCTION
##############################################################################
Function: ABS()
Syntax: a=ABS(b)
a%=ABS(b%)
......@@ -26,16 +25,35 @@ Command: ABSOLUTE
Syntax: ABSOLUTE var,adr%
DESCRIPTION:
ABSOLUTE assigns the address adr% to the variable var.
ABSOLUTE assigns the address adr% to the variable var. This way you can make
the internal reference memory pointer of a X11-Basic variable use a different
memory location, for example the one of another variable.
You could use this to pass a variable by reference to a PROCEDURE or FUNCTION
(instead of the standard behaviour, which always passes variable by value to
functions and procedures by default).
EXAMPLE:
a=3
b=4
ABSOLUTE a,VARPTR(b)
PRINT a ! Result: 4 Variables a and b are now identical.
EXAMPLE:
a=3
b=4
ABSOLUTE a,VARPTR(b)
PRINT a ! Result: 4 Variables a and b are now identical.
b=55
PRINT a ! changing b now also affects a (and vice versa)
EXAMPLE:
' pass a variables "by reference" to a X11-Basic PROCEDURE
a=12
@fillwith4711(VARPTR(a))
PRINT a
PROCEDURE fillwith4711(adr%)
LOCAL b
ABSOLUTE b,adr%
b=4711
RETURN
SEE ALSO: VAR
SEE ALSO: VAR, VARPTR()
##############################################################################
Function: ACOS()
......@@ -105,15 +123,15 @@ SEE ALSO: SUB(), MUL(), DIV(), ADD
##############################################################################
Command: AFTER
Syntax: AFTER <num-variable>, <procedure-name>
Syntax: AFTER <seconds>, <procedure-name>
DESCRIPTION:
Procedures can be called after the expiry of a set time. Time in
seconds.
AFTER allows a PROCEDURE to be called after the expiry of a given time.
The time must be specified in seconds.
COMMENT:
The currecnt implementation uses the alarm mechanism of the kernel of
The current implementation uses the alarm mechanism of the kernel of
the operating system. This means, only one procedure can be scheduled
for trigger at the same time.
Once scheduled, AFTER cannot be canceled anymore. But you
......@@ -121,27 +139,31 @@ COMMENT:
AFTER command before the previous one has triggered the procedure
the previous will not be triggered anymore.
The procedure is excecuted exactly at the given time, interrupting the
The procedure is excecuted exactly after the given time, interrupting the
currently running process, even in the middle of a command.
This can lead to a mess in program stack, unpredictible crashes may be
caused. Using AFTER (and EVERY) is not safe!
The interrupt procedure should not do complicated things.
caused. Using AFTER (and EVERY) is not safe!
Keep the actions inside the intterupt PROCEDURE simple.
The interrupt procedure should not do complicated things, it should not
use interactive commands and should not wait for user input.
Maybe just assign a constant to a variable.
Maybe also good to know: A PAUSE command will be immediately ended,
when the AFTER procedure is triggered. The procedure will still be
triggered, even when the main program has already ended.
Maybe also good to know:
A PAUSE command will be immediately ended, when the AFTER procedure is
triggered, and
The procedure will still be triggered, even when the main program has
already ended.
EXAMPLE:
PRINT "You have 10 seconds to enter your name: "
AFTER 10,alarm
INPUT name$
END
PROCEDURE alarm
PRINT "Time out !"
QUIT
RETURN
PRINT "You have 10 seconds to enter your name: "
AFTER 10,alarm
INPUT name$
END
PROCEDURE alarm
PRINT "Time out !"
QUIT
RETURN
SEE ALSO: EVERY
##############################################################################
......@@ -204,9 +226,10 @@ Operator: AND
Syntax: <num-expression1> AND <num-expression2>
DESCRIPTION:
Used to determine if BOTH conditions are true. If both expression1 AND
expression2 are true (non-zero), the result is true. Returns -1 for
true, 0 for false.
AND calculates the bit-wise logical and-opearation on the values on both
sides.
It can be used to determine if BOTH conditions are true. If both expression1 AND
expression2 are true, the result is true; otherwise 0 is returned for false.
Also used to compare bits in binary number operations. 1 AND 1 return a
1, all other combinations of 0's and 1's produce 0.
......@@ -219,7 +242,7 @@ Print 3>3 AND 5>3 Result: 0 (false)
PRINT (30>20 AND 20<30) Result: -1 (true)
PRINT (4 AND 255) Result: 4
SEE ALSO: NAND, OR, NOT, XOR
SEE ALSO: NAND, OR, NOT, XOR, IF
*##############################################################################
Function: AND()
......@@ -227,6 +250,7 @@ Syntax: <num-result>=AND(<num-expression>,<num-expression2>)
DESCRIPTION:
This function returns the result of a bitwise AND operation.
Returns <num-expression> AND <num-expression2>
EXAMPLE:
......@@ -288,14 +312,15 @@ DESCRIPTION:
compression.
EXAMPLE:
t$="Hello, this is a test!!!! This shows arithmetric coding and decoding with X11-Basic."
b$=arie$(t$) ! encode it
print "The string was compressed to ";round(len(b$)/len(t$)*1000)/10;"%"
c$=arid$(b$) ! decode it
print c$
Result:
The string was compressed to 88.1%
Hello, this is a test!!!! This shows arithmetric coding and decoding with X11-Basic.
t$="Hello, this is a test!!!! This shows arithmetric coding and decoding"
t$=t$+" with X11-Basic."
b$=ARIE$(t$) ! encode it
PRINT "The string was compressed to ";ROUND(LEN(b$)/LEN(t$)*1000)/10;"%"
c$=ARID$(b$) ! decode it
PRINT c$
Result:
The string was compressed to 88.1%
Hello, this is a test!!!! This shows arithmetric coding and decodin....
SEE ALSO: ARIE$()
......@@ -313,14 +338,15 @@ DESCRIPTION:
resulting in fewer bits used in total.
EXAMPLE:
t$="Hello, this is a test!!!! This shows arithmetric coding and decoding with X11-Basic."
b$=ARIE$(t$) ! encode it
print "The string was compressed to ";round(len(b$)/len(t$)*1000)/10;"%"
c$=arid$(b$) ! decode it
print c$
Result:
The string was compressed to 88.1%
Hello, this is a test!!!! This shows arithmetric coding and decoding with X11-Basic.
t$="Hello, this is a test!!!! This shows arithmetric coding and "
t$=t$+"decoding with X11-Basic."
b$=ARIE$(t$) ! encode it
print "The string was compressed to ";round(len(b$)/len(t$)*1000)/10;"%"
c$=arid$(b$) ! decode it
print c$
Result:
The string was compressed to 88.1%
Hello, this is a test!!!! This shows arithmetric coding and deco....
SEE ALSO: ARID$()
......@@ -467,7 +493,7 @@ SEE ALSO: ACOS(), ASIN(), ATAN2()
*##############################################################################
Function: ATAN2()
Syntax: <num-result>=ATAN2(<num-expression>,<num-expression>)
Syntax: c=ATAN2(a,b)
DESCRIPTION:
The ATAN() function has a second form which accepts two arguments:
......
......@@ -9,10 +9,12 @@ DESCRIPTION:
Optional parameters are passed on the stack. (like in C).
The default parameter-type is (4-Byte) integer.
If you want to specify other types, please use prefixes:
----*
D: -- double (8-Bytes)
F: -- float (4-Bytes)
L: -- long int, pointer (4-Bytes)
*----
EXAMPLE:
DIM result(100)
......@@ -34,10 +36,12 @@ DESCRIPTION:
Optional parameters are passed on the stack. (like in C).
The default parameter-type is (4-Byte) integer.
If you want to specify other types, please use prefixes:
----*
D: -- double (8-Bytes)
F: -- float (4-Bytes)
L: -- long int, pointer (4-Bytes)
*----
EXAMPLE:
DIM result(100)
......@@ -73,17 +77,17 @@ DESCRIPTION:
EXAMPLE:
i=5
SELECT i
CASE 1
PRINT 1
CASE 2,3,4
PRINT "its 2,3, or 4"
CASE 5
PRINT 5
DEFAULT
PRINT "default"
ENDSELECT
i=5
SELECT i
CASE 1
PRINT 1
CASE 2,3,4
PRINT "its 2,3, or 4"
CASE 5
PRINT 5
DEFAULT
PRINT "default"
ENDSELECT
SEE ALSO: SELECT, DEFAULT, ENDSELECT
#############################################################################
......@@ -157,22 +161,30 @@ DESCRIPTION:
specified in mode, which is a bit mask created by ORing (or adding)
together zero or more of the following:
\begin{verbatim}
- 1 execute/search by others ("search" applies for directories,
and means that entries within the directory can be accessed)
- 2 write by others
- 4 read by others
- 8 execute/search by group
- 0x010 write by group
- 0x020 read by group
- 0x040 execute/search by owner
- 0x080 write by owner
- 0x100 read by owner
- 0x200 sticky bit
- 0x400 set-group-ID
- 0x800 set-user-ID
\end{verbatim}
----*
1 execute/search by others ("search" applies for directories,
and means that entries within the directory can be accessed)
2 write by others
4 read by others
8 execute/search by group
0x010 write by group
0x020 read by group
0x040 execute/search by owner
0x080 write by owner
0x100 read by owner
0x200 sticky bit
0x400 set-group-ID
0x800 set-user-ID
*----
On most operating systems, the permissions are grouped into three levels:
The file owner, the owners group, or all others. So you can specify that this file
can only be written to by the owner, it can be read but not written to by the
owners group, and all other woll have no permission to either read or write to
or from the file. mode=0x20+0x100+0x80
You can also change the owner of that file (mode=0x800+userid) or the group it
belongs to (mode=0x400+groupid). userid and groupid my be between 0 and 1023.
EXAMPLE:
CHMOD "/tmp/file",0x1e8
......@@ -192,7 +204,7 @@ DESCRIPTION:
Character table
\begin{verbatim}
----*
032 048 0 064 @ 080 P 096 ` 112 p
033 ! 049 1 065 A 081 Q 097 a 113 q
034 " 050 2 066 B 082 R 098 b 114 r
......@@ -209,11 +221,11 @@ Character table
045 - 061 = 077 M 093 ] 109 m 125 }
046 . 062 > 078 N 094 ^ 110 n 126 ~
047 / 063 ? 079 O 095 _ 111 o 127
\end{verbatim}
*----
Control codes
\begin{verbatim}
----*
00 NUL 08 BS -- Backspace 16 DLE
01 SOH 09 HT -- horizontal TAB 17 DC1 -- XON
02 STX 10 LF -- Newline 18 DC2
......@@ -230,7 +242,7 @@ Character table
29 GS
30 RT
31 US
\end{verbatim}
*----
COMMENT:
You should avoid to pass an argument outside of the range 0-255 for
......@@ -467,8 +479,10 @@ DESCRIPTION:
the Burrows-Wheeler transform. The result is a better compression
than p.ex. the algorithm used by gzip. At the moment the
COMPRESS$() function is identical to following combination:
----*
b$=ARIE$(RLE$(MTFE$(BWTE$(RLE$(a$)))))
*----
SEE ALSO: UNCOMPRESS$(), BWTE$(), RLE$(), MTFE$()
##############################################################################
......@@ -551,11 +565,11 @@ DESCRIPTION:
Copies a rectangular screen sections given by x,y,w,h to
a destination at xd,yd.
x,y top left corner of source rectangle
w,h width & height " " "
----*
x,y top left corner of source rectangle
w,h width & height " " "
xd,yd destination x and y coordinates
*----
This command is very fast compared to the GET and PUT commands because
the whole data transfer takes place on the X-client (this means on the
screen directly without datatransfer to the program).
......@@ -575,11 +589,11 @@ DESCRIPTION:
complex cosine of a complex expression.
The complex cosine function is defined as:
cos#(z) := (exp#(1i*z#)+exp#(-1i*z#))/2
cos(z) := (exp(1i*z#)+exp(-1i*z#))/2
EXAMPLE:
PRINT COS(0) ! Result: 1
PRINT COS#(0+1i) ! Result: 1.543080634815+0i
PRINT COS(0+1i) ! Result: 1.543080634815+0i
SEE ALSO: SIN(), ASIN()
*##############################################################################
......@@ -641,12 +655,12 @@ COMMENT:
approximately every 72 minutes.
EXAMPLE:
t=CTIMER
FOR i=0 TO 100000
NOOP
NEXT i
ref=(CTIMER-t)/100000
print "Ref=",str$(ref*1000,5,5);" ms"
t=CTIMER
FOR i=0 TO 100000
NOOP
NEXT i
ref=(CTIMER-t)/100000
print "Ref=",str$(ref*1000,5,5);" ms"
SEE ALSO: TIMER, STIMER
#############################################################################
......
......@@ -52,10 +52,16 @@ DESCRIPTION:
Removes enclosing characters from string t$. De-closing a string,
following pairs are recognized:
----*
"" , '' , <> , () , {} , [], ´`
*----
If the string was not enclosed with one of these pairs of characters,
the string will be returned unmodified.
EXAMPLE:
PRINT DECLOSE$("[Hello]")
Result: Hello
SEE ALSO: ENCLOSE$()
##############################################################################
Function: DECRYPT$()
......@@ -78,6 +84,8 @@ Syntax: SELECT ... DEFAULT ... ENDSELECT
DESCRIPTION:
DEFAULT is a label within the SELECT...ENDSELECT construction.
See SELECT.
SEE ALSO: SELECT
......@@ -89,17 +97,20 @@ Syntax: DEFFILL <col>,<style>,<pattern>
DESCRIPTION:
Sets fill color and pattern.
<col> - not used at the moment
<style> - 0=empty, 1=filled, 2=dots, 3=lines, 4=user (not used)
<pattern> - 24 dotted patterns and 12 lined can by chosen.
Sets the fill color and fill pattern for solid graphics elements like
PBOX, PCIRCLE etc...
----*
<col> - not used at the moment
<style> - 0=empty, 1=filled, 2=dots, 3=lines, 4=user (not used)
<pattern> - 24 dotted and 12 lined patterns can by chosen.
*----
SEE ALSO: DEFLINE, DEFTEXT
SEE ALSO: DEFLINE, DEFTEXT, PBOX
##############################################################################
Command: DEFFN
Syntax: DEFFN <function-name>[$][(<variable list>)]=<expression>
Syntax: DEFFN <func-name>[$][(<var list>)]=<expression>
DESCRIPTION:
......@@ -124,28 +135,32 @@ Syntax: DEFLINE <style>,<thickness>[,<begin_s>,<end_s>]
DESCRIPTION:
Sets line style, width and type of line start and end.
<style> -- determines the style of line:
1 Solid line
2 Long dashed line
3 Dotted
4 Dot-dashed
5 Dashed
6 Dash dot dot ..
7 Long Dash dot dot ..
0x11-0xffffffff User defined (not used)
<thickness> -- sets line width in pixels.
<begin_s>,<end_s> -- The start and end symbols are defined
by the last parameter, and can be:
0 Square
1 Arrow
2 Round
----*
<style> -- determines the style of line:
1 Solid line
2 Long dashed line
3 Dotted
4 Dot-dashed
5 Dashed
6 Dash dot dot ..
7 Long Dash dot dot ..
0x11-0xffffffff User defined (not used)
<thickness> -- sets line width in pixels.
<begin_s>,<end_s> -- The start and end symbols are defined
by the last parameter, and can be:
0 Square
1 Arrow
2 Round
*----
The userdefined style of the line defines a dash-pattern in the
nibbles:
nibbles:
----*
0x11 means: 1 pixel dash, followed by 1 pixel gap.
0x61 means: 1 pixel dash, followed by 6 pixel gap.
0x6133 means: 3 pixel dash, followed by 3 pixel gap, followed by a
1 pixel dash followed by a 6 pixel gap.
1 pixel dash, followed by 6 pixel gap.
*----
SEE ALSO: LINE, DEFFILL
##############################################################################
......@@ -159,16 +174,19 @@ DESCRIPTION:
marked using the command POLYMARK.
The color value will be ignored. The color of the points can be
set with the COLOR command.
The following types are possible:
0=point
1=dot (circle)
2=plus sign
3=asterisk
4=square
5=cross
6=hash
8=filled circle
9=filled square
----*
0=point
1=dot (circle)
2=plus sign
3=asterisk
4=square
5=cross
6=hash
8=filled circle
9=filled square
*----
SEE ALSO: POLYMARK, DEFLINE, COLOR
##############################################################################
......@@ -180,12 +198,13 @@ DESCRIPTION:
Chooses a pre-defined mouse form.
The following mouse forms are available :
0=arrow 1=expanded (rounded) X
2=busy bee 3=hand, pointing finger
4=open hand 5=thin crosswire
6=thick crosswire 7=bordered crosswire
and about 100 other X-Window specific symbols.
----*
0=arrow 1=expanded (rounded) X
2=busy bee 3=hand, pointing finger
4=open hand 5=thin crosswire
6=thick crosswire 7=bordered crosswire
*----
and about 100 other X-Window or operating system specific symbols.
SEE ALSO: HIDEM, SHOWM
##############################################################################
......@@ -198,11 +217,12 @@ DESCRIPTION:
Defines the style, rotation and size of the line font used
by the LTEXT command. COLOR and linestyles (e.g. thickness)
can be set with COLOR and DEFLINE.
flag% : text style - 0=monospace, 1=normal
angle : rotation in degrees
width and height : size of text in %
(100% corresponds to 100 Pixel font)
----*
flag% : text style - 0=monospace, 1=normal
angle : rotation in degrees
width and height : size of text in %
(100% corresponds to 100 Pixel font)
*----
EXAMPLE:
DEFTEXT 0,0.05,0.1,0 ! Size of the charackters is approx 10x5 pixels
......@@ -264,18 +284,19 @@ DESCRIPTION:
##############################################################################
Command: DIM
Syntax: DIM <arrayname>(<indexes>)[,<arrayname>(<indexes>),...]
Syntax: DIM <arrayname>(<indexes>)[,<arrayn>(<ind>),...]
DESCRIPTION:
Sets the dimensions of an array or string array. Arrays can be
Sets the dimensions of an array. An array variable can store many values
addessed by an index or a tuple of indicies. Arrays can be
re-dimensioned any time.
COMMENT:
The argument determines the number of Entries in the array. The
The argument determines the number of entries in the array. The
index count starts with 0. So DIM a(10) will produce the
elements a(0), a(1), ... a(8), and a(9) (10 elements).
Note: a(10) does not exist!
Note: a(10) does not exist here!