Rapid-Q Documentation by William Yu ©1999-2000 Contents


Contents

Preface
Chapter 1: Rapid-Q Overview
bullet1.1 How slow is Rapid-Q anyway?
bullet1.2 What about bloat-ware?
bullet1.3 Does Rapid-Q require any extra runtime DLLs?
bullet1.4 How much memory does Rapid-Q suck out of my programs?
bullet1.5 How easy is it to hack into my programs?
bullet1.6 Do I need a license to distribute my programs?
Chapter 2: Rapid-Q Fundamentals
bullet2.1 Rapid-Q Environment
bulletRequired files and settings
bullet2.2 Using the Rapid-Q IDE
bullet2.3 Compiling and Running a Simple Application
bullet2.4 Command line switches
bullet2.5 General Structure of a Rapid-Q Program
bullet2.6 How close to the BASIC language is Rapid-Q?
Chapter 3: Rapid-Q Language Guide
bullet3.1 Rapid-Q Directives
bullet$APPTYPE
bullet$DEFINE and $UNDEF
bullet$ESCAPECHARS
bullet$IFDEF and $IFNDEF
bullet$INCLUDE
bullet$MACRO
bullet$OPTIMIZE
bullet$OPTION
bullet$RESOURCE
bullet$TYPECHECK
bullet3.2 Variables and Assignments
bulletNumeric types, string types
bulletNumeric Range values
bulletProper assignment, and inconsistencies
bullet3.3 Rapid-Q Components/Objects
bullet3.4 Component Methods & Events
bullet3.5 Rapid-Q Subroutines & Functions
bulletSpecial conditions
bulletPassing by value or reference
bullet3.6 Rules of Scope
Chapter 4: Writing your first Rapid-Q Application
bullet4.1 Deciding what to write
bulletSimple database like program
bulletUsing QButton, QEdit, QForm, QLabel, and QListBox
bullet4.2 Designing the form
bullet4.3 Handling events
bulletHow to handle on click events
bullet4.4 Source Code Listing
Chapter 5: Introduction to Forms
bullet5.1 What's in a form?
bullet5.2 Adding components to a form
bullet5.3 Tracking mouse position on form
bulletIntroduction to MouseX and MouseY
bullet5.4 Special Events for forms
bulletOnResize, OnKeypress, OnKeydown
bullet5.5 Dialog boxes
bulletUse of ModalResult
bullet5.6 Using the CREATE Method
bullet5.7 Embedding CREATEs
bullet5.8 Creating Menus
Chapter 6: Writing Console Applications
bullet6.1 Overview of console functions
bullet6.2 Hello world example
bulletWriting/Copying to/from offscreen pages
bullet6.3 Using PEEK and POKE
bullet6.4 Accepting user input
bullet6.5 Trapping extended keys
bullet6.6 Mixing CONSOLE with GUI
bullet6.7 Linux/Unix console
Chapter 7: Introduction to streams
bullet7.1 File streams
bulletReading/Writing numbers and strings
bullet7.2 Memory streams
bulletCopying between streams
bullet7.3 Saving/Loading UDTs and Arrays
Chapter 8: Using Image Resources
bullet8.1 Supported Resources
bullet8.2 Introduction to Image lists
bulletMore on Rapid-Q's image cache
bullet8.3 Other kinds of Resources
Chapter 9: SUBI, FUNCTIONI, and DLLs
bullet9.1 SUB/FUNCTIONs with variable parameters
bullet9.2 More on FUNCTIONI
bullet9.3 Introduction to DLLs
bullet9.4 How to call a DLL
bullet9.5 Using Quick View
bullet9.6 Writing your own DLLs
bullet9.7 Using unsupported types in DLL call
bullet9.8 API conversion table
Chapter 10: Creating Custom Components
bullet10.1 Introduction to object creation
bullet10.2 Extending QCanvas
bulletAdding new properties
bulletUsing Constructor
bullet10.3 Adding/Overriding Methods
bullet10.4 Defining Events
bulletInherting Events
bullet10.5 Adding components to components
bullet10.6 Extending empty components
bullet10.7 Public/Private properties and methods
bullet10.8 Templates and property sets
bullet10.9 Creating custom events
bullet10.10 QDiamondBox Source Code Listing
Chapter 11: Using Function Pointers
bullet11.1 Introduction to the concept
bullet11.2 Defining function pointers
bullet11.3 Using function pointers properly
bullet11.4 What's not supported in Rapid-Q
Chapter 12: Graphics under Windows
bullet12.1 Graphics under DOS versus Windows
bullet12.2 What components require painting
bullet12.3 Drawing graphics dynamically
bulletUsing QBITMAP as the off-screen page
bullet12.4 Ownerdraw List and Combo Boxes
bulletOwnerdraw Variable vs. Fixed
bullet12.5 Using DirectX
Chapter 13: Direct3D for Rapid-Q
bullet13.1 Requirement specifications
bulletRequired or suggested files
bullet13.2 Using Anim8or to create 3D models
bullet13.3 Loading/Using .X files
bullet13.4 Wrapping textures around an object
bullet13.5 Rotate/Moving objects
Chapter 14: Programming in MySQL
bullet14.1 Quick introduction
bulletRequired files
bullet14.2 Connecting to MySQL
bullet14.3 How to perform queries and obtain result
bullet14.4 Interfacing QMYSQL with QSTRINGGRID
bullet14.5 Storing and retrieving blobs
bullet14.6 Using LOADBLOB and SAVEBLOB
bullet14.7 In conclusion
Chapter 15: COM Programming
bullet15.1 Supported COM extensions
bulletCOM clients (automation controllers)
bulletActive Documents
bulletHow to register COM objects
bullet15.2 About QOLEOBJECT
bullet15.3 About QOLECONTAINER
Appendix A: Rapid-Q Component/Object Reference
bulletAPPLICATION (Windows/Linux)
bulletProperties, Methods Application examples
bulletCLIPBOARD
bulletProperties, Methods ClipBoard examples
bulletPRINTER
bulletProperties, Methods Printer examples
bulletQBITMAP
bulletProperties, Methods QBitmap examples
bulletQBUTTON (Windows/Linux)
bulletProperties, Methods, Events, QButton examples
bulletQCANVAS (Windows/Linux)
bulletProperties, Methods, Events, QCanvas examples
bulletQCHECKBOX (Windows/Linux)
bulletProperties, Events, QCheckbox examples
bulletQCOMBOBOX (Windows/Linux)
bulletProperties, Methods, Events, QCombobox examples
bulletQCOMPORT
bulletProperties, Methods, Events, QComPort examples
bulletQCOOLBTN (Windows/Linux)
bulletProperties, Methods, Events, QCoolbtn examples
bulletQDIRTREE
bulletProperties, Methods, Events, QDirTree examples
bulletQEDIT (Windows/Linux)
bulletProperties, Events, QEdit examples
bulletQFILELISTBOX
bulletProperties, Methods, Events, QFileListBox examples
bulletQFILESTREAM (Windows/Linux)
bulletProperties, Methods, QFilestream examples
bulletQFONT (Windows/Linux)
bulletProperties, Methods, QFont examples
bulletQFONTDIALOG
bulletProperties, Methods, Events, QFontDialog examples
bulletQFORM (Windows/Linux)
bulletProperties, Methods, Events, QForm examples
bulletQGAUGE
bulletProperties, QGauge examples
bulletQGLASSFRAME
bulletProperties QGlassFrame examples
bulletQGROUPBOX
bulletProperties, Methods, Events, QGroupBox examples
bulletQHEADER
bulletProperties, Methods, Events, QHeader examples
bulletQIMAGE
bulletProperties, Methods, Events, QImage examples
bulletQIMAGELIST
bulletProperties, Methods, QImageList examples
bulletQLABEL (Windows/Linux)
bulletProperties, Events, QLabel examples
bulletQLISTBOX (Windows/Linux)
bulletProperties, Methods, Events, QListbox examples
bulletQLISTVIEW
bulletProperties, Methods, Events, QListView examples
bulletQMAINMENU (Windows/Linux)
bulletProperties, Methods, QMainMenu examples
bulletQMEMORYSTREAM (Windows/Linux)
bulletProperties, Methods, QMemorystream examples
bulletQMENUITEM (Windows/Linux)
bulletProperties, Methods, Events, QMenuItem examples
bulletQMYSQL (Windows/Linux)
bulletProperties, Methods, QMySQL examples
bulletQOPENDIALOG (Windows/Linux)
bulletProperties, Methods, QOpenDialog examples
bulletQOLECONTAINER
bulletProperties, Methods, QOleContainer examples
bulletQOLEOBJECT
bulletProperties, Methods, QOleObject examples
bulletQOUTLINE
bulletProperties, Methods, Events, QOutLine examples
bulletQOVALBTN (Windows/Linux)
bulletProperties, Methods, Events, QOvalbtn examples
bulletQPANEL (Windows/Linux)
bulletProperties, Events, QPanel examples
bulletQPOPUPMENU
bulletProperties, Methods, QPopupMenu examples
bulletQRADIOBUTTON (Windows/Linux)
bulletProperties, Events, QRadioButton examples
bulletQRECT
bulletQREGISTRY
bulletProperties, Methods, QRegistry examples
bulletQRICHEDIT (Windows/Linux)
bulletProperties, Methods, Events, QRichedit examples
bulletQSAVEDIALOG
bulletProperties, Methods, QSaveDialog examples
bulletQSCROLLBAR (Windows/Linux)
bulletProperties, Events, QScrollBar examples
bulletQSCROLLBOX
bulletProperties, Methods, Events, QScrollBox examples
bulletQSOCKET (Windows/Linux)
bulletProperties, Methods, QSocket examples
bulletQSPLITTER
bulletProperties, Events, QSplitter examples
bulletQSTATUSBAR
bulletProperties, Methods, Events, QTrackBar examples
bulletQSTRINGGRID
bulletProperties, Methods, Events, QStringGrid examples
bulletQSTRINGLIST (Windows/Linux)
bulletProperties, Methods, QStringList examples
bulletQTABCONTROL
bulletProperties, Methods, Events, QTabControl examples
bulletQTIMER (Windows/Linux)
bulletProperties, Events, QTimer examples
bulletQTRACKBAR
bulletProperties, Methods, Events, QTrackBar examples
bulletQTREEVIEW
bulletProperties, Methods, Events, QTreeView examples
Appendix B: Rapid-Q DirectX Component/Object Reference
bulletQDXIMAGELIST
bulletProperties, Methods, Events, QDXImageList examples
bulletQDXSCREEN
bulletProperties, Methods, Events, QDXScreen examples
bulletQDXSOUND
bulletProperties, Methods QDXSound examples
bulletQDXTIMER
bulletProperties, Methods, Events, QDXTimer examples
    Rapid-Q Direct3D Component/Object Reference
    This is a work in progress, some properties or methods may change in the future. All 3D operations are done in Retained mode.
bulletQD3DFace
bulletProperties, Methods, QD3DFace examples
bulletQD3DFrame
bulletProperties, Methods, QD3DFrame examples
bulletQD3DLight
bulletMethods, QD3DLight examples
bulletQD3DMesh
bulletProperties, Methods, QD3DMesh examples
bulletQD3DMeshBuilder
bulletMethods, QD3DMeshBuilder examples
bulletQD3DTexture
bulletMethods, QD3DTexture examples
bulletQD3DVector
bulletProperties, QD3DVector examples
bulletQD3DVisual
bulletMethods, QD3DVisual examples
bulletQD3DWrap
bulletMethods, QD3DWrap examples
Appendix C: Rapid-Q Keywords & Statements
bulletValid Operators (In order of precedence)
bullet Exponentiation (^)
bullet Multiplication/Division and Shifts (*, /, \ (integer division), SHL, SHR)
bullet Modulo arithmetic (MOD, INV)
bullet Addition and subtraction (+, -)
bullet Relation operations (=, >, <, <>, <=, >=)
bullet Logical operations in order from high to low (NOT, AND, OR, XOR)
bulletRapid-Q internal definitions
bulletWIN32, UNIX, TYPE
bulletRapid-Q supported Data Types
bulletBYTE, WORD, INTEGER, VARIANT, etc...
bulletBranching with GOTO and GOSUB
bulletGOTO, GOSUB, RETURN
bulletUser defined types
bulletTYPE versus STRUCT
bulletConditional statements
bulletIF .. THEN .. ELSE, SELECT CASE
bulletLoops
bulletFOR .. NEXT, DO .. LOOP, WHILE .. WEND
bulletConstructors/Methods
bulletCONSTRUCTOR, CREATE, WITH
bulletProcedures
bulletSUB, FUNCTION, SUBI, FUNCTIONI
bulletInternal Variables
bulletCommand$, CurDir$, MouseX, MouseY, etc...
bulletConsole keywords, Detailed list
bulletCLS, COLOR, PRINT, INKEY$, etc...
bulletOther reserved keywords, Detailed list
bulletABS, LEN, MID$, SWAP, etc...
bulletTouble Shooting
bulletHow to Debug your programs

Next Chapter