wxBasic

logiciel libre / open-source, multi-plateformes interpréteur BASIC

wxBasic est un logiciel libre / open-source, multi-plateformes interpréteur BASIC reposant sur wxWidgets[1]. Il permet de créer, dans une variante de Basic, des programmes à interface graphique portables sur Windows et Linux et est distribué selon les termes de la licence LGPL[2].

wxBasic peut créer des exécutables autonomes qui, contrairement à ceux créés en Visual Basic, ne requièrent aucun fichier DLL, fichier ressource ou programme d'installation pour fonctionner. L'exécutable distribué seul peut être lancé immédiatement par les utilisateurs.

wxBasic est tout d'abord écrit en C, ainsi qu'en C++ et repose sur la bibliothèque wxWidgets qui fournit aux programmes des caractéristiques multi-plateformes. Il fonctionne sous Windows en natif, et sous Linux en utilisant la bibliothèque GTK+. Un port sous Macintosh est en cours.

L'interpréteur BASIC de wxBasic sert également dans SdlBasic[3].

Exemple de code modifier

Pour vous donner une idée de la syntaxe, voici le code d'un Visualiseur de texte :

' de http://wxbasic.sourceforge.net/phpBB2/viewtopic.php?t=554
  ' Simple Visualiseur de texte écrit en WxBasic
  dim AppName = "Visualiseur de texte"
  fileName = "" 

  ' Fenêtre principale
  dim frame = new wxFrame( Nothing, -1, AppName & " - Document Sans Titre" )
  ' Controle : Editeur de texte
  dim control = new wxTextCtrl( frame, -1, "", wxPoint( 0, 0 ),
  wxSize( 100, 100 ), wxTE_MULTILINE | wxTE_READONLY | wxTE_RICH)

  ' Barre de Statut - La barre en bas de la fenêtre
  dim status = frame.CreateStatusBar( 1 )
  frame.SetStatusText("Prêt")
  '
  ' Dialogue pour l'ouverture d'un fichier
  dim fileDialog = new wxFileDialog( frame )
  '
  ' Ajouter une barre de menu
  dim mBar = new wxMenuBar()
  frame.SetMenuBar(mBar)
  '
  ' Mettre le menu Fichier dans la barre de menu
  dim mFile = new wxMenu()
  mBar.Append(mFile, "&Fichier")

  ' Mettre les sous menu de fichier
  '
  mFile.Append( wxID_OPEN, "&Ouvrir...", "Charger un fichier existant sur le disque" )
  '
  mFile.AppendSeparator()
  mFile.Append( wxID_EXIT, "Q&uitter\tAlt-F4", "Exit Application" )

  Sub onFileOpen( event )
     fileDialog.SetMessage("Ouvrir un fichier")
     fileDialog.SetStyle( wxOPEN )
     If fileDialog.ShowModal() = wxID_OK Then
       fileName = fileDialog.GetPath()
       Ext = fileDialog.GetFilename()
       control.Clear()
       control.LoadFile( fileName )
       frame.SetTitle( AppName & " - " & fileName )
       frame.SetStatusText(Ext)
    End If
  End Sub
  '
  Connect( frame, wxID_OPEN, wxEVT_COMMAND_MENU_SELECTED, "onFileOpen" )

  Sub onFileExit( event )
    frame.Close(True)
  End Sub
  '
  Connect( frame, wxID_EXIT, wxEVT_COMMAND_MENU_SELECTED, "onFileExit" )

  ' Mettre le menu Aide dans la barre de menu
  dim mHelp = new wxMenu()
  mBar.Append(mHelp, "&Aide")
  mHelp.Append( wxID_HELP, "&À propos de\tF1", "À propos de ce programme" )
  '
  Sub onHelpAbout( event )
    Dim msg = "Le visualiseur de texte permet de visualiser n'importe quel fichier texte indépendamment de son extension.\n" &
	"Si le fichier est déjà ouvert par un autre programme, alors il ne pourra pas être affiché."
    wxMessageBox( msg, "À propos du Visualiseur de Texte", wxOK + wxICON_INFORMATION, frame )
  End Sub
  Connect( frame, wxID_HELP, wxEVT_COMMAND_MENU_SELECTED, "onHelpAbout" )

  frame.Show(True)

Liens externes modifier

Références modifier

  1. Cross-platform GUI programming with wxWidgets par Stefan Csomor et Kevin Hock, édité par Prentice Hall PTR, 2006, (ISBN 0131473816), 9780131473812
  2. (en) « wxBasic : site officiel »
  3. Multimedia: Webster's Quotations, Facts and Phrases, publié par ICON Group International, Inc., 2008, (ISBN 0546662013), 9780546662016, page 377.