wxBasic es un intérprete de BASIC multiplataforma , de software libre y de código abierto . Basado en la sintaxis del lenguaje BASIC, está diseñado para ser fácil de aprender y comprender, permitiendo a programadores principiantes escribir aplicaciones para entornos gráficos como Windows y Linux con mínimo esfuerzo. wxBasic es un lenguaje basado en bytecode , como Perl o Java . Cuenta con licencia LGPL , por lo que el código fuente de software propietario puede enlazarse con él.
Puede crear ejecutables independientes mediante la vinculación del código fuente con el intérprete . A diferencia de los ejecutables creados por programas comerciales similares como Visual Basic , los ejecutables producidos por wxBasic no requieren ningún archivo DLL externo , archivo de recursos ni instalador para ejecutarse. El ejecutable se distribuye de forma independiente y los usuarios finales pueden ejecutarlo inmediatamente . Al igual que con los programas escritos en cualquier lenguaje interpretado , los programas de wxBasic también pueden ejecutarse directamente desde el código fuente en cualquier plataforma, siempre que wxBasic esté presente.
wxBasic está escrito principalmente en C , con algo de C++ que lo enlaza con la biblioteca wxWidgets . wxWidgets proporciona las características multiplataforma. Se ejecuta en Microsoft Windows usando controles nativos, y en Linux y macOS usando la biblioteca GTK+ . [ 2 ] wxBasic también es la base del proyecto SdlBasic .
Ejemplo
El siguiente programa implementa un visor de texto:
' de https://wxbasic.sourceforge.net/phpBB2/viewtopic.php?t=554 ' Visor de texto simple escrito en wxBasic dim AppName = "Text Viewer" fileName = ""' Ventana principal dim frame = new wxFrame ( Nothing , - 1 , AppName & " - Documento sin título" ) ' Control de edición de texto dim control = new wxTextCtrl ( frame , - 1 , "" , wxPoint ( 0 , 0 ), wxSize ( 100 , 100 ), wxTE_MULTILINE | wxTE_READONLY | wxTE_RICH )' Barra de estado: la que está en la parte inferior de la ventana dim status = frame . CreateStatusBar ( 1 ) frame . SetStatusText ( "Listo" ) ' ' Diálogo utilizado para Abrir dim fileDialog = new wxFileDialog ( frame ) ' ' agregar barra de menú al marco dim mBar = new wxMenuBar () frame . SetMenuBar ( mBar ) ' ' construir el menú desplegable "Archivo" dim mFile = new wxMenu () mBar . Append ( mFile , "&Archivo" )' hazlo ' mFile . Append ( wxID_OPEN , "&Abrir..." , "Carga un archivo existente desde el disco" ) ' mFile . AppendSeparator () mFile . Append ( wxID_EXIT , "E&xit\tAlt-X" , "Salir de la aplicación" )Sub onFileOpen ( evento ) fileDialog . SetMessage ( "Abrir archivo" ) 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 ( evento ) frame . Close ( True ) End Sub ' Connect ( frame , wxID_EXIT , wxEVT_COMMAND_MENU_SELECTED , "onFileExit" )' Construir el menú desplegable "Ayuda" dim mHelp = new wxMenu () mBar . Append ( mHelp , "&Ayuda" ) mHelp . Append ( wxID_HELP , "&Acerca de\tF1" , "Acerca de este programa" ) ' Sub onHelpAbout ( event ) Dim msg = "Text View permite que cualquier archivo de texto\n" & "se vea independientemente de su extensión.\n" & "Si el archivo que se abre no es un archivo de texto\n" & "no se mostrará. Se mostrará un\n" & "un poco de basura y eso es todo." wxMessageBox ( msg , "Acerca de Text View" , wxOK + wxICON_INFORMATION , frame ) End Sub Connect ( frame , wxID_HELP , wxEVT_COMMAND_MENU_SELECTED , "onHelpAbout" )marco . Mostrar ( Verdadero )Referencias
Enlaces externos
- Sitio web de WxBasic
- WxBasic en SourceForge
- Foro de WxBasic
- Tutorial de WxBasic
- Intérpretes de código abierto y libre
- Bibliotecas informáticas gratuitas
- WxWidgets
- Software que utiliza wxWidgets
- Software que utiliza la Licencia Pública General Reducida de GNU.
- Intérpretes BÁSICOS