What is a library and why are libraries important?

Writing Libraries

Supplied Libraries

  • ARRAYLIB - Array and matrix functions
  • ASMLIB - Assembler extensions (CMOV and SSE)
  • ASMLIB2 - More assembler extensions (SSE2)
  • CALLBACK - Use Windows API functions which require a callback routine
  • CLASSLIB - Support for Object Classes (includes examples of use)
  • COMLIB - Accessing COM automation (ActiveX) controls
  • D3DLIB - Direct3D8 graphics
  • D3DLIBA - Direct3D8 graphics (with additional camera roll-angle parameter)
  • D3D9LIB - Direct3D9 graphics
  • D3D9LIBA - Direct3D9 graphics (with additional camera roll-angle parameter)
  • DATELIB - Calendar functions
  • ELLIPSE - Plotting angled ellipses
  • EVENTLIB - Synchronous dispatch mechanism for ON MOUSE, ON MOVE, ON SYS and ON TIME events
  • FNUSING - Formatting and conversion
  • GDIPLIB - Antialiased graphics
  • HQSOUND - High Quality sound patch
  • MDILIB - Multiple Document Interface
  • MULTIWIN - Multiple output windows
  • NOWAIT - Replacement functions that don't stall interrupts
  • SOCKLIB - Socket (network) connections
  • SORTLIB - Sorts data arrays
  • SORTSALIB - Sorts arrays of structures (beware of different calling syntax)
  • SPRITELIB - Sprites
  • STRINGLIB - String functions
  • SUBCLASS - Intercept and process Windows messages
  • TIMERLIB - Multiple single-shot or periodic timers which call a specified BASIC PROCedure
  • WINLIB - Toolbars and status bars
  • WINLIB2 - Dialogue boxes
  • WINLIB2A - Dialogue boxes with context-sensitive help
  • WINLIB3 - Trackbars and progress bars
  • WINLIB4 - Property sheets and wizards
  • WINLIB5 - Boxes and buttons
  • WINLIB5A - Boxes and buttons with specified parent window
  • XMLLIB - Parse XML files

Downloadable Libraries

ArrayIO - Jon Ripley
ArrayIO provides routines to write entire arrays to a file and read them back again.

BB4WMAPM - Christos Stogiannopoulos
The BB4WMAPM library provides an interface between the BBC BASIC for Windows programming language and the MAPM arbitrary precision mathematics library.

BOX2DLIB - Richard Russell
Used in conjunction with BOX2D221.DLL and (optionally) BOX2DDBG.BBC, which are contained in the ZIP file, provides access to the Box2D Physics Engine.

CardLib - Jon Ripley
CardLib provides an interface to the Windows cards library used by all the card games supplied with Windows.

Date - J.G.Harston
The Date library provides functions for converting dates between a 5-byte centi-second count and real-world date and time values. It replicates the functionality of the RISC OS SWIs Territory_ConvertOrdinalsToTime and Territory_ConvertDateAndTime.

DrawLib - Chris Hall & Chris Dennis
Two libraries DrawLib and ShowDraw used to create and display Acorn Draw format files on Windows.

FORTHLIB - Richard Russell
Incorporate subroutines written in Forth in your BASIC program. Forth is much faster than BASIC, but easier to learn than assembly language.

gdip_image - Hans van der Hoeven
This library makes it very easy to display images or part of images in your window, using GDI+. It gives a very good quality scaling. This demo program explains the use of and demonstrates the possibilities of the library.

HASHLIB - Michael Hutton
Will give the SHA-1 hash value for a specified file.

HASHLIB2 - Michael Hutton
Calculates the MD2, MD4, MD5, SHA or SHA-1 hash of a file or a block of data in memory.

HASHLIB3 - Michael Hutton
As HASHLIB2 but additionally calculates the SHA-256, SHA-384 or SHA-512 hash.

HIMELIB - Richard Russell
Interfaces to the Huge Integer Math and Encryption library.

LoadDLL - Jon Ripley
LoadDLL provides a simple and fast interface for accessing functions provided by DLLs (Dynamic Link Libraries).

MAlloc - Jon Ripley
Memory allocation library (using the Windows API). Provides functions for memory allocation, reallocation and freeing.

MAlloc - J.G.Harston
Memory allocation library (using BBC BASIC's heap). Provides functions for memory allocation, reallocation and freeing.

ODBCLIB - Richard Russell
Supports accessing an ODBC-compliant database (for example SQLite) . The Zip file include a test/demonstration program illustrating its use.

ONCOMLIB - Richard Russell
Provides an ON COM style facility which will call a specified procedure if an event occurs on a serial communications port.

ReadArgs - Jon Ripley
Used to parse command line parameters passed to a program and returns the number of parameters and an array containing the parameters themselves. Contains a convenient lexical analyser.

ReadLine - Jon Ripley
The ReadLine library provide several flexible functions that replace the INPUT statement. Includes a full line editor with common keyboard shortcuts, clipboard support, cloaked input and a configurable line history buffer.

SPLASHSCREEN - Michael Hutton
Create a Splashscreen for your program from a jpeg, bmp, windows metafile or icon file. Supports multiple monitors.

SQLite3 - Jon Ripley
Allows SQLite databases to be created and manipulated from BB4W programs.

Win/Keyboard - J.G.Harston
The Win/Keyboard library provides functions to replace GET and INKEY that return regular unique top-bit-set values for function and editing keys, and returns distinct values for keys pressed with Shift, Control and Alt.

Win/Reg - J.G.Harston
The Win/Reg library provides simple functions to read and write strings in the HKEY_CURRENT_USER part of the registry.

Win/Registry - J.G.Harston
The Win/Registry library provides functions to read and write data in any part of the system registry.