About RapidQ and the include files in RapidQ2




RapidQ2 is made to standardize improvement of the language. If there is a  component that is a "must fix" then add it to RapidQ2.inc.
Instead of looking around for the latest include files and code, just improve RapidQ2.inc to new versions.

Updates or  major improvements to RapidQ2.inc should be posted in the discussion group:
https://groups.io/g/rapidq/topics

If the code is reliable and acceptable to the group, the request updating RapidQ2 and update the documents and RapidQ.chm file.


In RapidQ2 additions include:
APPLICATION, SCREEN, QFORM, QBITMAP, QCANVAS, QIMAGE, QMenuEx, QLISTVIEWex,

QDEBUG, QFILEDIALOG, QSYSTEM, QFORMmDI, QDOCKFORM, GDI plus and other goodies.

Of note, the addition of GDI+ api depreciates the outdated
CONST  NViewLibPresent
and there is no need to include NviewLib.DLL or Jpeg.DLL. However, these files may be distributed for compatibility.


Things to beware of:
* A large list of Windows API funcions are included. If you have a naming
conflict, DON'T CHANGE RapidQ2.inc, PLEASE CHANGE YOUR CODE. Why?
because you can always find documentation on Windows MSDN API documentation, but nobody knows the name of a modified API function!

* You must declare custom components at the Global level (outside a sub/function)

* You cannot have arrays of custom components,
======================================================================================
RapidQ.CHM

A large compiled html help file. This was compiled with Microsofts HTML help
Workshop, which can be downloaded for free from
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/hwMicrosoftHTMLHelpDownloads.asp

Use this to decompile/recompile the help file. Edit the html file in your favorite HTML
editor. Then recompile the CHM file with HTML help
workshop. Be sure you have the HHA.DLL distribution with HTML help Workshop. There are 3
very important files needed for compiling that are coded in INI or HTML:

rapidq.hhp   -The project file
Table of Contents.hhc - table of contents
help RapidQ.hhk -index file
This file is NOT to be distributed with any commercial product, please respect
the rights of Realbasic (tm) and William Yu, the author

=============================================================================
WINDOWS.INC

Windows 32 API include file. Updated 3/2005.
Very large and covers most of the API calls/constants you will need.
Unzipped it is about 700K, 15000 lines of code, but only takes about
0.5 sec longer to compile! Forget putting in all those DECLARE statements!
*** If you use WINDOWS.INC, it must be declared before RapidQ2.INC ***
'for example must be in this order:
$INCLUDE "WiNDOWS.INC"
$INCLUDE "RAPIDQ2.INC"

=============================================================================
RapidQ_D3d.INC

Updated DirectX 3D  (D3D) include file. Adds directx 3d constants and
components QD3DCAMERA, QD3DPrimitive, and QD3DCloneMesh.

=============================================================================

CHANGE LOG

=============================================================================

7/29/2020

Minor fixes, additional GDI+ documentation and implementation in the QBitampEx component.

============================================================================
** Revision 10/2017 (version 1.5)

Added support for Unicode / Wide String so RapidQ can call Unicode APIs.

Removed dependency on JPEG.DLL and NVIEWLIB.DLL (they don't support large or modern versions of jpeg) .
That means code looking for the variable NviewLibPresent will generate an error.
There is no need to use NviewLibPresent as QBitmapEx and QImageEx use GDI+ to Load / Save image file formats (JPG, TIFF, PNG, GIF)
This essentially ends support for Windows 95/98 when using these components

QBITMAPEX supports 8-bit greyscale images.

============================================================================
**Revision 2/2007 (Version 1.3b) QColorDialog -Fixed .Color array in CHOOSECOLOR struct , should have been pointer to array QBitmapEx QimageEx - constant NviewLibPresent (1, 2, or 3) to better control flow for LoadOtherFormat and SaveAsJpg


===========================================================================
**Revision 12/2006 (Version 1.3) Added Snakedile 1.07 fixed libs as part of the distribution In preparation of new fixed libs, CONVBASEeX$ and STRINGex$ were removed, HexToDec now uses CONVBASE$ Added QFormEx.AddMessage and QFormEx.OnMessage so that any message could be sent to a custom WndProc Updated SnakeDile fixed lib components in CHM help file Added SortByColumn to QStringGridEx (code by Jacques) Removed string const for QComport, and put in component (don't add string space if not needed) QBitmapEx.AlphaBlend has memory leak, probably GDI leak. Lowered memory overhead by removing BLENDFUNCTION Updated QProcess and QProgress with multithreading



============================================================================
**Revision 9/2006 (Version 1.2d) Fixed SOUND keyword for windows versions > Win 98, uses a SUB alias called SoundEx Fixed STRING$, which limited text length to 2k, or buffer overload Added Frequency output for Screen.EnumResolution(ListView AS QLISTBOX) Fixed QFormEx.OnMinimise Added QSystem.BuildNumber for Windows Build version Updated undocumented commands in CHM help file (thanks to Warriant97)


============================================================================
**Revision 4/2006 (Version 1.2c) Fixed QFormEx.FormStyle, the form disappeared with fsStayOnTop and could not be reset to fsNormal converted more CONST to $DEFINE Added ShutDown options to QSYSTEM fixed Screen.EnumResolution updated docs, especially DLL tutorials. fixed/updated inc files (OpenGL, CMD5, microTIMER, XP_Manifest..)


============================================================================
**Revision 3/2006 (Version 1.2b) Fixed Windows.inc with incorrect byval var as Byte, etc. BYTE, SHORT, WORD, Single, DOUBLE if passed byVAL must be put into a 32-bit variable. RapidQ_D3D fixed D3DRM api calls

============================================================================
**Revision 1/2006 (version 1.2) Improved code for muliple custom components to be used at the same time. Added QAVI component for reading/creating AVI files Added XP_Manifest component for automatic generation of xp style buttons. Improvements to the RapidQ.CHM file, included links to RQDP, FreeBasic DLL tutorial. Fixed bug in QSystem component Minor corrections to original RapidQ.inc file Entire wad of basic RapidQ2 system can be downloaded from www.airsys.org


============================================================================
**Revision 8/2005 (version 1.1) Muliple custom components can be used at the same time. Those rewritten include QFORMex -- added focus EVents, and TrayIcon goodies QMenuEx -- major revision with much better stability QColorDialog QPageSetup Updated include files to be compatible with WINDOWS.INC Updated Direct3d custom components Updated Docs to include the new Direct3D components


============================================================================
**Revision 5/2005 (version 1.0e)
fixed minor bug in QDockForm. This error must still exist in QDockform.inc


============================================================================
**Revisions 3/2005 (version 1.0d)
Updated docs
updated windows.inc
Automatically detects nviewlib or jpeg.dll and uses these in .LoadOtherFormat
Corrected QbitmapEx.alphaBlend (Thanks Paul again)
fixed bug in QFileDialog (thanks Paul)
  ***note .Files(0), the directory always has a blackslash now.
added bug comments on LIBRARYINST, others
Udated RapidQ_D3D to work with Boris Holyard's 3D engine (DEA) demo.


============================================================================
**Revisions 2/2005 (version 1.0c)
Updated docs
Allow multiple QformEx forms in an application
Corrected QbitmapEx.alphaBlend
QformEx.DeskBar does not take any parameters and should be called
NViewLibPresent flag fixed


============================================================================
**Revisions 1/2005 (version 1.0b)

fixed several minor bugs
Removed __EXTENSIONS_ON  ** error with $DEFINE***
Added QFORMex.OnMouseWheel event
QDRAWMENU dropped and QMENUex added
QCAMERA changed to QD3DCAMERA for future QCAMERA video camera component
QSYSTEM added DiskFreeSpace for free space on drive
QBITMAP.AlphaBlend supports 32-bit alpha mask
HEXtoINC changed to HexToDec to be more compatible with previous code
SLEEP API function renamed Sleep.ms
Added UDTPTR to get pointer of a user defined type
Windows.inc removed $DEFINE INTEGER SHORT