- WxBasic
-
wxBasic ist eine Open source-Implementierung eines BASIC-Interpreters von David Cuny. Die damit erzeugten Programme laufen unter Windows und Linux. Der Interpreter ist im Betastadium. Man kann damit einzelne ausführbare Dateien erzeugen, die keine anderen Dateien zur Ausführung benötigen außer einer Laufzeitumgebung von wxBasic.
wxBasic ist in C geschrieben mit einer C++-Schicht um die wxWidgets-GUI-Bibliothek hinzuzubinden. wxBasic benutzt einen Bytecode, wie Perl, Java oder VB.net. Für die Auslieferung ist neben dem Programmtext lediglich die Weitergabe einer Runtime-EXE-Datei nötig, die kleiner als 1MB ist.
Ausführliches Beispiel
Anstelle detaillierter Angaben zu Syntax und GUI-Befehlsaufrufen mag ein ausführliches Beispiel illustrieren, wie lesbar der Code ist, der in wxBasic geschrieben worden ist. Es handelt sich um eine kleine Applikation, die dem Benutzer anbietet, über das Datei-Menu eine Datei zu öffnen. Der Text dieser Datei wird dann in einem Fenster dargestellt. Gezeigt wird also, wie ein Menu aufgebaut wird und wie die Menuanwahl mit Subroutinen verknüpft wird. Die Menuanwahl wird in der Statuszeile jeweils mit einem Hilfetext erläutert. Das Programm ist komplett und damit funktionsfähig.
' übernommen von http://wxbasic.sourceforge.net/phpBB2/viewtopic.php?t=554 ' Simple Text Viewer in wxBasic dim AppName = "Text Viewer" fileName = "" ' Hauptfenster; ein Frame ist ein Fenster. dim frame = new wxFrame( Nothing, -1, AppName & " - Ohne Titel" ) ' 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("Bereit") ' Dialog used for Open dim fileDialog = new wxFileDialog( frame ) ' Menuleiste zum Frame (=Fenster) hinzufügen dim mBar = new wxMenuBar() frame.SetMenuBar(mBar) ' 'Datei'-Menu erzeugen dim mFile = new wxMenu() mBar.Append(mFile, "&Datei") ' Eintrag hinzufügen mFile.Append( wxID_OPEN, "&Oeffnen...", "Eine bestehende Datei laden..." ) mFile.AppendSeparator() mFile.Append( wxID_EXIT, "B&eenden\tAlt-X", "Anwendung beenden" ) Sub onFileOpen( event ) fileDialog.SetMessage("Datei öffnen") 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" ) ' Hilfemenü erzeugen dim mHelp = new wxMenu() mBar.Append(mHelp, "&Hilfe") mHelp.Append( wxID_HELP, "&Über\tF1", "Über dieses Program" ) Sub onHelpAbout( event ) Dim msg = "Text View zeigt eine Text-Datei an \n" & "unabhängig davon welche Dateiendung sie aufweist.\n" & "Falls es sich nicht um eine Textdatei handelt," & "dann wird die Datei nicht angezeigt." wxMessageBox( msg, "Über Text View", wxOK + wxICON_INFORMATION, frame ) End Sub Connect( frame, wxID_HELP, wxEVT_COMMAND_MENU_SELECTED, "onHelpAbout" ) frame.Show(True)
Siehe auch
- sdlBasic
Weblinks
Kategorie:- Programmiersprache Basic
Wikimedia Foundation.