📑 Table of Contents
wxBasic
DeveloperDavid Cuny
Initial release2002; 24 years ago (2002)
Stable release
3.2.2.51 / July 26, 2024; 22 months ago (2024-07-26)[1]
Operating systemCross-platform
LicenseGNU Lesser General Public License
Websitewxbasic.net

wxBasic is a free software / open-source software, cross-platform BASIC interpreter. As it is based on syntax of the BASIC language, it is designed to be simple to learn and understand, and allow novice programmers to write applications for graphical environments like Windows and Linux with minimal effort. wxBasic is a bytecode based language, like Perl or Java. It is licensed under the LGPL, so proprietary software's source code can be linked against it.

It can create stand-alone executables by binding together source code with the interpreter. In contrast with executables created by similar commercial programs like Visual Basic, executables produced by wxBasic do not require any external DLL file, resource file, or installer to run. The executable is distributed alone and can be run immediately by end-users. As with programs written in any interpreted language, wxBasic programs may also be run straight from the source code on any platform, if wxBasic is present.

wxBasic is written primarily in C, with some C++ linking it to the wxWidgets library. wxWidgets supplies the cross-platform features. It runs on Microsoft Windows using native controls, and on Linux and macOS using the GTK+ library.[2] wxBasic is also the basis for the SdlBasic project.

Example

edit

The following program implements a text viewer:

  ' from https://wxbasic.sourceforge.net/phpBB2/viewtopic.php?t=554
  ' Simple Text Viewer written in wxBasic
  dim AppName = "Text Viewer"
  fileName = ""

  ' Main window
  dim frame = new wxFrame( Nothing, -1, AppName & " - Untitled Document" )
  ' Text edit control
  dim control = new wxTextCtrl( frame, -1, "", wxPoint( 0, 0 ),
  wxSize( 100, 100 ), wxTE_MULTILINE | wxTE_READONLY | wxTE_RICH)

  ' Status bar - The one at the bottom of the window
  dim status = frame.CreateStatusBar( 1 )
  frame.SetStatusText("Ready")
  '
  ' Dialog used for Open
  dim fileDialog = new wxFileDialog( frame )
  '
  ' add menubar to the frame
  dim mBar = new wxMenuBar()
  frame.SetMenuBar(mBar)
  '
  ' build the "File" dropdown menu
  dim mFile = new wxMenu()
  mBar.Append(mFile, "&File")

  ' make it
  '
  mFile.Append( wxID_OPEN, "&Open...", "Loads an existing file from disk" )
  '
  mFile.AppendSeparator()
  mFile.Append( wxID_EXIT, "E&xit\tAlt-X", "Exit Application" )

  Sub onFileOpen( event )
     fileDialog.SetMessage("Open File")
     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" )

  ' build the "Help" dropdown menu
  dim mHelp = new wxMenu()
  mBar.Append(mHelp, "&Help")
  mHelp.Append( wxID_HELP, "&About\tF1", "About this program" )
  '
  Sub onHelpAbout( event )
    Dim msg = "Text View allows any text file\n" &
    "to be viewed regardless of its extension.\n" &
    "If the file being opened isn't a text file\n" &
    "then it won't be displayed. There will be a\n" &
    "little garbage shown and that's all."
    wxMessageBox( msg, "About Text View", wxOK + wxICON_INFORMATION, frame )
  End Sub
  Connect( frame, wxID_HELP, wxEVT_COMMAND_MENU_SELECTED, "onHelpAbout" )

  frame.Show(True)

References

edit
  1. ^ "News, August 2024". wxbasic.net. Retrieved 15 February 2026.
  2. ^ "Download". wxbasic.net. Retrieved 25 September 2017.
edit

📚 Artikel Terkait di Wikipedia

Linux

procedural form from QB64, PureBasic, Yabasic, GLBasic, Basic4GL, XBasic, wxBasic, SdlBasic, and Basic-256, and in object oriented through Gambas, FreeBASIC

SdlBasic

interpreter for BASIC, using the SDL libraries. Its interpreter core is based on wxBasic. The interpreter can be very useful for people who are familiar with ANSI-BASIC

List of language bindings for wxWidgets

website". Archived from the original on 2010-09-13. Retrieved 2011-04-12. "wxBasic news". Retrieved 2011-04-12. "wxmax: BlitzMax binding for wxWidgets". Retrieved

Code::Blocks

RAD CodeLite Padre HiAsm Proprietary software wxDesigner DialogBlocks Libraries wxSQLite3 Bindings wxPython wxPerl wxPHP wxBasic wxHaskell GLUEscript

Generational list of programming languages

PureBasic REALbasic (Xojo) TI-BASIC True BASIC Turbo Basic PowerBASIC wxBasic SdlBasic RCBasic XBasic YaBasic MS-DOS Batch files Winbatch CLIST IBM Control

BASIC

yabasic, Bywater BASIC, nuBasic, MyBasic, Logic Basic, Liberty BASIC, and wxBasic emerged. FutureBASIC and Chipmunk Basic meanwhile targeted the Apple Macintosh

WxWidgets

RAD CodeLite Padre HiAsm Proprietary software wxDesigner DialogBlocks Libraries wxSQLite3 Bindings wxPython wxPerl wxPHP wxBasic wxHaskell GLUEscript

XML Resource

RAD CodeLite Padre HiAsm Proprietary software wxDesigner DialogBlocks Libraries wxSQLite3 Bindings wxPython wxPerl wxPHP wxBasic wxHaskell GLUEscript