PureBasic is a modern, cross-platform environment for developing and debugging programs and games in BASIC, which allows you to create applications for Windows, Linux, MacOS X and AmigaOS platforms for Intel / AMD x86 and x64 processors, as well as for ARM 32 and ARM 64. The environment includes a cross-platform library containing more than 1800 functions. Their description can be found in the help (press F1 while PureBasic is running) or in the online help. Among them are functions for working with the console, windows, 2D and 3D graphics (OGRE engine), networking and much more. 32 bit images with alpha channel are supported. The functions of the “Thread” library make it easy to create parallel threads from ordinary procedures and functions, which is especially true for multiprocessor systems. There are facilities for thread synchronization. When using threads in a program, you need to enable the “Multithreading support” option in the compiler settings.
List of functions library sections
2DDrawing is a library for drawing simple geometric shapes such as line, circle, rectangle, etc. with support for alpha channel (32-bit graphics), gradient, etc. Based on GDI.
AudioCD - Play music from CDs and DVDs.
CGI is a library of Common Gateway Interface server technology functions that allows relatively simple tools to create sites using the PureBasic language.
Cipher is an encryption library. Supported methods are AES (128, 192 and 256 bits), Base64, secure random number generation (CryptRandom), DES, CRC32, MD5, SHA1, SHA2, SHA3, etc.
Clipboard - access to the clipboard.
Console - creation of console applications.
Database - access to Oracle, MySQL, Access, SQLite, PostgreSQL databases, etc.
Date - date and time.
Dialog is a simple yet powerful dialog box library built from an XML structure.
DragDrop - drag and drop objects within a window and between windows.
Engine3D is an interface to the OGRE 3D engine that allows you to create applications with 3D graphics and 3D games. There are others associated with this library, such as: Billboard, Camera, Entity, EntityAnimation, Joint, Light, Material, Node, NodeAnimation, etc.
File - access to files - create, read, write, etc.
FileSystem - copying files and folders, listing all files and folders in a given folder, reading and modifying the date and attributes of files and folders, etc.
Ftp - access to FTP servers.
-http - access to HTTP and HTTPS servers.
Image, creating, and modifying (using the 2DDrawing and VectorDrawing libraries) images.
Joystick - functions for working with a joystick (usually needed for games).
Json - creating and parsing a JSON structure
Keyboard - polling the keyboard (usually needed for games).
Library - access to DLL functions
List - doubly linked list. Linked list
Mail - sending letters to e-mail via SMTP protocol with support for TLS/SSL encryption.
Map is an associative array.
Math is a mathematical library containing various functions such as calculating the square root, sine, cosine, tangent, logarithm, modulo, etc.
Memory - various functions for interacting with memory, including dynamic creation of instances of structures.
Mouse - interaction with the mouse (usually needed for games).
Movie - play audio and video. Supported formats depend on the installed codecs in the system.
Music - play tracker music.
Network - access to the local network and the Internet. Server and client creation, TCP and UDP, IPv4 and IPv6 protocols are supported. It is possible to set the local IP and port of the access point, which is useful if there are several (for example, a wired connection and WiFi) and you need to know exactly which network traffic will go through.
OnError - catching errors in the compiled application with information about the location of the error (file and line of code) and the type of error with the ability to disassemble the desired section of code.
Packer - create, view and unpack archives LZMA (known as 7z), ZIP, TAR, BriefLZ, etc.
Printer - access to a printer with the ability to print arbitrary text / image.
Process - start, end and exchange between processes.
RegularExpression - regular expressions.
Runtime - access to constants, variables and procedures by their name.
Scintilla is a full-featured access to a powerful text editor with syntax highlighting, auto-completion, and more.
SerialPort - access to the computer’s COM port with support for virtual ports.
Sort - functions for sorting/sorting arrays and doubly linked lists of simple and complex (structured) types.
Sound - music playback.
Sound3D - music playback in 3D space.
Thread is a library that supports multi-threaded code execution, which is relevant for multi-core processors and multi-processor systems.
VectorDrawing is an advanced scalable drawing library. Based on GDI+.
Window and Gadget are libraries for creating and working with windows and their contents.