PureBasic — Wikipédia

Wiki Loves Monuments : photographiez un monument historique, aidez Wikipédia et gagnez !

# PureBasic

Un article de Wikipédia, l'encyclopédie libre.

Purebasic
Apparu en | 2000
Auteur | Fantaisie Software
Développeur | Fred Laboureur
Dernière version stable | 5.30 (le 23 Juillet 2014)
Paradigme | Impérative
Influencé par | BASIC
Système d'exploitation | Windows, Mac OS, Linux, (AmigaOS abandonnée et maintenant open source)
Licence | Logiciel propriétaire
Site web | http://www.purebasic.com

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

Plusieurs points le caractérisent :

- Simplicité : la syntaxe BASIC est simple à apprendre.
- Rapidité : les applications produites sont optimisées (taille réduite) et rapides.
- Portabilité : le code source est portable d'un système d'exploitation à l'autre. Il existe une version de PureBasic pour Linux, Windows, AmigaOS, et Mac OS.
- Sans dépendances logicielles : le langage ainsi que les applications ne nécessitent pas d'installation obligatoire, il est donc aisé de le transporter sur une clef USB, et d'exécuter les applications sous forme d'applications portables.
- Création de fichiers DLL : la création de DLL standard (Non ActiveX, utilisable dans n'importe quel autre langage) est aussi aisée que la création d'EXE.
- Le prix : les mises à niveau sont gratuites à vie.

PureBasic possède un jeu de commandes étendues (plus de 1400 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[ modifier | modifier le code]

### Caractéristiques[ modifier | modifier le code]

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 :

- Support de l'Unicode
- Support du Thread-Safe
- Support du 64-bit (Windows, Linux, MacOs)
- Support de différents processeurs (x86, x64, PowerPC)
  - 3DNOW/MMX/SSE/SSE2
- Support de l'assembleur inline (Assembleur de type FASM (Windows et Linux) et NASM (MacOs))
- Support de différents API
  - Windows : Win32
  - Linux : GTK+, OpenGL, SDL, LibC
  - MacOS : Carbon, Cocoa
  - Tous : LibXML
- Spécifique à Windows
  - Support des thèmes pour Windows XP
  - Support de l' UAC de Windows Vista

PureBasic permet de créer :

- Windows
  - Exécutables (.exe) de type GUI ou Console
  - DLLs (.dll)
  - UserLibraries via un outil externe : Tailbite ou Moebius
  - Import Libraries (.lib) via un outil externe
- Linux
  - Exécutables de type GUI ou Console
  - Shared Libraries (.so)
- MacOS
  - Exécutables de type GUI ou Console
  - Shared Libraries (.dylib)

### Bibliothèques[ modifier | modifier le code]

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

  Bibliothèques générales

    2D Drawing, CDAudio, Cipher, Clipboard, Console, Database, Date, Desktop, DragDrop, File, FileSystem, Font,
    Gadget, Help, Image, ImagePlugin, Library, Linked List, Math, Memory, Menu, Misc, Movie, Network,
    OnError, Packer, Preference, Process, Printer, Requester, Scintilla, Sort, StatusBar, String, SysTray, Thread,
    Toolbar, Window, XML, Regular Expression

  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[1].

### Exemples[ modifier | modifier le code]

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")

Et ce qui suit est un court mais parfait 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 ou 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 ev = #PB_Event_CloseWindow

## Outils[ modifier | modifier le code]

### Moebius[ modifier | modifier le code]

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

### Tailbite[ modifier | modifier le code]

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

### Visual designer[ modifier | modifier le code]

L'éditeur visuel de PureBasic (concepteur d'interfaces graphiques utilisateur) a été créé pour le langage de programmation PureBasic et est bien sûr développé en PureBasic.

### MADLib[ modifier | modifier le code]

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

## Références[ modifier | modifier le code]

1. ↑ a et b http://inicia.es/de/elchoni/TailBite/ [archive]
2. ↑ https://github.com/Progi1984/Moebius [archive]
3. ↑ http://sourceforge.net/projects/madlibforpb/ [archive]

## Annexes[ modifier | modifier le code]

### Liens externes[ modifier | modifier le code]

- PureBasic : site officiel
- Forum Officiel (English)
- PureArea.net : site indispensable
- Présentation de PureBasic
- Games-Creators portail français du jeu vidéo

- Portail de la programmation informatique

Ce document provient de « https://fr.wikipedia.org/w/index.php?title=PureBasic&oldid=117041064 ».
Catégories :

- Langage de programmation
- BASIC

| [+]
Catégories cachées :

- Portail:Programmation informatique/Articles liés
- Portail:Informatique/Articles liés