1.1 - What Is BlitzSys DLL, And What Are The Features?

What is BlitzSys?

BlitzSys was originally my feeble attempt at a general function and system C++ DLL for BlitzBasic while I was still learning more C/++. It was mostly a learning exercise to help me better understand C/++ programming and Windows OS coding. Since then it has progressed very nicely, into what I think can be called a "Blitz Extension". In that it adds some much needed OS control that Blitz never before had access to. As well as the OS functions though, the library has reached out into general function territory, and now includes commands for CRC32 checking and other "spoiler" functions :) But generally, it remains a Win32 wrapper DLL.

It was written and compiled in LCC and is currently still being actively developed and will continue to be until all the missing features are added. My C++ is still very sketchy, and with that in mind, expect bugs and problems! (Though I don't think there actually ARE any, expect them non-the-less :) ) As my C/++ improves, so should the range of commands in BlitzSys.

The library has already filled in a few holes in Blitz I think for a lot of people. I have seen many requests on the Blitz boards for a lot of the features currently in blitzsys, so if you use this DLL, please drop me an email :)

Since 1.02 BootBlock (Joseph Cox) has decided to help out with the development of blitzsys, so big thanks go out to him now too!

Requirements:

  • Retail Blitz2D/Blitz3D Upgraded to V1.71+

Have fun!


Feature List

The current features, here is a quick overview:

  • Ability to get the hWnd address of any window on the desktop. (Specifically for getting the Blitz Runtime Window).
  • Ability to Move, Show/Hide and Post messages to any hWnd window handle.
  • Open/Save explorer style Common Control Dialog system requesters.
  • 100% functional Choose Color requester, (Common Control Dialog system colour picker). You can get/set initial colour and all 16 custom colours.
  • Non-Blitz-Terminating MessageBox(). Allows you to create 100% functional system requesters of multiple types and ask the user questions.
  • Access to simple INI control commands through the system. (Slow at the moment).
  • Full access to the MessageBeep() command, allows you to play system alert sounds via 1 command.
  • Expanded SystemProperty() command. DLLGetSpecialFolder() allows you get all the special folders on the system.
  • Text system clipboard support. (Ability to read/write/empty and get size of data on clipboard).
  • Full SetWindowPos() access. You can use this command to remove the Blitz Runtime Window from the top too.
  • Get x/y/width/height in pixels of any window on the desktop.
  • Complete access to the system Font Requester. Ability to change any of the requester options, set initial size and face of the font, set and get colour and characterset effects.
  • Folder requester. Let the user select a path from the computer.
  • CRC32 file and bank functions. These allow you to check that a file or any data bank has not been modified.
  • DLLGetVolumeInfo() allows you to get information about any volume on the user's computer. This includes, volume name, volume serial, filesystem and volume flags.
  • Get the Desktop screen caps. Including Desktop Width/Height/Depth.
  • More than 20 examples showing you how to use all of the available commands!!!
  • (NEW! -Ish) Force window drag at any time.
  • (NEW!) Complete regioning system implemented. You can now cut out sections of the blitz window (or any other window for that matter :)) - This also allows you to remove the window borders of the runtime window.
  • (NEW!) Regioning commands extend to: Rectangles, Rounded Rectangles, Elliptic and Variable Vertex Polygonal Regions. There are 3 examples dealing with regions.

Much more to come, this is only the beginning. See here for a list of planned features, and feel free to EMail me and suggest them.

Contact - Rob Hutchinson

Section Last Updated: Friday, May 31, 2002 9:14 PM GMT

All materials used on in this help and related sources and binaries are (C)opyright Rob Hutchinson, Joseph Cox and Tarropithium Software 2002. All rights reserved. All software is provided without warranty unless otherwise stated.
Tarropithium Software or the authors will not be held liable for any damage or data loss that may occur during the application of this software. Use it at your own risk!