@ABS
'ABS(Number)
'Return absolute (positive) value of number
@ACOS
'ACOS(Number)
'Returns arccosine of number
@ASC
'ASC(char$)
'Returns the ASCII key value of char$
@ASIN
'ASIN(Number)
'Returns arcsine of number
@ATN
'ATN(Number)
'Returns arctangent of number
'Alternative --> ATAN
@ATAN
'ATAN(Number)
'Returns arctangent of number
'Alternative --> ATN
@BIN$
'BIN$(Integer)
'Returns the binary representation of the number
'This must be a positive integer
@BIND
'BIND Num TO funname
'Binds a function pointer
@CALL
'CALL Sub
'Calls (jumps to) a subroutine
@CALLBACK
CALLBACK(MySub)
'Returns the absolute address of the SUB/FUNCTION
also See CODEPTR
@CALLFUNC
'CALLFUNC(Num, param1, param2, ...)
'Calls function pointer
@CEIL
'CEIL(Number)
'Rounds a numeric expression up towards positive infinity
'EG: 1.5 becomes 2
@CHDIR
'CHDIR path$
'Change directory to path$
@CHDRIVE
'CHDRIVE "a:\"
'Change drive device (a:\ b:\ c:\ ...)
@CHR$
'CHR$(byte)
'Returns character corresponding to the ASCII key value
@CINT
'CINT(Number)
'Implemented for compatibility reasons. Use ROUND instead
@CLNG
'CLNG(Number)
'Implemented for compatibility reasons. Use ROUND instead
@CODEPTR
'CODEPTR(MySub)
'Returns the absolute address of the SUB/FUNCTION
@CONST
'CONST var = expression
'Assigns variable a constant value
@CONVBASE$
'CONVBASE$(Str$, FromBase, ToBase)
'Returns the representation Str$ FromBase to ToBase representation.
@COS
'COS(Number)
'Returns cosine of an angle given in radians
@DATA
'DATA constant[,constant,....]
'Stores data for easy retrieval, use READ to read the data.
@DATE$
'Returns the current Date in MM-DD-YYYY format.
@DEC
'DEC(Variable [, DecVal])
'Decrements variable by 1 unless otherwise specified
@DELETE$
'DELETE$(String$, Index, Count)
'Deletes Count number of characters from String$ starting at Index
@DIM
'DIM Variable AS DataType
'Creates variable of type DataType
@AS
'DIM variable type eg, DIM i AS INTEGER
@IS
' Used in SELECT CASE 
' CASE IS > 200
@DIR$
'DIR$[(FileSpec$, Attributes%)]
'Returns the next file of FileSpec$
'Use DIR$ on its own for next matching file
@DIREXISTS
'DIREXISTS(Path$)
'Returns 0 if directory does not exist, non-zero otherwise
@DOEVENTS
'Returns control to the operating system to process the events 
'in queue, and returns back control to the program once done.
'useful when you're in a deep/big loop
@EVENT
'defines routine that receives user input/ system message 
'EVENT event  ... END EVENT
@END
'On its own, terminates program (only if running as CONSOLE)
'Used to close off blocks of code such as:
'  IF..END IF   SUB..END SUB    CREATE..END CREATE
@EXP
'EXP(Number)
'Calculates the exponential function
'(e raised to the power of number)
@ENVIRON
'ENVIRON StringExpression
'Set environment string
@ENVIRON$
'ENVIRON$(environment-string)
'Get environment value
@EXTRACTRESOURCE
'EXTRACTRESOURCE ResourceNumber%, FileName$
'Extracts a resource to file
@FIELD$
'FIELD$(Source-string, deliminator-string, field-number)
'  A$ = FIELD$("John&Doe&555-1234", "&", 2)   '-- Returns Doe
' A$ = FIELD$("John&&Doe&&555-1234", "&&", 3)   '-- Returns 555-1234
@FILEEXISTS
'FILEEXISTS(FileName$)
'Returns 0 if file not found, non-zero otherwise
@FIX
'FIX(Number)
'Truncates fractional number, rounding down towards 
@FLOOR
'FLOOR(Number)
'Rounds a numeric expression down towards negative infinity
'EG: 1.5 becomes 1
@FORMAT$
'FORMAT$(S$, arg1, arg2, ...)
'Returns a formatted string assembled from a format string
'and a series of arguments (up to 50)
'A$ = FORMAT$("Location: %s %4d %-10.4g", "Any", 1234, 55.39)
'   -- Returns Location: Any 1234 55.39
'CAUTION, this function has a large memory leak (use STRF$ instead)
@FRAC
'FRAC(Number)
'Returns the fractional part of the numeric expression
@HEX$
'HEX$(Number)
'Returns the HEXidecimal string representation of the Number
@HEXTODEC(HexNum$)
' A = HexToDec(HEX$(123))
' B = HexToDec(""FFFFFFFFFFFFF")
@INC
'INC(Variable [, IncVal])
'Increments variable by 1 unless otherwise specified
@INITARRAY
'INITARRAY(Array, values, ...)
'Initializes array with corresponding values
@INP
'INP(Address)
'Returns the byte value read from an I/O port 0..65535
'depreciated, use INOUT32 DLL
@INPW
'INPW(Address)
'Returns the word value read from an I/O port 0..65535
'depreciated, use INOUT32 DLL
@INSERT$
'INSERT$(Source$,Dest$,Index)
'Insert Source$ into Dest$ starting at Index
'See REPLACE$
@INSTR
'INSTR([Start,] Search$,Find$)
'Returns the position in the Search$ that Find$ was found.
'If no match then 0 is returned
' A% = INSTR("Hello", "ll") '-- returns 3
@INT
'INT(Number)
'Convert Number to a 32-bit INTEGER, truncating decimals
@KILL
'KILL Filename$
'Deletes a file
@KILLMESSAGE
'KILLMESSAGE hWnd, Message
'Removes message from queue
@LBOUND
'LBOUND(ArrayName[, Dimension])
'Returns the lowerbound of an array (Dimension starts at 1)
@LCASE$
'LCASE$(String)
'String is converted to lowercase
@LEFT$
'LEFT$(String,Num)
'Returns the leftmost Num characters from String
@LEN
'LEN(String)
'Returns the length of String
@LIBRARYINST
'LIBRARYINST(DLLName)
'Returns the handle to a loaded DLL module
@LOG
'LOG(Number)
'Returns the natural logarithm of Number
@LPRINT
'LPRINT [Expression][;|,][...]
'Acts exactly like PRINT, except all output is directed to
'the default printer. Make sure to call LFLUSH.
'Also see the Printer component for graphical printing
@LFLUSH
'Calling this will start printing your document
'Make sure all your LPRINTs are executed before calling LFLUSH
@LTRIM$
'LTRIM$(String)
'Returns String with leftmost spaces removed
@MEMCMP
'MEMCMP(ptr1, ptr2, count)
'Compares 2 memory addresses, returns 0 if not equal, non-zero otherwise
@MEMCPY
'MEMCPY(destination, source, n)
'A memory function that copies n bytes of memory from source to destination
@MEMSET
'Syntax: MEMSET(ptr, char, size)
'A memory function that initializes a memory blocks. 
@MESSAGEBOX
'MESSAGEBOX(Msg$, Title$, MsgButtons%)
'Displays a simple message box with prompts
@MESSAGEDLG
'MESSAGEDLG(Msg$, MsgType, MsgButtons, HelpContext)
'Displays a message dialog box, see RAPIDQ.INC for proper types/buttons
'IF MessageDlg("Close this form?", mtWarning, mbYes OR mbNo, 0) = mrNo THEN
'    '-- Don't close form
'END IF
@MID$
'MID$(String, Position, Num)
'Returns characters from String starting at Position with a length fo Num
' A$ = MID$("Hello",3,2) '-- returns ll
'To get a single character you could use this method instead:
'  char$=a$[position]
@MKDIR
'MKDIR Dir$
'Creates new directory
@OUT
'OUT(Address, bytevalue)
'Sends a byte value to a machine I/O port 0..65535
'depreciated, use INOUT32 DLL
@OUTW
'OUT(Address, bytevalue)
'Sends a word value to a machine I/O port 0..65535
'depreciated, use INOUT32 DLL
@PLAYWAV
'PLAYWAV FileName$|Resource_Handle, SndOption
'Plays a WAV file, see RAPIDQ.INC for sndOptions
@POSTMESSAGE
'POSTMESSAGE(Handle, uMsg, wParam, lParam)
'Post message to handle, and does not block.
'Refer to your favourite WinAPI guide for the proper message numbers
@PRIVATE
'Use inside a TYPE ... EXTENDS {QOBJECT}  ... END TYPE block
'PRIVATE:
'{all methods and properties only accessed within the TYPE...END TYPE block }
@PUBLIC
'Use inside a TYPE ... EXTENDS {QOBJECT}  ... END TYPE block
'PUBLIC:
'{all methods and properties now can be accessed outside TYPE...END TYPE block } 
@QUICKSORT
'QUICKSORT(Array-begin, Array-end, ASCEND | DESCEND)
'Sort any array, BYTE, WORD, SHORT, STRING, etc...
@RANDOMIZE
'RANDOMIZE [Num]
'Use randomize to reseed the random number generator
@READ
'READ variable [, variable, ...]
'Reads next DATA statement, stores it in variable
@REDIM
'REDIM Array(Num) AS DataType
'Use REDIM to redimension an array preserving existing data.
'REDIM is equivalent to DIM if the array has not yet been allocated
@RENAME
'RENAME File1$, File2$
'Renames File1$ to File2$
@REPLACE$
'REPLACE$(Source$, Replace$, Index)
'Replaces characters in Source$ with those in Replace$
'starting at Index. This overwrites characters
'See INSERT$
@REPLACESUBSTR$
'REPLACESUBSTR$(Source$, ReplaceStr$, Withstr$)
'Replaces the string ReplaceStr$ in Source$ with WithStr$
@RESTORE
'RESTORE [linelabel]
'Jumps to specific position in DATA statement
@RESOURCE
'RESOURCE(number%)
'Get numeric value of Resource, mainly for use with ExtractResource, 0 based array
@RESOURCECOUNT
'A function that returns the number of resources in the current program.
' A% = RESOURCECOUNT
'Get resource count
@REVERSE$
'REVERSE$(S$)
'Reverses a string
@RESULT
'sets return value for a FUNCTION
'You can set it multiple times. The last value is returned
'FUNCTION SquareRoot(a AS SINGLE) AS SINGLE
'     RESULT = SQR(a)
'END FUNCTION 
@RGB
'RGB(Red%, Green%, Blue%)
'Returns the BGR numeric representation of the color
@RIGHT$
'RIGHT$(String,Num)
'Returns the righttmost Num characters of String
@RINSTR
'RINSTR([Start,] SearchString, FindString)
'Reverse INSTR Function, searching starts from the end of SearchString
@RMDIR
'RMDIR Dir$
'Removes directory
@RND
'RND(UpperBound)
'Returns a random number, if no upperbound is given, it returns a decimal number.
'Use RANDOMIZE to reseed
@ROUND
'ROUND(Number)
'Rounds number to nearest integer
'If the argument is  negative, then Round always rounds toward zero. I.E. Round(-3.99) returns -3 instead of -4. 
' Also uses IEEE which choses round-to-even
@RTRIM$
'RTRIM$(String)
'Returns String with rightmost spaces removed
@RUN
'RUN command$
'Executes command, but does not block
@EXECUTE
'Execute function
@SENDMESSAGE
'SENDMESSAGE(Handle, uMsg, wParam, lParam)
'Post message to handle, and blocks.
'Refer to your favourite WinAPI guide for the proper message numbers
@SENDMESSAGEAPI
'another form of SENDMESSAGE(Handle, uMsg, wParam, lParam) that is windows specific
'Post message to handle, and blocks.
'Refer to your favourite WinAPI guide for the proper message numbers
@SGN
'SGN(Number)
'Returns the sign of a numeric expression
@SHELL
'SHELL command$                <<< Executes command, and blocks until finished
'pid=SHELL(command$,option)    <<< Function version does not block
' Options
' 0=HIDE              6=MINIMIZE
' 1=SHOWNORMAL        7=SHOWMINNOACTIVE
' 2=SHOWMINIMIZED     8=SHOWNA
' 3=SHOWMAXIMIZED     9=RESTORE
' 4=SHOWNOACTIVATE   10=SHOWDEFAULT
' 5=SHOW
@SHOWMESSAGE
'SHOWMESSAGE text$
'Pops up a message in a simple box
@SIN
'SIN(Number)
'Returns sine of an angle given in radians
@SOUND
'SOUND freq, duration
'Outputs sound through PC Speaker
@SPACE$
'SPACE$(Num)
'Returns string with Num spaces
@SQR
'SQR(Number)
'Returns the square root of Number, make sure it's non-negative
@STATIC
'STATIC Variable AS DataType
'Creates variable of type DataType and preserves variable between procedure calls
@STR$
'STR$(Number)
'Returns the string representation of Number
@STRF$
'STRF$(Number, Format%, Precision%, Digits%)
'Converts a floating point or number value to a string
'A$ = STRF$(99.9934, ffGeneral, 4, 4)
'A$ = STRF$(12345678, ffNumber, 8, 0)
'The following are valid Formats:
'0 = ffGeneral      2 = ffFixed1 = ffExponent     3 = ffNumber
@STRING$
'STRING$(Num, Char) or STRING$(Num, Char$)
'Returns a string containing CHR$(Char) or first character
'of Char$ repeated Num times
@SUPER
'custom components, all methods, properties, and events can be overridden
@SWAP
'SWAP A,B
'Exchanges values, so A = B and B = A
@TALLY
'TALLY(Search$, Match$)
'Returns number of occurrences of Match$ in Search$
'Count& = TALLY("abcdefghijklmnabc", "abc")   '-- returns 2
@TAN
'TAN(Number)
'Returns tangent of an angle given in radians
@THIS
'to reference own component/object name inside a 
'TYPE EXTENDS QOBJECT ....  This.Handle = .... END TYPE statement block
@TIME$
'TIME$
'Returns the current time in HH:MM:SS format
@TIMER
't! = TIMER
'Returns the current TIMER value
@UBOUND
'UBOUND(ArrayName[, Dimension])
'Returns the upperbound of array (Dimension starts at 1)
@UCASE$
'UCASE$(String)
'Returns a string whose characters onverted to uppercase
@UNLOADLIBRARY
'UNLOADLIBRARY(DLLName)
'Removes DLL from memory
@VAL
'VAL(String)
'Returns the closest numeric representation of the string
@VARPTR
'VARPTR(VarName)
'Returns the address of a variable.
@VARPTR$
'VARPTR$(address)
'Returns the null-terminated string representation of a given address
'S$ = VARPTR$(279027343)
@VARTYPE
'VARTYPE(variant)
'Returns the type of a variant 0 - Integer, 1 - Float, 2 - String
@WSTRING$
'function in RapidQ2.inc that returns a Unicode (widestring)
'WSTRING$("image/bmp" [,codePage]) 
A$ = WSTRING$("hello", CP_UTF8)
@WSTRINGTOASCII$
'function in RapidQ2.inc that converts a Unicode (widestring) to ASCII
'WSTRINGtoASCII$(Wchar$ [,codePage]) 
'A$ = WSTRINGtoASCII$(VARPTR(MimeType), CP_UTF8)
@SIZEOF
'SIZEOF (Var(Index))
'Returns the size of the variable type
@CLS
'Clears console screen
@COLOR
'COLOR [Fore%][, Back%]
'Sets current color attribute. You can ignore either one of the parameters
@CONSOLE.INPUTHANDLE
'hnd = CONSOLE.INPUTHANDLE
'Returns the console input handle
@CONSOLE.OUTPUTHANDLE
'hnd = CONSOLE.OUTPUTHANDLE
'Returns the console output handle
@CSRLIN
'CurRow% = CSRLIN
'Returns current row of cursor
@INKEY$
'Returns ASCII/Extended key character typed
@GET$
'GET$(NumChars)
'Get NumChars from current input device
@INPUT$
'INPUT$(NumChars)
'Get NumChars from current input device
@INPUT
'INPUT A$ or INPUT "Text",A$
'Reads a line of input from user
@LOCATE
'LOCATE [Y%][, X%][, cursor]
'Moves cuRsor to Y%, X% (upper left starts at 1,1).
'You can ignore either one of the parameters
@PCOPY
'PCOPY source, dest
'Copy page from source to dest. The visible page is 
'There are 7 off-screen pages
@PEEK
'A% = PEEK([#PageNum,] address)
'Returns the char/attribute value at address
@POKE
'POKE [#PageNum,] address, byte
'Poke attribute or char at address
@POS
'CurPos% = POS(0)
'Returns current position of cursor
@PRINT
'PRINT [#PageNum[;|,]][stuff][;|,][...]
'Write to standard output (console).
'To write to the offscreen buffers, use #PageNum.
'PageNum is 1-7. Only works under Windows
'Use ? for shorthand (EG: ? "a" instead of PRINT "a")
@TAB
'PRINT TAB(Number)
'Pads out printing with tabulated positions
@SETCONSOLETITLE
'SETCONSOLETITLE(Title$)
'Sets the console title
@SLEEP
'SLEEP Num
'Delay for Num seconds. Num can be fractional
@COMMANDCOUNT
'INTEGER Number of command line parameters received
@COMMAND$
'Array of commands received (commands are separated by spaces)
'first element starting at 1. Element zero is your application path/name
@CURDIR$
'Returns the current working directory of your application
@ISCONSOLE
'Returns a non-zero number if application is a console, 0 otherwise
@MOUSEX
'Returns X coordinate of mouse pointer relative to your active form
@MOUSEY
'Returns Y coordinate of mouse pointer relative to your active form
@PARAMSTRCOUNT
'Returns number of String parameters received
'This variable is used only inside a SUBI or FUNCTIONI declaration.
@PARAMSTR$
'Used only inside a SUBI or FUNCTIONI declaration
'Returns string parameter value, first element starting at 0
@PARAMVAL
'Used only inside a SUBI or FUNCTIONI declaration
'Returns numeric parameter value, first element starting at 0
@PARAMVALCOUNT
'Returns number of Numeric parameters received.
'This variable is used only inside a SUBI or FUNCTIONI declaration.
@SCREEN.CAPTURETOBMP 
'capture a snapshot of the Screen by area defined in Rect. If Rect is NULL, then whole screen is captured. 
'eg Screen.CaptureToBMP(Rect AS QRECT, CapBitMap AS QBITMAP)
'must include RapidQ2.inc
'Returns False if failed
@SCREEN.CAPTURETOFILE 
'eg Screen.CaptureToFIle(Rect AS QRECT, OutFileName AS STRING)
' Screen Capture by area defined in Rect. If Rect is NULL, then whole screen is captured
'must include RapidQ2.inc
'Returns False if failed
@SCREEN.CLIENTHEIGHT 
'Get actual drawing area of screen
'must include RapidQ2.inc
@SCREEN.CLIENTWIDTH
'Get actual drawing area of screen
'must include RapidQ2.inc
@SCREEN.CURSOR
'Change global mouse pointer
@SCREEN.CURSORS
'R/W array of cursor handles
@SCREEN.CONSOLEX 
'Returns maximum column for console screen, useful under Unix. 
@SCREEN.CONSOLEY
'Returns maximum row for console screen, useful under Unix.
@SCREEN.ENUMRESOLUTION
'eg, SCREEN.EnumResolution(ListView AS QLISTBOX)
'possible video modes are stored in a Qlistbox object
'must include RapidQ2.inc
@SCREEN.GETPIXEL
'Get the RGB coded color of pixel at x, y on desktop, or active screen
'MyColor = SCREEN.GetPixel(x AS INTEGER, y AS INTEGER) AS LONG
'must include RapidQ2.inc
@SCREEN.GETPIXELDEPTH
'Find out the bits/pixel setting of the screen
'depth = SCREEN.GetPixelDepth
'must include RapidQ2.inc
@SCREEN.HEIGHT
'Returns Windows screen Height (not to be confused with Form.Height)
@SCREEN.MONITORS
'How many monitors are connected
'must include RapidQ2.inc
@SCREEN.MOUSEBUTTONS
'Returns how many mouse buttons
'must include RapidQ2.inc
@SCREEN.MOUSEPRESENT
' Make sure the mouse is connected or not working
'must include RapidQ2.inc
@SCREEN.MOUSESWAP
'Reports if the user has swapped the left for the right mouse button
'must include RapidQ2.inc
SCREEN.MOUSEX
'Returns X Coordinate of Mouse Pointer relative to your screen
SCREEN.MOUSEY
'Returns Y Coordinate of Mouse Pointer relative to your screen
@SCREEN.SETMOUSEXY
'Place the mouse cursor at x, y on screen
' eg SCREEN.SetMouseXY (X AS LONG, Y AS LONG) AS LONG  
'must include RapidQ2.inc
@SCREEN.SETRESOLUTION
' Screen.SetResolution (X AS DWORD, Y AS DWORD, bpp AS WORD, Freq  AS DWORD)  AS LONG
' Set the screen resolution, pixel depth and monitor refresh rate. If the mode is not supported, a message box appears informing the Function has failed. Use EnumResolution to find out possible settings. This function should not make a permanent change in the users Registry. Freq (in Hertz) can be set to 0 for no change. Use with caution.  
'must include RapidQ2.inc
@SCREEN.WIDTH
'Returns Windows screen Width (not to be confused with Form.Width)
@STACK.INT
'Returns most current stack integer parameter. First element starting at 0
'does not return variables passed by reference
@STACK.STR$
'Returns most current stack string parameter. First element starting at 0
@SHL
'x SHL y   shift x LEFT by y units
@SHR
'x SHR y   shift x RIGHT by y units
@MOD
'x MOD y   returns remainder of xy in integer
@INV
'x INV y   returns inverse of number on modulus
@NOT
'NOT x   returns complement of x (inverted)
@AND
'x AND y   compare bits in x and y. Return 1 if both bits are set
@OR
'x OR y   compare bits in x and y. Return 1 if either bit is set
@XOR
'x XOR y   compare bits in x and y. Return 1 if ONLY 1 bit is set
@$MACRO
'$MACRO name[params..] definition
'Examples:
' $MACRO strcat(a,b) a=a+b
' $MACRO TwoPI (2*PI)
' $MACRO Add(x,y) x+y
@$OPTION
'$OPTION Name[Params]
'Names are BYFREF,BYTECODE,DECIMAL,DIM,EXPLICIT,GTK,ICON,and INKEY$
@$INCLUDE
'$INCLUDE filename
'Include code directly into program
'EG: $INCLUDE "RapidQ.inc" or <Rapidq.inc>
@$RESOURCE
'$RESOURCE handle AS filename
'A way to include graphics into the program
'EG: $RESOURCE MyBMP AS "MyPicture.BMP"
@$TYPECHECK
'$TYPECHECK ON|OFF
'Type-Checking ON means all variables must be declared
@$OPTIMIZE
'$OPTIMIZE ON|OFF (Default)
'Reduces code size. Use this as a first statement in code
@$ESCAPECHARS
'$ESCAPECHARS ON|OFF
'If ON, allows for escape codes to be decoded in strings
'Here are the codes which may be used:
' \a AlarmBell  \n NewLine  \r Carriage Return  \F Form Feed
' \b BackSpace  \t Tab      \v Vertical Tab
' \\ BackSlash  \" Double Quote
' \#### Decimal 0..255      \xHH Hex 00..FF
@$IFDEF
'$IFDEF type  ... $ENDIF
'Compile code if type has been defined
@$IFNDEF
'$IFNDEF type  ... $ENDIF
'Compile code if type has NOT been defined
@$ENDIF
'See $IFDEF $IFNDEF
@$APPTYPE
'$APPTYPE CGI|CONSOLE|GUI (default)
@$ELSE
'Compile code if condition was NOT met
'See $IFDEF $IFNDEF
@$DEFINE
'$DEFINE newdef olddef
'Defines a type like --> $DEFINE INT16 SHORT would create an INT16 keyword
'These types are built in --> WIN32 UNIX TYPE
@$UNDEF
'$UNDEF def [,def...]
'Remove/Unhook a defined type
@DECLARE
'DECLARE SUB name or DECLARE FUNCTION
'Use DECLARE SUB/FUNCTION whenever you want to provide a "forward"
'declaration without writing the SUB/FUNCTION yet
@SUB
'SUB name  .. END SUB
'A subroutine in the program. You can invoke the subroutine by
'referencing its name only or by using CALL name.
@FUNCTION
'FUNCTION name AS type .. END FUNCTION
'Returns a value into name.
@SUBI
'SUBI name (...)  ... END SUBI
'A way to use infinite parameters without type-checking. See chapter 9
'See also -> ParamStr$(), ParamVal(), ParamValCount, ParamStrCount
@FUNCTIONI
'FUNCTIONI (...)  ... END FUNCTIONI
'A way to use infinite parameters without type-checking. See chapter 9
'See also -> ParamStr$(), ParamVal(), ParamValCount, ParamStrCount
@LIB
'DECLARE SUB Test LIB "TEST.DLL" ALIAS "MyFunc" (S AS STRING)
'For DLL handling. See chapter 9
@ALIAS
'DECLARE SUB Test LIB "TEST.DLL" ALIAS "MyFunc" (S AS STRING)
'For DLL handling. See chapter 9
@FOR
'FOR variable=start TO finish [STEP amount]  ... NEXT variable
'Performs a loop, depending on values in start/finish
@TO
'used in FOR variable=start TO finish [STEP amount]  ... NEXT variable
@NEXT
'used in FOR variable=start TO finish [STEP amount]  ... NEXT variable
@STEP
'FOR var=1 TO 10 STEP 2
'This command is used in conjunction with the FOR command
'The above example would make 'var' step by 2
@WHILE
'WHILE condition=true ... WEND
'repeats a section of code while the condition is true
@WEND
'See WHILE
@DO
'Start of a DO...LOOP block.
'Used for repeating code. When a LOOP statement is found,
'execution goes back to statement after the DO command
@LOOP
'Used with DO command. See optional UNTIL command
@UNTIL
'LOOP UNTIL condition=true
'would terminate a loop when the condition is true
@EXIT
'EXIT FOR|LOOP|WHILE|SUB|FUNCTION
'Use this to exit prematurely from any of the above
@CREATE
CREATE name AS <qobject>  ... END CREATE
@WITH
'WITH name ... END WITH
'Use this to reference properties/methods/event to save typing
@CONSTRUCTOR
'CONSTUCTOR  ... END CONSTUCTOR
'Used inside a TYPE declaration to give default values to properties
@IF
'IF expression=true THEN execute
'Executess commands after THEN if the expression is true
@THEN
'IF expression=true THEN execute
@ELSE
'IF expression=true THEN do this ELSE do this instead
'Executes the part after ELSE if the expression is false
@ELSEIF
'IF expression=true THEN do this ELSEIF expression=true THEN do this...
@IIF
'IF expression1=true THEN ... ELSEIF expression2=true THEN ....
'The immediate IF function returns one of two parts depending on the evaluation of 'an expression. Notice that both parts are evaluated, whether the expression 'returned true or false
'syntax: IIF(expression, true-expr, false-expr)
A$ = IIF(6 > 5, "TRUE", "FALSE") '-- returns TRUE
@SELECT
'SELECT CASE  ... END SELECT
'Ideal when testing lots of conditions
@CASE
'CASE expression
'If matching result, then perform the code
'See SELECT command
@TYPE
'TYPE name [EXTENDS qobject] ... END TYPE
'For creating custom types
@EXTENDS
'TYPE name EXTENDS qobject
'For creating custom components
@PROPERTY
'PROPERTY SET name (param AS datatype)  ... END PROPERTY
'Use only within an extended TYPE
@BYTE
'8 Bits   0..255   a?=0
@WORD
'16 Bits   0..65535   a??=0
@DWORD
'32 Bits   LINUX-ONLY   a???=0
@SHORT
'16 Bits   -32768..32767   a%=0
@LONG
'32 Bits   -2147483648..2147483647   a(ampersand)=0
@INTEGER
'32 Bits   -2147483648..2147483647   a(ampersand)=0
@SINGLE
'32 Bits   1.5*10^45..3.4*10^38  a!=0
@DOUBLE
'64 Bits   5.0*10^324..1.7*10^308   a#=0
@STRING
'a$=""
@VARIANT
'A variable which can mutate into another type.
'Has no suffix, so use DIM to create it:
'  DIM v AS VARIANT
'  v=5 : v="hello"   <-- Both valid
@DEFINT
'DEFINT var[,var,var...]
@DEFSTR
'DEFSTR var[,var,var...]
@DEFDBL
'DEFDBL var[,var,var...]
@DEFSNG
'DEFSNG var[,var,var...]
@DEFBYTE
'DEFBYTE var[,var,var...]
@DEFWORD
'DEFWORD var[,var,var...]
@DEFDWORD
'DEFDWORD var[,var,var...]
@DEFLNG
'DEFLNG var[,var,var...]
@DEFSHORT
'DEFSHORT var[,var,var...]
@GOTO
'GOTO label
'Jump to a position in code where label is.
'Labels must end in a colon like this --> MyRoutine:
@GOSUB
'GOSUB label  ... RETURN
'GO to a SUBroutine, and when finished, RETURN back.
@RETURN
'RETURN from a SUBROUTINE back to the next line after
'the GOSUB statement which sent us here
@QSYSTEM
'RapidQ2 Component used to get Operating system
' properties like OS version, hibernate, control panels
@QDEBUG
'RapidQ2 Component used to print out variables
' during runtime and get/set Windows Last Error
@APPLICATION.
'RapidQ2 Component extended to get path and set priority
@APPLICATION.EXENAME
 The executable name of the application, path name is excluded (use COMMAND$(0) for full path information).  
@APPLICATION.HANDLE
 hInstance of the APPLICATION
@APPLICATION.HELPFILE
 HelpFile specifies the name of the file the application uses to display help.  
@APPLICATION.HINTCOLOR
 HintColor determines the color of the hint boxes for the Help Hints.  
@APPLICATION.HINTHIDEPAUSE
 HintHidePause specifies the time interval to wait before hiding the Help Hint if the mouse has not moved from the control or menu item.  
@APPLICATION.HINTPAUSE
 HintPause specifies the time interval that passes before the control's Help Hint appears when the user places the mouse pointer on a control or menu item.  
@APPLICATION.HINTSHORTPAUSE
 HideShortPause specifies the pause to wait before bringing up a hint if a hint has already been shown.  
@APPLICATION.ICON
 Specify an icon filename to appear as the default icon of your app  
@APPLICATION.ICOHANDLE
' Specify an icon resource to appear as the default icon of your app
'Example:
'$RESOURCE game_ICO AS "game.ico"
'APPLICATION.IcoHandle = game_ICO 
@APPLICATION.PATH
' returns the path that your application is running from
@APPLICATION.SHOWHINT
'set to true or false
@APPLICATION.TITLE
'assign a string to app title
@APPLICATION.HELPCOMMAND
' SUB (Command AS WORD, Data AS LONG) Accesses the Help commands in the WinHelp API 
@APPLICATION.HELPCONTEXT
' SUB (Context AS LONG) Bring up the Application's HelpFile at specifed Context ID 
@APPLICATION.HELPJUMP
' SUB (JumpID AS STRING) Brings up the HelpFile and displays the screen in the Help file that has the JumpID 
@APPLICATION.MINIMIZE
'Minimize Application 0 W 
@APPLICATION.TERMINATE
'Terminates Application 
@SCREEN.
'RapidQ2 Component extended to get screen capture, set
'resolution, and screen quality
@QMENUEX
'RapidQ2 Component to add bitmaps to your Menus
@QLISTVIEWEX
'RapidQ2 Component to extend QLISTVIEW
@QFILEDIALOG
'File Dialog box for multiselect save/open
@QDOCKFORM
'A dockable FORM (defined in rapidq2.inc)
@UDTPTR
'Address of a user defined type variable (defined in rapidq2.inc)
'syntax uPtr = UDTPTR(DataType)
@NVIEWLIBPRESENT
' Depreciated use QBITMAPEX
@QD3DCAMERA
'3D Camera operations for DirectX 3D
@APPLICATION
ExeName=STRING *The executable name of the application, path name is excluded (use COMMAND$(0) for full path information).  
Handle=INTEGER  *hInstance of the application.  
HelpFile=STRING *HelpFile specifies the name of the file the application uses to display help.  
HintColor=INTEGER  *clInfoBk HintColor determines the color of the hint boxes for the Help Hints.  
HintHidePause=INTEGER  *2500 HintHidePause specifies the time interval to wait before hiding the Help Hint if the mouse has not moved from the control or menu item.  
HintPause=INTEGER  *500 HintPause specifies the time interval that passes before the control's Help Hint appears when the user places the mouse pointer on a control or menu item. 
HintShortPause=INTEGER  *50 HideShortPause specifies the pause to wait before bringing up a hint if a hint has already been shown.  
Icon=STRING *Specify an icon filename to appear as the default icon of your application.  
IcoHandle=RESOURCE *Specify an icon resource to appear as the default icon of your application. 
HelpCommand=SUB (Command AS WORD, Data AS LONG) *Accesses the Help commands in the WinHelp API
HelpContext=SUB (Context AS LONG) *Bring up the Application's HelpFile at specifed Context ID1 
HelpJump=SUB (JumpID AS STRING) *Brings up the HelpFile and displays the screen in the Help file that has the JumpID
Minimize=SUB *Minimize Application0 
Terminate=SUB *Terminates Application
@CLIPBOARD
Clear=SUB *Clear clipboard
Close=SUB *Free clipboard for other processes
GetAsHandle=FUNCTION (Format%) AS INTEGER  *Returns handle of specified format
GetAsText=FUNCTION (length%) AS STRING *Returns text of length%
HasFormat=FUNCTION (Format%) AS BYTE *Returns true or false if the format exists or not
Open=SUB *Begin critcal section
SetAsHandle=SUB (Format%, Handle&) *Set handle and format
SetAsText=SUB (Text$) *Set text of clipboard
@QBITMAP
BMP=STRING 
BMPHandle=RESOURCE
CopyMode=INTEGER cmBlackness
Empty=INTEGER 
Font=QFONT
Handle=INTEGER
Height=INTEGER
Monochrome=INTEGER
Pixel=2D ARRAY of INTEGER
PixelFormat=INTEGER pfDevice
Top=INTEGER
Transparent=INTEGER False
TransparentColor=INTEGER
TransparentMode=INTEGER
Width=INTEGER
Circle=SUB (x1%, y1%, x2%, y2%, c%, fill%) *Draw & Fill Circle
CopyRect=SUB (D, Image, S) *D and S are QRECTs, Image can be a QImage, QCanvas, or QBitmap3
Draw=SUB (x%, y%, BMP) *Draw Bitmap on Canvas
FillRect=SUB (x1%, y1%, x2%, y2%, c%) *Draws & Fills a rectangle
Line=SUB (x1%, y1%, x2%, y2%, c%) *Draws a line
LoadFromFile=SUB (FileName$) *Load BMP from a file
LoadFromStream=SUB (Stream) *Load BMP from a stream
Paint=SUB (x%, y%, c%, borderc%) *Fill Region
Pset=SUB (x%, y%, c%) *Pixel plot
Rectangle=SUB (x1%, y1%, x2%, y2%, c%) *Draws a rectangle
Rotate=SUB (xOrigin%, yOrigin%, Angle%) *Rotates entire bitmap at specified origin3
SaveToFile=SUB (FileName$) *Save BMP to a file
SaveToStream=SUB (Stream) *Save BMP to a stream
StretchDraw=SUB (Rect AS QRECT, BMP) *Draw BMP and stretch to fit inside Rect
TextHeight=FUNCTION (Text$) AS WORD *Returns the height, in pixels, of Text$ string
TextWidth=FUNCTION (Text$) AS WORD *Returns the width, in pixels, of Text$ string
TextRect=SUB (Rect AS QRECT, x%, y%, S$, fc%, bc%) *Write text, and clip within region Rect6
TextOut=SUB (x%, y%, S$, fc%, bc%) *Writes text to image
@QBUTTON
Align=INTEGER alNone
BMP=STRING
BMPHandle=RESOURCE
Cancel=INTEGER False
Caption=STRING 
Color=INTEGER
Cursor=INTEGER crDefault
Default=INTEGER False
Enabled=INTEGER True
Font=QFONT
Handle=INTEGER 
Height=INTEGER 
Hint=STRING 
Kind=INTEGER bkCustom
Layout=INTEGER blBMPLeft
Left=INTEGER 
ModalResult=INTEGER mrNone
NumBMPs=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL
PopupMenu=QPOPUPMENU
ShowHint=INTEGER False
Spacing=INTEGER 4
TabOrder=INTEGER
Top=INTEGER 
Width=INTEGER 
Visible=INTEGER True
StartDrag=SUB *Allows Button to be dragged
OnClick=VOID *User clicked on the button
OnKeyDown=SUB (Key AS Word, Shift AS INTEGER) *Key held down
OnKeyPress=SUB (Key AS BYTE) *User presses a key
OnKeyUp=SUB (Key AS Word, Shift AS INTEGER) *User releases a key
OnMouseDown=SUB (Button%, X%, Y%, Shift%) *Mouse button held down
OnMouseMove=SUB (X%, Y%, Shift%) *Mouse moves
OnMouseUp=SUB (Button%, X%, Y%, Shift%) *Mouse button is released
WndProc=SUB (Hwnd%, Msg%, wParam%, lParam%) *Messages sent to Button
@QCANVAS
Align=INTEGER alNone
ClientHeight=INTEGER
ClientWidth=INTEGER
Color=INTEGER 
CopyMode=INTEGER cmBlackness
Cursor=INTEGER crDefault
Enabled=INTEGER True
Font=QFONT
Height=INTEGER
Hint=STRING
Left=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL
Pixel=2D ARRAY of INTEGER
PopupMenu=QPOPUPMENU
ShowHint=INTEGER False
Top=INTEGER
Width=INTEGER
Visible=INTEGER True
Circle=SUB (x1%, y1%, x2%, y2%, c%, fill%) *Draw & Fill Circle
CopyRect=SUB (D, Image, S) *D and S are QRECTs, Image can be a QImage, QCanvas, or QBitmap
Draw=SUB (x%, y%, BMP) *Draw Bitmap on Canvas
FillRect=SUB (x1%, y1%, x2%, y2%, c%) *Draws & Fills a rectangle
Line=SUB (x1%, y1%, x2%, y2%, c%) *Draws a line
Paint=SUB (x%, y%, c%, borderc%) *Fill Region
Pset=SUB (x%, y%, c%) *Pixel plot
Rectangle=SUB (x1%, y1%, x2%, y2%, c%) *Draws a rectangle
Repaint=SUB *Force repainting
Rotate=SUB (xOrigin%, yOrigin%, Angle%) *Rotates entire canvas at specified origin
StretchDraw=SUB (Rect AS QRECT, BMP) *Draw image and stretch to fit inside Rect
TextHeight=FUNCTION (Text$) AS WORD *Returns the height, in pixels, of Text$ string
TextWidth=FUNCTION (Text$) AS WORD *Returns the width, in pixels, of Text$ string
TextRect=SUB (Rect AS QRECT, x%, y%, S$, fc%, bc%) *Write text, and clip within region Rect
TextOut=SUB (x%, y%, S$, fc%, bc%) *Writes text to image
OnClick=VOID *User clicked on canvas
OnDblClick=VOID *User double clicked on canvas
OnMouseDown=SUB (Button%, X%, Y%, Shift%) *Mouse button held down
OnMouseMove=SUB (X%, Y%, Shift%) *Mouse moves
OnMouseUp=SUB (Button%, X%, Y%, Shift%) *Mouse button is released
OnPaint=VOID *Receives WM_PAINT message
@QCHECKBOX
Align=INTEGER alNone
Caption=STRING
Checked=INTEGER False
Enabled=INTEGER True
Font=QFONT
Height=INTEGER
Hint=STRING
Left=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL
PopupMenu=QPOPUPMENU
ShowHint=INTEGER False
TabOrder=INTEGER
Top=INTEGER
Visible=INTEGER True
Width=INTEGER
OnClick=VOID *User clicked check box
@QCOMBOBOX
Align=INTEGER alNone
Color=INTEGER
CopyMode=INTEGER cmBlackness
Cursor=INTEGER crDefault
DropDownCount=INTEGER8
Enabled=INTEGER True
Font=QFONT
Height=INTEGER
Hint=STRING
Item=ARRAY of STRING
ItemCount=INTEGER  *R
ItemIndex=INTEGER -1
Left=INTEGER
MaxLength=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL
PopupMenu=QPOPUPMENU
ShowHint=INTEGER False
Sorted=INTEGER False
Style=INTEGER csDropDown
TabOrder=INTEGER
Text=STRING
Top=INTEGER
Visible=INTEGER True
Width=INTEGER
AddItems=SUBI *Add items to comboboxSTRINGs, Infinite
Circle=SUB (x1%, y1%, x2%, y2%, c%, fill%) *Draw & Fill Circle6
Clear=SUB *Clears entire Combobox
CopyRect=SUB (D, Image, S) *D and S are QRECTs, Image can be a QImage, QCanvas, or QBitmap
DelItems=SUBI *Delete items by their indexIndex #s, Infinite
Draw=SUB (x%, y%, BMP) *Draw Bitmap at (X,Y)
FillRect=SUB (x1%, y1%, x2%, y2%, c%) *Draws & Fills a rectangle
InsertItem=SUB (Index%, String$) *Insert item at Index%
Line=SUB (x1%, y1%, x2%, y2%, c%) *Draws a line
Paint=SUB (x%, y%, c%, borderc%) *Fill Region
Pset=SUB (x%, y%, c%) *Pixel plot
Rectangle=SUB (x1%, y1%, x2%, y2%, c%) *Draws a rectangle
Repaint=SUB *Force repainting of combobox
StretchDraw=SUB (Rect AS QRECT, BMP) *Draw BMP and stretch to fit inside Rect
TextHeight=FUNCTION (Text$) AS WORD *Returns the height, in pixels, of Text$ string
TextWidth=FUNCTION (Text$) AS WORD *Returns the width, in pixels, of Text$ string
TextRect=SUB (Rect AS QRECT, x%, y%, S$, fc%, bc%) *Write text, and clip within region Rect
TextOut=SUB (x%, y%, S$, fc%, bc%) *Writes text to image
OnChange=VOID *User selects a different item
OnDrawItem=SUB (Index%, State%, R AS QRect) *Items are redrawn for ownerdraw comboboxes
OnMeasureItem=SUB (Index%, Height%) *Calculate Height for ownerdraw variable comboboxes
@QCOMPORT
BaudRate=INTEGER
Connected=INTEGER  *R
DataBits=INTEGER8
Handle=INTEGER  *R
InQue=INTEGER  *R
OutQue=INTEGER  *R
Parity=INTEGERprNone
PendingIO=INTEGER  *R
Port=INTEGER
ReadBufSize=INTEGER 1024
StopBits=INTEGER sbOneStopBit
WriteBufSize=INTEGER 1024
AbortAllIO=SUB *Aborts all asynchronous read/write operations
Close=SUB *Closes communication port
Open=SUB *Opens communication port
PurgeIn=SUB *Clears input buffer and stops all input functions
PurgeOut=SUB *Clears output buffer and stops all output functions
Read=SUB Read(QFile/QMemoryStream, Count%, Wait%) *Reads stream data from com port, Count% < 32000
ReadString=FUNCTION ReadString$(Count%, Wait%) *Returns a string representation bytes read from comport
WaitForLastIO=SUB *Blocks until last IO is completed
Write=SUB Write(QFile/QMemoryStream, Count%, Wait%) *Writes stream to com port, Count% < 32000
WriteString=SUB WriteString(Str$, Wait%) *Writes string to communication port
OnBreak=VOID *A line break is detected, input and output is suspended until break is cleared
OnClose=VOID *Com port is closed
OnError=VOID *A line error occurs
OnOpen=VOID *Com port is successfully opened
OnRing=VOID *A ring signal is detected, used only with modems.
OnRxChar=SUB (InQue AS INTEGER) *A character(s) arrives in the input buffer.
OnTxEmpty=VOID *Output buffer is flushed
@QCOOLBTN
Align=INTEGER alNone
AllowAllUp=INTEGER False
BMP=STRING 
BMPHandle=RESOURCE
Caption=STRING
Cursor=INTEGER crDefault
Down=INTEGER False
Enabled=INTEGER True
Flat=INTEGER False
Font=QFONT
GroupIndex=INTEGER
Height=INTEGER
Hint=STRING
Layout=INTEGER blBMPLeft
Left=INTEGER
NumBMPs=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL
ShowHint=INTEGER False
Spacing=INTEGER
TabOrder=INTEGER
Top=INTEGER
Width=INTEGER
Visible=INTEGER True
StartDrag=SUB *Allows Button to be dragged
OnClick=VOID *User clicked on the button
OnMouseDown=SUB (Button%, X%, Y%, Shift%) *Mouse button held down
OnMouseMove=SUB (X%, Y%, Shift%) *Mouse moves3
OnMouseUp=SUB (Button%, X%, Y%, Shift%) *Mouse button is released
@QDIRTREE
Align=INTEGER alNone
BorderStyle=INTEGER bsSingle
Color=INTEGER
Cursor=INTEGER crDefault
Directory=STRINGFalse
Enabled=INTEGER True
FastLoad=INTEGER False
Font=QFONT 
Height=INTEGER
HideSelection=INTEGER False
Hint=STRING
InitialDir=STRING
Left=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL 
PopupMenu=QPOPUPMENU 
ReadOnly=INTEGER False
ReadOnStart=INTEGER False
ShowHint=INTEGER False
TabOrder=INTEGER
Top=INTEGER
Width=INTEGER
Visible=INTEGER True
AddDirTypes=SUB *Add directory types
AddDriveTypes=SUB *Add drive types
DelDirTypes=SUB *Del directory types
DelDirTypes=SUB *Del drive types
FullCollapse=SUB *Collapse entire directory list
FullExpand=SUB *Expand entire directory list (slow)
Reload=SUB *Re-read directories
OnChange=VOID *Current directory changes
@QEDIT
Align=INTEGER alNone
AutoSize=INTEGER
BorderStyle=INTEGER bsSingle
CharCase=INTEGERecNormal
Color=INTEGER
EditText=STRING
Enabled=INTEGER True
Font=QFONT
Handle=INTEGER
Height=INTEGER
Hint=STRING
InputMask=STRING
IsMasked=INTEGER False
Left=INTEGER
MaxLength=INTEGER
Modified=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL
PasswordChar=INTEGER
PopupMenu=QPOPUPMENU
ReadOnly=INTEGER False
SelLength=INTEGER
SelStart=INTEGER
SelText=STRING
ShowHint=INTEGER False
TabOrder=INTEGER
Text=STRING
Top=INTEGER
Visible=INTEGER True
Width=INTEGER
OnChange=VOID *Text changed
OnKeyDown=SUB (Key AS WORD, Shift AS INTEGER) *Key held down
OnKeyPress=SUB (Key AS BYTE) *User presses a key
OnKeyUp=SUB (Key AS Word, Shift AS INTEGER) *User releases a key
WndProc=SUB (Hwnd%, Msg%, wParam%, lParam%) *Messages sent to QEdit
@QFILELISTBOX
Align=INTEGER alNone
Color=INTEGER
Cursor=INTEGER crDefault
Directory=STRING
Drive=STRING
Enabled=INTEGER True
ExtendedSelect=INTEGER True
Filename=STRING
Font=QFONT 
Height=INTEGER
Hint=STRING
Item=ARRAY of STRING
ItemCount=INTEGER
ItemHeight=INTEGER
ItemIndex=INTEGER
Left=INTEGER
Mask=STRING *.*
MultiSelect=INTEGER False
Parent=QFORM/QPANEL/QTABCONTROL 
PopupMenu=QPOPUPMENU 
Selected=ARRAY of INTEGER
ShowHint=INTEGER False
ShowIcons=INTEGER False
TabOrder=INTEGER
TopIndex=INTEGER
Top=INTEGER
Update=INTEGER
Width=INTEGER
Visible=INTEGER True
AddFileTypes=SUBI *Add certain file types to list boxINTEGER, Infinite
DelFileTypes=SUBI *Remove certain file types from listINTEGER, Infinite
OnChange=VOID *Directory changes
OnClick=VOID *File was clicked on
OnDblClick=VOID *Selection was double clicked on
@QFILESTREAM
LineCount=INTEGER  *R
Position=INTEGER
Size=INTEGER  *R
Close=SUB *Close the stream
CopyFrom=SUB (Stream, Bytes%) *Copy from another stream
Open=SUB (FileName$, Method%) *Open a file, Method% see RAPIDQ.INC
ReadLine=FUNCTION () AS STRING *Reads an entire line, supports UNIX files
ReadNum=FUNCTION (Size%) *Read Size% bytes, returns number
ReadBinStr=FUNCTION (Size%) *Read Size% bytes, returns the binary string
ReadStr=FUNCTION (Size%) *Read Size% bytes, returns the text string
ReadUDT=SUB (MyType) *Read and store data in a MyType structure
Seek=SUB (Position%, From%) *Seek to Position%, From% see RAPIDQ.INC
WriteLine=SUB (S AS STRING) *Writes string with CR+LF
WriteNum=SUB (number, bytes%) *Writes a number to file
WriteBinStr=SUB (string, bytes%) *Writes a binary string to file (slow)
WriteStr=SUB (string, bytes%) *Writes a text string to file (fast)
WriteUDT=SUB (MyType) *Write data stored in a MyType structure
@QFONT
Color=INTEGER
FontCount=INTEGER
FontName=ARRAY of STRING
Name=STRING
Size=INTEGER
AddStyles=SUBI *Add styles [bold, italic, etc]INTEGER, Infinite
DelStyles=SUBI *Delete styles [bold, italic, etc]INTEGER, Infinite
@QFONTDIALOG
Color=INTEGER
FontCount=INTEGER  *R
FontName=ARRAY of STRING *R
MaxFontSize=INTEGER
MinFontSize=INTEGER
Name=STRING
Size=INTEGER
AddStyles=SUBI *Add styles [bold, italic, etc]INTEGER, Infinite
DelStyles=SUBI *Delete styles [bold, italic, etc]INTEGER, Infinite
AddOptions=SUBI *Add options [fdLimitSize, fdNoSizeSel, etc.]INTEGER, Infinite
DelOptions=SUBI *Delete options [fdNoStyleSel, fdScalableOnly, etc.]INTEGER, Infinite
Execute=FUNCTION *Returns TRUE or FALSE
GetFont=SUB GetFont(F AS QFONT) *Get font attributes
SetFont=SUB SetFont(F AS QFONT) *Set font attributes
OnApply=VOID *User clicks on apply button
@QFORM
AutoScroll=INTEGER True
BorderStyle=INTEGER bsSizeable
Caption=STRING
ClientHeight=INTEGER
ClientWidth=INTEGER
Color=INTEGER
Cursor=INTEGER crDefault
FormStyle=INTEGER FsNormal
Handle=INTEGER
Height=INTEGER
Hint=STRING
IcoHandle=RESOURCE
Icon=STRING
KeyPreview=INTEGER False
Left=INTEGER
ModalResult=INTEGER
PopupMenu=QPOPUPMENU
ShowHint=INTEGER False
Top=INTEGER
Visible=INTEGER False
Width=INTEGER
WindowState=INTEGERwsNormal
AddBorderIcons=SUBI *Add Border IconsINTEGER, Infinite
Center=SUB *Used to center a form
Circle=SUB (x1%, y1%, x2%, y2%, c%, fill%) *Draw & Fill Circle6
Close=SUB *Close form
CopyRect=SUB (D, Image, S) *D and S are QRECTs, Image can be a QImage, QCanvas, or QBitmap3
DelBorderIcons=SUBI *Remove Border IconsINTEGER, Infinite
Draw=SUB (x%, y%, BMP) *Draw Bitmap on Canvas3
FillRect=SUB (x1%, y1%, x2%, y2%, c%) *Draws & Fills a rectangle5
HideTitleBar=SUB *Hides Caption
Line=SUB (x1%, y1%, x2%, y2%, c%) *Draw line on form5
Paint=SUB (x%, y%, c%, borderc%) *Fill Region
Pset=SUB (x%, y%, c%) *Pixel plot3
Rectangle=SUB (x1%, y1%, x2%, y2%, c%) *Draws a rectangle5
Repaint=SUB *Repaints the entire form
Show=SUB *Used to show form when hidden
ShowModal=FUNCTION *Display form and wait for result
ShowTitleBar=SUB *Displays Caption
StretchDraw=SUB (Rect AS QRECT, BMP) *Draw BMP and stretch to fit inside Rect
TextHeight=FUNCTION (Text$) AS WORD *Returns the height, in pixels, of Text$ string
TextWidth=FUNCTION (Text$) AS WORD *Returns the width, in pixels, of Text$ string
TextRect=SUB (Rect AS QRECT, x%, y%, S$, fc%, bc%) *Write text, and clip within region Rect6
TextOut=SUB (x%, y%, s$, fc%, bc%) *Write text to form5
OnClick=VOID *User clicks on open area of form
OnClose=SUB (Action AS INTEGER) *Form closes
OnKeyDown=SUB (Key AS Word, Shift AS INTEGER) *Key held down
OnKeyPress=SUB (Key AS BYTE) *User presses a key
OnKeyUp=SUB (Key AS Word, Shift AS INTEGER) *User releases a key
OnMouseDown=SUB (Button%, X%, Y%, Shift%) *Mouse button held down
OnMouseMove=SUB (X%, Y%, Shift%) *Mouse moves3
OnMouseUp=SUB (Button%, X%, Y%, Shift%) *Mouse button is released
OnPaint=VOID *Form requires repainting
OnResize=VOID *Form is resized
OnShow=VOID *Form is displayed
WndProc=SUB (Hwnd%, Msg%, wParam%, lParam%) *Messages posted/sent to form
@QGAUGE
Align=INTEGER alNone
BackColor=INTEGER
BorderStyle=INTEGER bsSingle
Color=INTEGER
Cursor=INTEGER crDefault
Enabled=INTEGER True
Font=QFONT 
ForeColor=INTEGER
Height=INTEGER
Hint=STRING
Kind=INTEGER  *RkHorizontalBar
Left=INTEGER
Max=INTEGER  100
Min=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL 
Position=INTEGER
ShowHint=INTEGER False
ShowText=INTEGER True
Top=INTEGER
Visible=INTEGER True
Width=INTEGER
@QGLASSFRAME
Align=INTEGER alNone
ClientHeight=INTEGER
ClientWidth=INTEGER
Color=INTEGER
Cursor=INTEGER crDefault
Handle=INTEGER
Height=INTEGER
Hint=STRING
Left=INTEGER
Moveable=INTEGER True
Parent=QFORM/QPANEL/QTABCONTROL 
PopupMenu=QPOPUPMENU 
ShowHint=INTEGER False
Top=INTEGER
Transparency=INTEGER  60
TransparentColor=INTEGER
Width=INTEGER
@QGROUPBOX
Align=INTEGER alNone
Caption=STRING
Color=INTEGER
Cursor=INTEGER crDefault
Enabled=INTEGER True
Font=QFONT 
Handle=INTEGER  *R
Height=INTEGER
Hint=STRING
Left=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL 
PopupMenu=QPOPUPMENU 
ShowHint=INTEGER False
TabOrder=INTEGER
Top=INTEGER
Visible=INTEGER True
Width=INTEGER
Repaint=SUB *Repaint groupbox, and anything inside it
OnClick=VOID *User clicked on groupbox
OnDblClick=VOID *User double clicked on groupbox
OnMouseDown=SUB (Button%, X%, Y%, Shift%) *Mouse button held down
OnMouseMove=SUB (X%, Y%, Shift%) *Mouse moves
OnMouseUp=SUB (Button%, X%, Y%, Shift%) *Mouse button is released
@QHEADER
Align=INTEGER alNone
ClientHeight=INTEGER
ClientWidth=INTEGER
CopyMode=INTEGER cmBlackness
Cursor=INTEGER crDefault
Enabled=INTEGER True
Font=QFONT 
Handle=INTEGER
Height=INTEGER
Hint=STRING
HotTrack=INTEGER False
Left=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL 
Pixel=2D ARRAY of INTEGER
PopupMenu=QPOPUPMENU 
Sections=ARRAY of SectionsType
SectionsCount=INTEGER  *R
ShowHint=INTEGER False
Top=INTEGER
Width=INTEGER
Visible=INTEGER True
AddSections=SUBI *Add new sections to headerSTRING, Infinite
Clear=SUB *Clears all sections
Circle=SUB (x1%, y1%, x2%, y2%, c%, fill%) *Draw & Fill Circle
CopyRect=SUB (D, Image, S) *D and S are QRECTs, Image can be a QImage, QCanvas, or QBitmap
Draw=SUB (x%, y%, BMP) *Draw Bitmap at (X,Y)
FillRect=SUB (x1%, y1%, x2%, y2%, c%) *Draws & Fills a rectangle
Line=SUB (x1%, y1%, x2%, y2%, c%) *Draws a line
Paint=SUB (x%, y%, c%, borderc%) *Fill Region
Pset=SUB (x%, y%, c%) *Pixel plot
Rectangle=SUB (x1%, y1%, x2%, y2%, c%) *Draws a rectangle
Repaint=SUB *Force repainting of header
StretchDraw=SUB (Rect AS QRECT, BMP) *Draw BMP and stretch to fit inside Rect
TextHeight=FUNCTION (Text$) AS WORD *Returns the height, in pixels, of Text$ string
TextWidth=FUNCTION (Text$) AS WORD *Returns the width, in pixels, of Text$ string
TextRect=SUB (Rect AS QRECT, x%, y%, S$, fc%, bc%) *Write text, and clip within region Rect
TextOut=SUB (x%, y%, S$, fc%, bc%) *Writes text to image
@QIMAGE
Align=INTEGER alNone
Autosize=INTEGER False
BMP=STRING 
BMPHandle=RESOURCE 
Center=INTEGER False
CopyMode=INTEGER cmBlackness
Cursor=INTEGER crDefault
Enabled=INTEGER True
Font=QFONT 
Handle=INTEGER
Height=INTEGER
Hint=STRING
ICOHandle=RESOURCE 
Icon=STRING 
IncrementalDisplay=INTEGER False
Left=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL 
Pixel=2D ARRAY of INTEGER
PopupMenu=QPOPUPMENU 
ShowHint=INTEGER False
Stretch=INTEGER False
Top=INTEGER
Transparent=INTEGER False
Width=INTEGER
Visible=INTEGER True
Center=SUB *Centers image
Circle=SUB (x1%, y1%, x2%, y2%, c%, fill%) *Draw & Fill Circle
CopyRect=SUB (D, Image, S) *D and S are QRECTs, Image can be a QImage, QCanvas, or QBitmap
Draw=SUB (x%, y%, BMP) *Draw Bitmap at (X,Y)
FillRect=SUB (x1%, y1%, x2%, y2%, c%) *Draws & Fills a rectangle
Line=SUB (x1%, y1%, x2%, y2%, c%) *Draws a line
Paint=SUB (x%, y%, c%, borderc%) *Fill Region
Pset=SUB (x%, y%, c%) *Pixel plot
Rectangle=SUB (x1%, y1%, x2%, y2%, c%) *Draws a rectangle
Repaint=SUB *Force repainting of image
Rotate=SUB (xOrigin%, yOrigin%, Angle%) *Rotates entire image at specified origin3
StretchDraw=SUB (Rect AS QRECT, BMP) *Draw BMP and stretch to fit inside Rect
TextHeight=FUNCTION (Text$) AS WORD *Returns the height, in pixels, of Text$ string
TextWidth=FUNCTION (Text$) AS WORD *Returns the width, in pixels, of Text$ string
TextRect=SUB (Rect AS QRECT, x%, y%, S$, fc%, bc%) *Write text, and clip within region Rect
TextOut=SUB (x%, y%, S$, fc%, bc%) *Writes text to image
OnClick=VOID *User clicked on image
OnDblClick=VOID *User double clicked on image
OnMouseDown=SUB (Button%, X%, Y%, Shift%) *Mouse button held down
OnMouseMove=SUB (X%, Y%, Shift%) *Mouse moves
OnMouseUp=SUB (Button%, X%, Y%, Shift%) *Mouse button is released
@QIMAGELIST
BkColor=INTEGER
BlendColor=INTEGER
Count=INTEGER
DrawStyle=INTEGERdsNormal
Font=QFONT 
GetBMP=ARRAY of IMAGES/BMP *R
GetICO=ARRAY of IMAGES/ICO *R
Handle=INTEGER
Height=INTEGER
ImageType=INTEGERitImage
Masked=INTEGER True
ShareImages=INTEGER False
Width=INTEGER
AddBMPFile=SUB (FileName$, MaskColor%) *Add BMP file to Imagelist
AddICOFile=SUB (FileName$) *Add Icon file to Imagelist
AddBMPHandle=SUB (BMP_Resource, MaskColor%) *Add BMP to Imagelist
AddICOHandle=SUB (ICO_Resource) *Add Icon to Imagelist
Clear=SUB *Removes all images
Delete=SUB (Index%) *Delete image at Index%
InsertBMPFile=SUB (Index%, Filename$, Mask%) *Insert BMP file at Index%
InsertICOFile=SUB (Index%, Filename$) *Insert Icon file at Index%
InsertBMPHandle=SUB (Index%, BMP_Resource, Mask%) *Insert BMP at Index%
InsertICOHandle=SUB (Index%, ICO_Resource) *Insert Icon at Index%
@QLABEL
Align=INTEGER alNone
Alignment=INTEGER taLeftJustify
Angle=INTEGER
Autosize=INTEGER False
Caption=STRING
Color=INTEGER
Cursor=INTEGER crDefault
Enabled=INTEGER True
Font=QFONT
Handle=INTEGER
Height=INTEGER
Hint=STRING
Layout=INTEGER
Left=INTEGER
LowerColor=INTEGER clBtnShadow
Parent=QFORM/QPANEL/QTABCONTROL
PopupMenu=QPOPUPMENU
ShowHint=INTEGER False
TextStyle=INTEGERlsNone
Top=INTEGER
Transparent=INTEGER False
UpperColor=INTEGER clBtnHighlight
Visible=INTEGER True
Width=INTEGER
Wordwrap=INTEGER False
OnClick=VOID *User clicks on label
OnDblClick=VOID *User double clicked on label
OnMouseDown=SUB (Button%, X%, Y%, Shift%) *Mouse button held down
OnMouseMove=SUB (X%, Y%, Shift%) *Mouse moves
OnMouseUp=SUB (Button%, X%, Y%, Shift%) *Mouse button is released
WndProc=SUB (Hwnd%, Msg%, wParam%, lParam%) *Messages sent to QLabel
@QLISTBOX
Align=INTEGER alNone
BorderStyle=INTEGER bsSingle
Color=INTEGER
Columns=INTEGER
CopyMode=INTEGER cmBlackness
Cursor=INTEGER crDefault
Enabled=INTEGER True
ExtendedSelect=INTEGER True
Font=QFONT
Height=INTEGER
Hint=STRING
Item=ARRAY of STRING
ItemCount=INTEGER  *R
ItemHeight=INTEGER
ItemIndex=INTEGER -1
Left=INTEGER
MultiSelect=INTEGER False
Parent=QFORM/QPANEL/QTABCONTROL
PopupMenu=QPOPUPMENU
Selected=ARRAY of INTEGER
ShowHint=INTEGER False
Sorted=INTEGER False
Style=INTEGERlbStandard
TopIndex=INTEGER
TabOrder=INTEGER
TabWidth=INTEGER
Top=INTEGER
Visible=INTEGER True
Width=INTEGER
AddItems=SUBI *Add items to listboxSTRINGs, Infinite
Circle=SUB (x1%, y1%, x2%, y2%, c%, fill%) *Draw & Fill Circle6
Clear=SUB *Clears entire listbox
CopyRect=SUB (D, Image, S) *D and S are QRECTs, Image can be a QImage, QCanvas, or QBitmap
DelItems=SUBI *Delete items by their indexIndex #s, Infinite
Draw=SUB (x%, y%, BMP) *Draw Bitmap at (X,Y)
FillRect=SUB (x1%, y1%, x2%, y2%, c%) *Draws & Fills a rectangle
InsertItem=SUB (Index%, String$) *Insert item at Index%
Line=SUB (x1%, y1%, x2%, y2%, c%) *Draws a line
Paint=SUB (x%, y%, c%, borderc%) *Fill Region
Pset=SUB (x%, y%, c%) *Pixel plot3
Rectangle=SUB (x1%, y1%, x2%, y2%, c%) *Draws a rectangle
Repaint=SUB *Force repainting of listbox
StretchDraw=SUB (Rect AS QRECT, BMP) *Draw BMP and stretch to fit inside Rect
TextHeight=FUNCTION (Text$) AS WORD *Returns the height, in pixels, of Text$ string
TextWidth=FUNCTION (Text$) AS WORD *Returns the width, in pixels, of Text$ string
TextRect=SUB (Rect AS QRECT, x%, y%, S$, fc%, bc%) *Write text, and clip within region Rect
TextOut=SUB (x%, y%, S$, fc%, bc%) *Writes text to image5
OnClick=VOID *User clicks on item
OnDblClick=VOID *User double clicks on an item
OnDrawItem=SUB (Index%, State%, R AS QRect) *Items are redrawn for ownerdraw listboxes
OnEnter=VOID *User presses enter to select item
OnMeasureItem=SUB (Index%, Height%) *Calculate Height for ownerdraw variable listboxes
WndProc=SUB (Hwnd%, Msg%, wParam%, lParam%) *Messages sent to Listbox
@QLISTVIEW
Align=INTEGER alNone
BorderStyle=INTEGER bsSingle
CheckBoxes=INTEGER False
Color=INTEGER
Column=ARRAY of ColumnType
ColumnClick=INTEGER True
ColumnsCount=INTEGER
Cursor=INTEGER crDefault
Enabled=INTEGER True
Font=QFONT 
GridLines=INTEGER False
Handle=INTEGER  *R
Height=INTEGER
Hint=STRING
HotTrack=INTEGER False
Item=ARRAY of ItemType
ItemCount=INTEGER
ItemIndex=INTEGER
LargeImages=QIMAGELIST 
Left=INTEGER
MultiSelect=INTEGER False
Parent=QFORM/QPANEL/QTABCONTROL 
PopupMenu=QPOPUPMENU 
ReadOnly=INTEGER False
RowSelect=INTEGER False
SelCount=INTEGER
Selected=ARRAY of INTEGER
ShowColumnHeaders=INTEGER True
ShowHint=INTEGER False
SmallImages=QIMAGELIST 
SortType=INTEGER stNone
StateImages=QIMAGELIST 
SubItem=2D ARRAY of STRING
TabOrder=INTEGER
Top=INTEGER
Width=INTEGER
ViewStyle=INTEGERvsIcon
Visible=INTEGER True
AddColumns=SUBI *Add column headers to listviewSTRING, Infinite
AddItems=SUBI *Add items to listviewSTRING, Infinite
AddSubItem=SUB (Index%, String$) *Add sub item to Index%
Clear=SUB *Clear all items in listview
ClearColumns=SUB *Clear all columns in listview
DelItems=SUBI *Delete items from listviewINTEGER, Infinite
DelSubItem=SUB (Index%, SubIndex%) *Delete subitem from listview
InsertItem=SUB (Index%, String$) *Insert item at Index%
InsertSubItem=SUB (Index%, SubIndex%, String$) *Insert subitem
SwapItem=SUB (Index1%, Index2%) *Swap items
OnClick=VOID *Item was clicked on
OnChange=SUB (Index%, Change AS BYTE) *Item changed (text, image, or state)
OnColumnClick=SUB (Column%) *Column header was clicked
OnDblClick=VOID *Selection was double clicked on
OnKeyPressed=SUB (Key AS BYTE) *Key was pressed
@QMAINMENU
Parent=QFORM
AddItems=SUBI *Add items to comboboxQMENUITEMs, Infinite
Insert=SUB (I%, Item AS QMENUITEM) *Insert an item
@QMEMORYSTREAM
LineCount=INTEGER
Pointer=INTEGER  *R
Position=INTEGER
SetSize=INTEGER
Size=INTEGER
Close=SUB *Close the stream
CopyFrom=SUB (Stream, Bytes%) *Copy from another stream
ExtractRes SUB (Resource AS LONG) *Extract resource to memorystream 
ReadLine=FUNCTION () AS STRING *Reads an entire line
ReadNum=FUNCTION (Size%) AS DOUBLE *Read Size% bytes, returns number
ReadStr=FUNCTION (Size%) AS STRING *Read Size% bytes, returns the string
ReadBinStr=FUNCTION (Size%) AS STRING *Read Size% bytes, returns the binary string
ReadUDT=SUB (MyType) *Read and store data in a MyType structure
Seek=SUB (Position%, From%) *Seek to Position%, From% see RAPIDQ.INC
WriteLine=SUB (S AS STRING) *Writes string with CR+LF
WriteNum=SUB (number, bytes%) *Writes a number to memory
WriteBinStr=SUB (string, bytes%) *Writes a binary string to file (slow)
WriteStr=SUB (string, bytes%) *Writes string to memory
WriteUDT=SUB (MyType) *Write data stored in a MyType structure
@QMENUITEM
Caption=STRING
Checked=INTEGER
Enabled=INTEGER True
RadioItem=INTEGER False
ShortCut=STRING
Visible=INTEGER True
AddItems=SUBI *Add Subitems to MenuItemQMENUITEMs, Infinite
Insert=SUB (I%, Item AS QMENUITEM) *Insert an item
OnClick=VOID *User selects item
@QMYSQL
Connected=INTEGER  *R
DB=ARRAY of STRING *R
DBCount=INTEGER  *R
FieldCount=INTEGER  *R
Field.Decimals=INTEGER  *R
Field.Flags=INTEGER  *R
Field.Length=INTEGER  *R
Field.MaxLength=INTEGER  *R
Field.Name=STRING *R
Field.Table=STRING *R
Field.Type=INTEGER  *R
Length=ARRAY of INTEGER  *R
NumRows=INTEGER  *R
Row=ARRAY of STRING *R
RowCount=INTEGER  *R
Table=ARRAY of STRING *R
TableCount=INTEGER  *R
Close=SUB *Disconnect from MySQL
Connect=FUNCTION (Host$, User$, Passwd$) AS INTEGER  *Connect to MySQL
CreateDB=FUNCTION (DB$) AS INTEGER  *Creates a new database
DropDB=FUNCTION (DB$) AS INTEGER  *Drop database
EscapeString=FUNCTION (S$, Length%) AS STRING *Parses binary string S$ and returns a string that can be used in Blob fields
FetchField=FUNCTION AS INTEGER  *Fetch next field
FetchLengths=FUNCTION AS INTEGER  *Fetch lengths for current row
FetchRow=FUNCTION AS INTEGER  *Fetch next row
FieldSeek=FUNCTION (Position%) *Jump to Field Position%
Query=FUNCTION (Query$) AS INTEGER  *Query database
RealConnect=SUB (Host$, User$, Passwd$, DB$, Port%, UnixSock$, Flags%) *Connect to MySQL
Refresh=FUNCTION (RefreshFlags%) AS INTEGER  *Refresh database
RowBlob=FUNCTION (Row%, Bytes&) AS STRING *Returns the binary blob as a string
RowSeek=FUNCTION (Row%) *Jump to a certain row
SelectDB=FUNCTION (DB$) AS INTEGER  *Select database to use
@QOPENDIALOG
Caption=STRING
FileName=STRING
Filter=STRING
FilterIndex=INTEGER
InitialDir=STRING
Execute=FUNCTION *Returns TRUE or FALSE
@QOUTLINE
Align=INTEGER alNone
BMPClosed=STRING 
BMPLeaf=STRING 
BMPMinus=STRING
BMPOpen=STRING
BMPPlus=STRING
BMPHandleClosed=RESOURCE
BMPHandleLeaf=RESOURCE
BMPHandleMinus=RESOURCE
BMPHandleOpen=RESOURCE
BMPHandlePlus=RESOURCE
BorderStyle=INTEGER bsSingle
Color=INTEGER
Cursor=INTEGER crDefault
Enabled=INTEGER True
Font=QFONT
Height=INTEGER
Hint=STRING
Item=ARRAY of STRING
ItemHeight=INTEGER 13
ItemIndex=INTEGER
ItemSeparator=STRING\
Left=INTEGER
LineCount=INTEGER
OutLineStyle=INTEGERosTreePictureText
Parent=QFORM/QPANEL/QTABCONTROL
PopupMenu=QPOPUPMENU
Row=INTEGER
ScrollBars=INTEGER ssBoth
ShowHint=INTEGER False
TabOrder=INTEGER
Top=INTEGER
Visible=INTEGER True
Width=INTEGER
AddChild=SUB (Index%, String$) *Add child at Index%
AddLines=SUBI *Add lines to OutlineSTRING, Infinite
AddOptions=SUBI *Add Outline optionsINTEGER, Infinite
Clear=SUB *Clear all items
DelLines=SUBI *Delete lines from OutlineINTEGER, Infinite
DelOptions=SUBI *Delete Outline optionsINTEGER, Infinite
Insert=SUB (Index%, String$) *Insert node at Index%
OnClick=VOID *User clicked on item
OnDblClick=VOID *User double clicked on item
@QOVALBTN
Align=INTEGER alNone
BMP=STRING
BMPHandle=RESOURCE
Caption=STRING
Color=INTEGER
ColorHighLight=INTEGER
ColorShadow=INTEGER
Cursor=INTEGER crDefault
Down=INTEGER False
Enabled=INTEGER True
Flat=INTEGER False
Font=QFONT
GroupIndex=INTEGER
Height=INTEGER
Hint=STRING
Layout=INTEGER blBMPLeft
Left=INTEGER
NumBMPs=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL 
ShowHint=INTEGER False
Spacing=INTEGER
TabOrder=INTEGER
Top=INTEGER
Transparent=INTEGER False
TransParentColor=INTEGER
Width=INTEGER
Visible=INTEGER True
StartDrag=SUB *Allows Button to be dragged
OnClick=VOID *User clicked on the button
OnMouseDown=SUB (Button%, X%, Y%, Shift%) *Mouse button held down
OnMouseMove=SUB (X%, Y%, Shift%) *Mouse moves3
OnMouseUp=SUB (Button%, X%, Y%, Shift%) *Mouse button is released
@QBUTTON
Align=INTEGER alNone
Alignment=INTEGER taCenter
BevelInner=INTEGER bvNone
BevelOuter=INTEGER bvRaised
BevelWidth=INTEGER 
BorderStyle=INTEGER bsNone
Caption=STRING
ClientHeight=INTEGER
ClientWidth=INTEGER
Color=INTEGER
Cursor=INTEGER crDefault
Enabled=INTEGER True
Font=QFONT
Height=INTEGER
Hint=STRING
Left=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL 
ShowHint=INTEGER False
TabOrder=INTEGER
Top=INTEGER
Width=INTEGER
Visible=INTEGER True
Repaint=SUB *Refreshes panel and all contents
OnClick=VOID *User clicked on open area of panel
OnDblClick=VOID *User double clicked panel
OnMouseDown=SUB (Button%, X%, Y%, Shift%) *Mouse button held down
OnMouseMove=SUB (X%, Y%, Shift%) *Mouse moves over panel3
OnMouseUp=SUB (Button%, X%, Y%, Shift%) *Mouse button is released
@QPANEL
Align INTEGER RW alNone W 
Alignment INTEGER RW taCenter W 
BevelInner INTEGER RW bvNone W 
BevelOuter INTEGER RW bvRaised W 
BevelWidth INTEGER RW 1 W 
BorderStyle INTEGER RW bsNone, bvLowered, bvRaised, bpSingle
Caption STRING RW  W 
ClientHeight INTEGER RW  
ClientWidth INTEGER RW  
Color INTEGER RW  W 
Cursor INTEGER RW crDefault W 
Enabled INTEGER RW True 
Font QFONT W  W 
Handle INTEGER
Height INTEGER RW  
Hint STRING RW  W 
Left INTEGER RW 0 
Parent (QFORM/QPANEL/QTABCONTROL)
ShowHint INTEGER RW False W 
TabOrder INTEGER RW  W 
Tag INTEGER RW G 
Top INTEGER RW 0 
Width INTEGER RW  
Visible INTEGER RW True 
Repaint SUB Refreshes panel and all contents 0 W 
OnClick VOID User clicked on open area of panel 0 
OnDblClick VOID User double clicked panel 0 W 
OnMouseDown SUB (Button%, X%, Y%, Shift%) Mouse button held down 4 W 
OnMouseMove SUB (X%, Y%, Shift%) Mouse moves over panel 3 W 
OnMouseUp SUB (Button%, X%, Y%, Shift%) Mouse button is released 4 W 
@QPOPUPMENU
Alignment=INTEGER
AddItems=SUBI *Add Item to MenuQMENUITEMs, Infinite
Insert=SUB (I%, Item AS QMENUITEM) *Insert an item
Popup=SUB (X%, Y%) *Popup menu at (X,Y)
@QRADIOBUTTON
Align=INTEGER alNone
Caption=STRING
Checked=INTEGER False
Enabled=INTEGER True
Font=QFONT
Height=INTEGER
Hint=STRING
Left=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL
PopupMenu=QPOPUPMENU
ShowHint=INTEGER False
TabOrder=INTEGER
Top=INTEGER
Visible=INTEGER True
Width=INTEGER
OnClick=VOID *User clicked on radio button
@QREGISTRY
CurrentKey=INTEGER  *R
CurrentPath=STRING *R
GetDataSize=INTEGER  *R
GetDataType=INTEGER  *R
HasSubKeys=INTEGER  *R
KeyItemCount=INTEGER  *R
ValueItemCount=INTEGER  *R
RootKey=INTEGERHKEY_CURRENT_USER
CloseKey=SUB *Closes opened key
CreateKey=FUNCTION (Key$) AS INTEGER  *Creates a new key in CurrentPath.
DeleteKey=FUNCTION (Key$) AS INTEGER  *Deletes key.
DeleteValue=FUNCTION (ValName$) AS INTEGER  *Deletes a value data.
KeyExists=FUNCTION (Key$) AS INTEGER  *Returns 0 or 1 if key exists.
KeyItem=FUNCTION (Index%) AS STRING *Retrieve the names of the subkeys
MoveKey=FUNCTION (Old$, New$, Delete%) *Moves existing key, subkeys, and data values.
OpenKey=FUNCTION (Key$, CanCreate%) *CanCreate specifies whether to create the specified key if it does not exist.
ReadBinary=FUNCTION (Key$, Index%) AS BYTE *Return binary value of specified key
ReadFloat=FUNCTION (Key$) AS DOUBLE *Return double value of specified key
ReadInteger=FUNCTION (Key$) AS INTEGER  *Return integer value of specified key
ReadString=FUNCTION (Key$) AS STRING *Return string value of specified key
RegistryConnect=FUNCTION (CompName$) AS INTEGER  *Establishes connection to another computer's registry.
RenameValue=FUNCTION (Old$, New$) AS INTEGER  *Renames existing data value.
ValueExists=FUNCTION (Value$) AS INTEGER  *Returns 0 or 1 if data value Value$ exists.
ValueItem=FUNCTION (Index%) AS STRING *Retrieve the names of the data values
WriteBinary=SUB (Key$, BYTE(), Size%) *Write Array of BYTEs in the specified key
WriteFloat=SUB (Key$, Value#) *Write double value in the specified key
WriteInteger=SUB (Key$, Value&) *Write integer value in the specified key
WriteString=SUB (Key$, Value$) *Write string in the specified key
@QRICHEDIT
Align=INTEGER alNone
Alignment=INTEGER taLeftJustify
BorderStyle=INTEGER bsSingle
Color=INTEGER
Enabled=INTEGER True
Font=QFONT 
Height=INTEGER
HideScrollBars=INTEGER True
HideSelection=INTEGER True
Hint=STRING
Left=INTEGER
Line=ARR_STRING
LineCount=INTEGER
Modified=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL 
PopupMenu=QPOPUPMENU
Plaintext=INTEGER False
Readonly=INTEGER False
ScrollBars=INTEGER ssNone
SelAttributes=QFONT
SelLength=INTEGER
SelStart=INTEGER
SelText=STRING
ShowHint=INTEGER False
TabOrder=INTEGER
Text=STRING
Top=INTEGER
WantTabs=INTEGER False
Width=INTEGER
WhereX=INTEGERX
WhereY=INTEGERX
Wordwrap=INTEGER True
Visible=INTEGER True
AddString=SUB (S$) *Add a string
AddStrings=SUBI *Add strings (up to 255)STRING
Clear=SUB *Clear entire text
CopyToClipboard=SUB *Copy selected text to clipboard
CutToClipboard=SUB *Cut selected text to clipboard
LoadFromFile=SUB (FileName$) *Load text from a file
LoadFromStream=SUB (Stream) *Load text from a stream
PasteFromClipboard=SUB *Paste text from clipboard
SaveToFile=SUB (FileName$) *Save text to a file
SaveToStream=SUB (Stream) *Save text to a stream
SelectAll=SUB *Selects all text from Richedit
OnChange=VOID *Text changes
OnKeyDown=SUB (Key AS WORD, Shift AS INTEGER) *Key held down
OnKeyPress=SUB (Key AS BYTE) *User presses a key
OnKeyUp=SUB (Key AS WORD, Shift AS INTEGER) *Key released
OnMouseDown=SUB (Button%, X%, Y%, Shift%) *Mouse button held down
OnMouseMove=SUB (X%, Y%, Shift%) *Mouse moves
OnMouseUp=SUB (Button%, X%, Y%, Shift%) *Mouse button is released
@QSAVEDIALOG
Caption=STRING
FileName=STRING
Filter=STRING
FilterIndex=INTEGER
InitialDir=STRING
Execute=FUNCTION *Returns TRUE or FALSE
@QSCROLLBAR
Align=INTEGER alNone
Cursor=INTEGER crDefault
Enabled=INTEGER True
Height=INTEGER
Hint=STRING
Kind=INTEGER sbHorizontal
LargeChange=INTEGER 1
Left=INTEGER
Max=INTEGER 100
Min=INTEGER 0
Parent=QFORM/QPANEL/QTABCONTROL 
PopupMenu=QPOPUPMENU
Position=INTEGER 0
ShowHint=INTEGER False
SmallChange=INTEGER 1
TabOrder=INTEGER
Top=INTEGER
Width=INTEGER
Visible=INTEGER True
OnChange=VOID *Scroll position changes
OnKeyDown=SUB (Key AS Word, Shift AS INTEGER) *Key held down
OnKeyPress=SUB (Key AS BYTE) *User presses a key
OnKeyUp=SUB (Key AS Word, Shift AS INTEGER) *User releases a key
OnScroll=SUB (ScrollCode AS BYTE, ScrollPos AS LONG) *Scrolling
@QSCROLLBOX
Align=INTEGER alNone
AutoScroll=INTEGER True
BorderStyle=INTEGER bsSingle
Color=INTEGER
Cursor=INTEGER crDefault
Enabled=INTEGER True
Font=QFONT
Handle=INTEGER  *R
Height=INTEGER
Hint=STRING
HorzIncrement=INTEGER 8
HorzMargin=INTEGER
HorzPosition=INTEGER
HorzRange=INTEGER
HorzTracking=INTEGER False
HorzVisible=INTEGER True
Left=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL
PopupMenu=QPOPUPMENU
ShowHint=INTEGER False
TabOrder=INTEGER
Top=INTEGER
Width=INTEGER
VertIncrement=INTEGER 8
VertMargin=INTEGER
VertPosition=INTEGER
VertRange=INTEGER
VertTracking=INTEGER False
VertVisible=INTEGER True
Visible=INTEGER True
Repaint=SUB *Repaint control
OnClick=VOID *User clicked on scrollbox
OnDblClick=VOID *User double clicked on scrollbox
OnMouseDown=SUB (Button%, X%, Y%, Shift%) *Mouse button held down
OnMouseMove=SUB (X%, Y%, Shift%) *Mouse moves
OnMouseUp=SUB (Button%, X%, Y%, Shift%) *Mouse button is released
OnResize=VOID *Scrollbox is resized
@QSOCKET
Family=INTEGERAF_INET
Protocol=INTEGERIPPROTO_IP
Transferred=INTEGER  *R
Type=INTEGER SOCK_STREAM
Accept=FUNCTION ClientSock%(Socket%) *Accepts Client Connection
Close=SUB (Socket%) *Closes Socket% file descriptor
Connect=FUNCTION Sock%(ServerName$, PortNum%) *Connect to server on PortNum%
ConnectionReady=FUNCTION Bool%(Sock%) *True/False if connection pending
GetHostIP=FUNCTION AS STRING *Returns host IP Address
GetHostName=FUNCTION AS STRING *Returns host name
GetPeerName=FUNCTION GetPeerName$(Socket%) *Returns peer name
IsClientReady=FUNCTION Bool%(Sock%, ClientSock%) *True/False if client is sending data
IsServerReady=FUNCTION Bool%(Sock%) *True/False if server is sending data
Open=FUNCTION Sock%(PortNum%) *Open TCP server on PortNum%
Peek=FUNCTION Peek$(Socket%, NumBytes%) *Peek information coming from socket, but do not clear. Win32
Read=FUNCTION Message$(Socket%, NumBytes%) *Read NumBytes%
ReadLine=FUNCTION Message$(Socket%) *Read complete line
Write=SUB (Socket%, Message$, NumBytes%) *Sends NumBytes% from Message$
WriteLine=FUNCTION Bytes%(Socket%, Message$) *Send Message$
@QSPLITTER
Align=INTEGER alLeft
Beveled=INTEGER True
ClientHeight=INTEGER
ClientWidth=INTEGER
Color=INTEGER
Cursor=INTEGER crHSplit
Height=INTEGER
Hint=STRING
Left=INTEGER
MinSize=INTEGER 30
Parent=QFORM/QPANEL/QTABCONTROL
ShowHint=INTEGER False
Top=INTEGER
Width=INTEGER
OnMoved=VOID *Splitter Moved
@QSTATUSBAR
Align=INTEGER alBottom
Cursor=INTEGER crDefault
Enabled=INTEGER True
Height=INTEGER
Hint=STRING
Left=INTEGER
Panel=ARRAY of PanelType
Parent=QFORM/QPANEL/QTABCONTROL
PopupMenu=QPOPUPMENU
ShowHint=INTEGER False
SimplePanel=INTEGER False
SimpleText=STRING
SizeGrip=INTEGER True
TabOrder=INTEGER
Top=INTEGER
Width=INTEGER
Visible=INTEGER True
AddPanels=SUBI *Add panels to status barSTRING, Infinite
Clear=SUB *Clear panels
OnResize=VOID *Status bar is being resized
@QSTRINGGRID
Align=INTEGER alNone
BorderStyle=INTEGER bsSingle
Cell=2D ARRAY of STRING
Col=INTEGER
ColCount=INTEGER 5
Color=INTEGER
ColWidths=ARRAY of INTEGER
Cursor=INTEGER crDefault
DefaultColWidth=INTEGER 64
DefaultRowHeight=INTEGER 24
EditorMode=INTEGER
Enabled=INTEGER True
FixedColor=INTEGER
FixedCols=INTEGER
FixedRows=INTEGER
Font=QFONT
GridHeight=INTEGER
GridLineWidth=INTEGER
GridWidth=INTEGER
Height=INTEGER
Hint=STRING
Left=INTEGER
LeftCol=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL
PopupMenu=QPOPUPMENU
Row=INTEGER
RowCount=INTEGER 5
RowHeights=ARRAY of INTEGER
ScrollBars=INTEGER ssBoth
Separator=STRING
ShowHint=INTEGER False
TabOrder=INTEGER
TabStops=ARRAY of INTEGER
Top=INTEGER
TopRow=INTEGER
Visible=INTEGER True
VisibleColCount=INTEGER  *R
VisibleRowCount=INTEGER  *R
Width=INTEGER
AddOptions=SUBI *Add options to string gridINTEGER, Infinite
DeleteCol=SUB (Column%) *Deletes/Remove a column
DeleteRow=SUB (Row%) *Deletes/Remove a row
DelOptions=SUBI *Delete options from string gridINTEGER, Infinite
Circle=SUB (x1%, y1%, x2%, y2%, c%, fill%) *Draw & Fill Circle
CopyRect=SUB (D, Image, S) *D and S are QRECTs, Image can be a QImage, QCanvas, or QBitmap
Draw=SUB (x%, y%, BMP) *Draw Bitmap at (X,Y)
FillRect=SUB (x1%, y1%, x2%, y2%, c%) *Draws & Fills a rectangle
InsertCol=SUB (Column%) *Inserts a blank column
InsertRow=SUB (Row%) *Inserts a blank row
Line=SUB (x1%, y1%, x2%, y2%, c%) *Draws a line
LoadFromFile=SUB (File$, RowOffset%, ColOffset%, MaxRows%) *Loads table from file w/Separator
LoadFromStream=SUB (S AS QFileStream/QMemoryStream, RowOffset%, ColOffset%, MaxRows%) *Loads table from stream w/Separator
Paint=SUB (x%, y%, c%, borderc%) *Fill Region
Pset=SUB (x%, y%, c%) *Pixel plot
Rectangle=SUB (x1%, y1%, x2%, y2%, c%) *Draws a rectangle
Repaint=SUB *Force repainting of stringgrid
SaveToFile=SUB (File$, RowOffset%, ColOffset%, MaxRows%) *Saves table to file w/Separator
SaveToStream=SUB (S AS QFileStream/QMemoryStream, RowOffset%, ColOffset%, MaxRows%) *Saves table to stream w/Separator
SwapCols=SUB (Col1%, Col2%) *Swap two columns
SwapRows=SUB (Row1%, Row2%) *Swap two rows
StretchDraw=SUB (Rect AS QRECT, BMP) *Draw BMP and stretch to fit inside Rect
TextHeight=FUNCTION (Text$) AS WORD *Returns the height, in pixels, of Text$ string
TextWidth=FUNCTION (Text$) AS WORD *Returns the width, in pixels, of Text$ string
TextRect=SUB (Rect AS QRECT, x%, y%, S$, fc%, bc%) *Write text, and clip within region Rect
TextOut=SUB (x%, y%, S$, fc%, bc%) *Writes text to cell
OnDrawCell=SUB (Col%, Row%, State%, R AS QRect) *Cells need to be redrawn
OnSelectCell=SUB (Col%, Row%, CanSelect%) *User has selected a cell
OnSetEditText=SUB (Col%, Row%, Value$) *User has changed contents of cell
@QSTRINGLIST
Duplicates=INTEGERdupIgnore
Item=ARRAY of STRING
ItemCount=INTEGER  *R
Sorted=INTEGER False
Text=STRING
AddItems=SUBI *Add strings to stringlistSTRINGs, Infinite
AddList=SUB (List AS QStringList) *Append another stringlist
Build=FUNCTION Build(Start%, End%, Delim$) AS STRING *Returns a deliminated string
Clear=SUB *Clears entire stringlist
DelItems=SUBI *Delete strings by their indexIndex #s, Infinite
Exchange=SUB (Index1%, Index2%) *Swap strings at Index1% with Index2%
IndexOf=FUNCTION IndexOf%(String$) *Return Index number of string
InsertItem=SUB (Index%, String$) *Insert string at Index%
LoadFromFile=SUB (File$) *Load text file in stringlist
LoadFromStream=SUB (File AS QStream) *Load file/memorystream in stringlist
Parse=FUNCTION Parse(Source$, Delim$) AS LONG *Separates strings by the Delim$ and stores each item in the list
SaveToFile=SUB (File$) *Saves stringlist to file
SaveToStream=SUB (File AS QStream) *Load file/memorystream in stringlist
Sort=SUB *Sort the stringlist
@QTABCONTROL
Align=INTEGER alNone
ButtonStyle=INTEGER False
ClientHeight=INTEGER
ClientWidth=INTEGER
Color=INTEGER
Cursor=INTEGER crDefault
Enabled=INTEGER True
FlatButtons=INTEGER False
FlatSeperators=INTEGER False
FocusButtons=INTEGER False
Font=QFONT
Height=INTEGER
Hint=STRING
HotTrack=INTEGER False
Left=INTEGER
MultiLine=INTEGER False
Parent=QFORM/QPANEL/QTABCONTROL
PopupMenu=QPOPUPMENU
ScrollOpposite=INTEGER False
ShowHint=INTEGER False
Tab=ARRAY of STRING
TabHeight=INTEGER
TabInactiveColor=INTEGER
TabInactiveFont=QFONT
TabIndex=INTEGER
TabOrder=INTEGER
TabPosition=INTEGER
TabWidth=INTEGER
Top=INTEGER
Width=INTEGER
VerticalTabs=INTEGER False
Visible=INTEGER True
AddTabs=SUBI *Add tabs to controlSTRING, Infinite
DelTabs=SUBI *Delete tabs from controlINTEGER, Infinite
InsertTab=SUB (Index%, String$) *Inserts Tab at Index%
OnChange=VOID *Tabs change
@QTIMER
Enabled=INTEGER True
Interval=INTEGER
OnTimer=VOID *Timer interval elaspes
@QTRACKBAR
Align=INTEGER alNone
Cursor=INTEGER crDefault
Enabled=INTEGER True
Frequency=INTEGER
Height=INTEGER
Hint=STRING
Left=INTEGER
LineSize=INTEGER
Max=INTEGER 10
Min=INTEGER
Orientation=INTEGER tbHorizontal
PageSize=INTEGER 2
Parent=QFORM/QPANEL/QTABCONTROL
PopupMenu=QPOPUPMENU
Position=INTEGER
SelEnd=INTEGER
SelStart=INTEGER
ShowHint=INTEGER False
TabOrder=INTEGER
TickMarks=INTEGER tmBottomRight
TickStyle=INTEGER tsAuto
Top=INTEGER
Width=INTEGER
Visible=INTEGER True
SetTick=SUB (Pos%) *Set a tick mark at Pos%
OnChange=VOID *Track bar changes
@QTREEVIEW
Align INTEGER RW alNone 
BorderStyle INTEGER RW bsSingle 
Color INTEGER RW  
Cursor INTEGER RW crDefault 
Enabled INTEGER RW True 
Font QFONT W  
Handle INTEGER RW  
Height INTEGER RW  
HideSelection INTEGER RW False 
Hint STRING RW  
Images QIMAGELIST W  
Indent INTEGER RW 19 
Item ARRAY of TreeNodeType RW  
ItemCount INTEGER RW  
ItemIndex INTEGER RW  
Left INTEGER RW 0 
Parent QFORM/QPANEL/QTABCONTROL W  
PopupMenu QPOPUPMENU W  
ReadOnly INTEGER RW False 
ShowButtons INTEGER RW True 
ShowHint INTEGER RW False 
ShowLines INTEGER RW True 
ShowRoot INTEGER RW True 
SortType INTEGER RW stText 
StateImages QIMAGELIST W  
TabOrder INTEGER RW  
Tag INTEGER RW  
Top INTEGER RW 0 
TopIndex INTEGER RW  
Width INTEGER RW  
Visible INTEGER RW True 
AddItems SUBI Add items to treeview STRING, Infinite 
AddChildItems SUB (Index%, S1$, S2$, ...) Add child item at Index% Minimum 2 
Clear SUB Clear all items in treeview 0 
Collapse SUB (Index%, Recurse%) Collapses node 2 
DelItems SUBI Delete items from treeview INTEGER, Infinite 
Expand SUB (Index%, Recurse%) Expand node, revealing its childs 2 
FullCollapse SUB Collapses all nodes 0 
FullExpand SUB Expands all nodes 0 
GetItemAt FUNCTION (X%, Y%) AS LONG Get the index node at X,Y 2 
InsertItem SUB (Index%, String$) Insert item at Index% 2 
LoadFromFile SUB (Filename AS STRING) Load items from file 1 
SaveToFile SUB (Filename AS STRING) Save items to file 1 
Sort SUB Sort all items from A-Z 0 
OnClick VOID TreeView was clicked on 0 
OnChange SUB (Index%) Selection (not modification) has changed from one item to another 1 
OnChanging SUB (Index%, AllowChange%) Selection is about to be changed 2 
OnCollapsed SUB (Index%) Just after a node has been collapsed. Does the OnClick event first 1 
OnCollapsing SUB (Index%, AllowCollapse%) A node is about to be collapsed 2 
OnDblClick VOID TreeView was double clicked on 0 
OnDeletion SUB (Index%) A node in the tree is deleted 1 
OnEdited SUB (Index%, BYREF S$) After the user edits a text of a node 2 
OnEditing SUB (Index%, AllowEdit%) The user starts to edit the text 2 
OnExpanded SUB (Index%) After a node is expanded 1 
OnExpanding SUB (Index%, AllowExpansion%) A node is about to be expanded. Does the OnClick event first 2 
OnGetImageIndex SUB (Index%) The treeview looks up the ImageIndex of a node 1 
OnGetSelectedIndex SUB (Index%) The treeview looks up the SelectedIndex of a node 1 
OnKeyDown SUB (Key AS Word, Shift AS INTEGER) Key held down 2 
OnKeyPress SUB (Key AS BYTE) User presses a key 1 
OnKeyUp SUB (Key AS Word, Shift AS INTEGER) User releases a key 2 
OnMouseDown SUB (Button%, X%, Y%, Shift%) Mouse button held down 4 
OnMouseMove SUB (X%, Y%, Shift%) Mouse moves 3 
OnMouseUp SUB (Button%, X%, Y%, Shift%) Mouse button is released 4 
@QDXIMAGELIST
Parent=QDXSCREEN
Draw=SUB (Item%, X%, Y%, Mask%) *Draw image on Screen
LoadFromFile=SUB (FileName$) *Load image list
@QDXSCREEN
Align=INTEGER alNone
AllowStretch=INTEGER True
AutoSize=INTEGER True
BitCount=INTEGER 8
Color=INTEGER
Cursor=INTEGER crDefault
Enabled=INTEGER True
Font=QFONT
FullScreen=INTEGER False
Height=INTEGER
Hint=STRING
Left=INTEGER
Parent=QFORM/QPANEL/QTABCONTROL
Pixel=2D ARRAY of INTEGER
ShowHint=INTEGER False
Top=INTEGER
Use3D=INTEGER False
UseHardware=INTEGER True
Visible=INTEGER True
Width=INTEGER
Circle=SUB (x1%, y1%, x2%, y2%, c%, fill%) *Draw & Fill Circle
CopyRect=SUB (D, Image, S) *D and S are QRECTs, Image can be a QImage, QCanvas, or QBitmap
Draw=SUB (x%, y%, BMP) *Draw Bitmap at (X,Y)
Fill=SUB (DevCol%) *Fill screen (not traditional colors)
FillRect=SUB (x1%, y1%, x2%, y2%, c%) *Draw & Fill a rectangle
Flip=SUB *Copies off-screen buffer to visible page
Init=SUB (Width%, Height%) *Create Screen
Line=SUB (x1%, y1%, x2%, y2%, c%) *Draws a line
Paint=SUB (x%, y%, c%, borderc%) *Fill Region
Pset=SUB (x%, y%, c%) *Pixel Plot
Rectangle=SUB (x1%, y1%, x2%, y2%, c%) *Draws a rectangle
Release=SUB *Force update
Rotate=SUB (xOrigin%, yOrigin%, Angle%) *Rotates entire screen at specified origin3
StretchDraw=SUB (Rect AS QRECT, BMP) *Draw BMP and stretch to fit inside Rect
TextHeight=FUNCTION (Text$) AS WORD *Returns the height, in pixels, of Text$ string
TextWidth=FUNCTION (Text$) AS WORD *Returns the width, in pixels, of Text$ string
TextRect=SUB (Rect AS QRECT, x%, y%, S$, fc%, bc%) *Write text, and clip within region Rect
TextOut=SUB (x%, y%, S$, fc%, bc%) *Writes text
AddLight=SUB (Light AS QD3DLight) *Add light to scene
CameraLookAt=SUB (F AS QD3DFrame, Constraint AS INTEGER) *Fix frame and constrain rotation
CreateFace=SUB (Face AS QD3DFace) *Creates a face
CreateFrame=SUB (Frame AS QD3DFrame) *Creates frame
CreateLightRGB=SUB (LightType%, R#, G#, B#, Light AS QD3DLight) *Create light object
CreateMeshBuilder=SUB (MB AS QD3DMeshBuilder) *Creates meshbuilder
CreateShadow=SUB (MB AS QD3DMeshBuilder, Light AS QD3DLight, px#, py#, pz#, nx#, ny#, nz#, V AS QD3DVisual) *Creates a visual shadow object9
CreateWrap=SUB (WrapType%, A#, B#, C#, D#, E#, F#, G#, H#, I#, J#, K#, L#, M#, W AS QD3DWrap)  *Creates a wrap object
ForceUpdate=SUB (X1%, Y1%, X2%, Y2%) *Force update on specific region
LoadTexture=SUB (File AS STRING, Tex AS QD3DTexture) *Create a texture object
Move=SUB (D AS DOUBLE) *Moves/animates scene
SetBackgroundImage=SUB (Tex AS QD3DTexture) *Set background image for scene
SetCameraPosition=SUB (X#, Y#, Z#) *Set camera position for entire scene
SetCameraOrientation=SUB (DX#, DY#, DZ#, UX#, UY#, UZ#) *Set camera orientation for scene
SetRenderMode=SUB (M AS INTEGER) *Set render mode for scene
SetTextureQuality=SUB (Quality AS INTEGER) *Set texture quality for scene
OnClick=VOID *Mouse button clicked
OnDblClick=VOID *Mouse button double clicked
OnInitialize=VOID *DirectX succeeds in initializing
OnInitializeSurface=VOID *Another event for you to do initializing
OnKeyDown=SUB (Key AS Word, Shift AS INTEGER) *Key held down
OnKeyPress=SUB (Key AS BYTE) *User presses a key
OnMouseDown=SUB (Button%, X%, Y%) *Mouse button held down
OnMouseMove=SUB (X%, Y%) *Mouse moves
OnMouseUp=SUB (Button%, X%, Y%) *Mouse button is released
@QDXTIMER
ActiveOnly=INTEGER True
Enabled=INTEGER False
FrameRate=INTEGER  *R
Interval=INTEGER
OnTimer=VOID *Timer expired
@QD3DFACE PROPERTIES
VertexCount=INTEGER  *R
AddVertex=SUB (X#, Y#, Z#) *Add a vertex
GetVertex=SUB (Index AS LONG, Position AS QD3DVector, Normal AS QD3DVector) *Retrieve the position and normal of a vertex
SetColorRGB=SUB (R#, G#, B#) *Set face color
@QD3DFRAME
FogColor=INTEGER
FogEnabled=INTEGER
FogMode=INTEGER
AddLight=SUB (Light AS QD3DLight) *Add light object to frame
AddScale=SUB (CombineType%, X#, Y#, Z#) *Add scale
AddVisual=SUB (Visual AS QD3DMeshBuilder/QD3DMesh/QD3DVisual) *Add visual object to frame
CreateFrame=SUB (Frame AS QD3DFrame) *Create frame relative to this
DeleteFrame=SUB (Frame AS QD3DFrame) *Removes a frame from hierarchy
DeleteVisual=SUB (Visual AS QD3DMeshBuilder/QD3DMesh/QD3DVisual) *Removes visual object from frame
Load=SUB (FileName AS STRING) *Load a frame from .X file
LookAt=SUB (F AS QD3DFrame, Constraint AS INTEGER) *Fix frame and constrain rotation
Move=SUB (D AS DOUBLE) *Moves frame (rotate)
SetBackgroundImage=SUB (Texture AS QD3DTexture) *Add texture to frame
SetBackgroundRGB=SUB (R#, G#, B#) *Set background color
SetFogParams=SUB (Start#, End#, Density#) *Set fog parameters
SetOrientation=SUB (DX#, DY#, DZ#, UX#, UY#, UZ#) *Set orientation of frame
SetPosition=SUB (X#, Y#, Z#) *Set viewing position of frame
SetRotation=SUB (X#, Y#, Z#, Theta#) *Set rotation relative to X,Y,Z
SetTexture=SUB (Tex AS QD3DTexture) *Add texture backdrop to frame
@QD3DLIGHT
SetLightRGB=SUB (LightType%, R#, G#, B#) *Set lighting type and color
SetPenUmbra=SUB (Angle#) *Set light of outer cone
SetRange=SUB (Range#) *Set range of light
SetUmbra=SUB (Angle#) *Set light of inner cone
@QD3DMESH
MaxY=SINGLE *R
MinY=SINGLE *R
@QD3DMESHBUILDER
FaceCount=INTEGER  *R
AddFace=SUB (Face AS QD3DFace) *Add a face to mesh object
AddVertex=SUB (X#, Y#, Z#) *Add a vertex
CreateFace=SUB (Face AS QD3DFace) *Creates a new face with no vertices
CreateMesh=SUB (Mesh AS QD3DMesh) *Create mesh from meshbuilder
DeleteFace=SUB (Face AS QD3DFace) *Delete face from meshbuilder
GetFace=SUB (Index AS LONG, Face AS QD3DFace) *Get a single mesh face
Load=SUB (S AS STRING) *Load an object file (.x file)
Move=SUB (D AS DOUBLE) *Moves frame (rotate)
Scale=SUB (X#,Y#,Z#) *Scale object
SetQuality=SUB (Quality AS INTEGER) *Set rendering quality
SetRGB=SUB (R#, G#, B#) *Set object's color
SetRGBA=SUB (R#, G#, B#, A#) *Add color w/alphablending
SetTexture=SUB (Tex AS QD3DTexture) *Add texture backdrop to object
Translate=SUB (TX#, TY#, TZ#) *Translate is a move operation but in 3D
@QD3DVECTOR
DVX=SINGLE
DVY=SINGLE
DVZ=SINGLE
X=SINGLE
Y=SINGLE
Z=SINGLE
@QD3DWRAP
Apply=SUB (M AS QD3DMesh) *Apply wrap to mesh
ApplyRelative=SUB (F AS QD3DFrame, M AS QD3DMesh) *Apply wrap relative to frame
@QRECT
Top=Integer
Left=Integer
Right=Integer
Bottom=Integer

@make this the end