WxBasic
| wxBasic | |
|---|---|
| Developer | David Cuny |
| Initial release | 2002 |
| Stable release | 3.2.2.51
/ July 26, 2024[1] |
| Operating system | Cross-platform |
| License | GNU Lesser General Public License |
| Website | wxbasic |
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
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
- ^ "News, August 2024". wxbasic.net. Retrieved 15 February 2026.
- ^ "Download". wxbasic.net. Retrieved 25 September 2017.
External links
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.