PureBasic

Purebasic
Image illustrative de l’article PureBasic

Date de première version 22 octobre 2000
Paradigme Impérative
Auteur Fantaisie Software
Développeur Frédéric Laboureur
Dernière version 6.40 (le 9 juin 2025, il y a 16 mois)
Influencé par BASIC
Système d'exploitation Windows, Mac OS, Linux, Raspberry Pi OS, (AmigaOS abandonnée et maintenant open source)
Licence Logiciel propriétaire
Site web http://www.purebasic.com
Extensions de fichiers .pb .pbf .pbi .pbp

PureBasic est un langage de programmation de type BASIC compilé.

Plusieurs points le caractérisent :

PureBasic possède un jeu de commandes étendues (plus de 1 600 commandes internes) auxquelles s'ajoute un accès simplifié à une grande partie de l'API du système d'exploitation. Le programmeur peut appeler les commandes de l'API de Windows, de Linux ou Mac OS directement comme s'il s'agissait des commandes internes à PureBasic, sans avoir à les déclarer au préalable (ainsi que les constantes). Rien de mieux qu'un exemple pratique pour illustrer ceci. Comparons un programme simple en Visual Basic avec son équivalent en PureBasic : comment obtenir le chemin du répertoire Windows.

Visual Basic :
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" _
(ByVal lpBuffer As String, ByVal nSize As Long) As Long
Const MAX_PATH = 260
strWindowsDirectory$ = Space$(MAX_PATH)
lngReturn& = GetWindowsDirectory(strWindowsDirectory$, MAX_PATH)
PureBasic :
strWindowsDirectory$ = Space(#MAX_PATH)
lngReturn = GetWindowsDirectory_(strWindowsDirectory$, #MAX_PATH)

Description

Caractéristiques

PureBasic gère de nombreux types :

  • Ascii (.a)
  • Byte (.b)
  • Char (.c)
  • Double (.d)
  • Float (.f)
  • Integer (.i)
  • Long (.l)
  • Quad (.q)
  • String (.s)
  • Unicode(.u)
  • Word (.w)
  • Structures définies par l'utilisateur

PureBasic supporte de nombreuses fonctionnalités :

PureBasic permet de créer :

Bibliothèques

Pour information, voici la liste officielle des bibliothèques PureBasic :

Bibliothèques générales
2D Drawing, CDAudio, Cipher, Clipboard, Console, Database (SQLite et PostgreSQL, MySQL/MariaDB), Date, Desktop, DragDrop, File, FileSystem, Font, Gadget, Help, Image, JSON, ImagePlugin, Library, Linked List, Math, Memory, Menu, Misc, Movie, Network, OnError, Packer, Preference, Process, Printer, Requester, Scintilla, Sort, StatusBar, String, SysTray, Thread, Toolbar, VectorDrawing, Window, XML, Regular Expression, DPI aware support, WebService API (REST)
Bibliothèques pour les jeux 2D
Joystick, Keyboard, Module, Mouse, Palette, Sprite & Screen, Sprite3D, Sound, SoundPlugin
Bibliothèques pour les jeux 3D
Engine3D, Billboard, Camera, Entity, Gadget3D, Joint, Light, Material, Mesh, Node, Node Animation, Particle,
Sound3D, Special Effect, Spline, Static Geometry, Terrain, Texture, Vertext Animation, Window3D

Vous pouvez bien sûr créer vos propres bibliothèques en langage C ou en assembleur, ou encore directement en PureBasic grâce à un utilitaire ("Tailbite") développé par un utilisateur de PureBasic.

Exemples

Cette simple ligne de code PureBasic créera un exécutable autonome minuscule de 4,50 ko (4 608 octets) pour Windows.

MessageRequester("", "Hello World")

Ce qui suit est un court exemple d'un programme fonctionnel avec PureBasic. La somme des nombres saisis par l'utilisateur est affichée automatiquement. Ce programme montre comment créer une fenêtre, des gadgets supplémentaires, ainsi que la gestion des événements et un calcul mathématique simple. Ce code compile dans un exécutable autonome de 14,5 ko (14 848 octets) qui peut être utilisé sur n'importe quel PC équipé de Windows 95 au serveur 2003 de Windows en passant par Windows XP, Vista et Windows 7.

 OpenWindow(1, 300, 300, 100, 100, "Title")
   StringGadget(1, 10, 10, 50, 20, "")
   StringGadget(2, 10, 40, 50, 20, "")
   TextGadget(3, 80, 30, 50, 20, "")
   Repeat
     Event = WaitWindowEvent()
     If Event = #PB_Event_Gadget
       FirstValue = Val(GetGadgetText(1))
       SecondValue = Val(GetGadgetText(2))
       SetGadgetText(3, Str(FirstValue + SecondValue))
     EndIf
   Until Event = #PB_Event_CloseWindow

Outils

Moebius

Moebius est un outil open source créé par Progi1984 qui permet de créer à partir de code Purebasic une userlib, sous Windows et Linux.

Tailbite

Tailbite est un outil créé par ElChoni qui permet de créer à partir de code Purebasic une userlib, uniquement sous Windows.

Visual designer

L'éditeur visuel de PureBasic (Form Designer) (concepteur d'interfaces graphiques utilisateur) a été créé pour le langage de programmation PureBasic et est bien sûr développé en PureBasic. Le Visual Designer a été remplacé en 2013 par une nouvelle version et nommé Form Designer.

MADLib

MADLib est une bibliothèque (UserLib) de fonctions, pour PureBasic. Elle a été compilée par l'utilitaire Tailbite, développé par MAD.

Références

  1. 1 2 « TailBite download page » [archive du ], sur inicia.es via Internet Archive.
  2. ↑ (en) « Progi1984/Moebius », sur GitHub (consulté le ).
  3. ↑ (en) « MadLib for PureBasic », sur SourceForge (consulté le ).

Liens externes