wxBasic es un software gratuito / software de código abierto , intérprete BASIC multiplataforma . Como se basa en la sintaxis del lenguaje BASIC, está diseñado para ser fácil de aprender y comprender, y permite a los programadores novatos escribir aplicaciones para entornos gráficos como Windows y Linux con el mínimo esfuerzo. wxBasic es un lenguaje basado en código de bytes , como Perl o Java . Tiene licencia LGPL , por lo que el código fuente del software propietario se puede vincular a él.
Puede crear ejecutables independientes uniendo el 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 o instalador para ejecutarse. El ejecutable se distribuye solo y los usuarios finales pueden ejecutarlo inmediatamente . Al igual que con los programas escritos en cualquier lenguaje interpretado , los programas wxBasic también se pueden ejecutar directamente desde el código fuente en cualquier plataforma, si wxBasic está presente.
wxBasic está escrito principalmente en C , y algo de C++ lo vincula a la biblioteca wxWidgets . wxWidgets proporciona funciones multiplataforma. Se ejecuta en Microsoft Windows usando controles nativos y en Linux y macOS usando la biblioteca GTK+ . [2] wxBasic es también la base del proyecto SdlBasic .
El siguiente programa implementa un visor de texto:
' de http://wxbasic.sourceforge.net/phpBB2/viewtopic.php?t=554 ' Visor de texto simple escrito en wxBasic dim AppName = "Visor de texto" fileName = "" ' Marco tenue de la ventana principal = nuevo wxFrame ( Nada , - 1 , AppName & " - Documento sin título " ) ' Control de edición de texto control tenue = nuevo wxTextCtrl ( marco , - 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. Estado atenuado = marco . CreateStatusBar ( 1 ) marco . SetStatusText ( "Ready" ) ' ' Diálogo utilizado para abrir dim fileDialog = new wxFileDialog ( frame ) ' ' agregar barra de menú al marco dim mBar = new wxMenuBar () frame . SetMenuBar ( mBar ) ' ' construye el menú desplegable "Archivo" dim mFile = new wxMenu () mBar . Agregar ( mFile , "&File" ) 'hazlo ' mFile . Append ( wxID_OPEN , "&Open..." , "Carga un archivo existente desde el disco" ) ' mFile . AppendSeparator () mFile . Agregar ( wxID_EXIT , "E&xit\tAlt-X" , "Salir de la aplicación" ) Sub onFileOpen ( evento ) fileDialog . SetMessage ( "Abrir archivo" ) fileDialog . SetStyle ( wxOPEN ) Si fileDialog . ShowModal () = wxID_OK Luego fileName = fileDialog . GetPath () Ext = fileDialog . Control GetFilename () . Control claro () . Marco LoadFile ( nombre de archivo ) . Marco SetTitle ( AppName & "-" & fileName ) . SetStatusText ( Ext ) End If End Sub ' Conectar ( frame , wxID_OPEN , wxEVT_COMMAND_MENU_SELECTED , "onFileOpen" ) Submarco onFileExit ( evento ) . _ Cerrar ( Verdadero ) Fin Sub ' Conectar ( marco , wxID_EXIT , wxEVT_COMMAND_MENU_SELECTED , "onFileExit" ) ' construye el menú desplegable "Ayuda" dim mHelp = new wxMenu () mBar . Agregue ( mHelp , "&Help" ) mHelp . Append ( wxID_HELP , "&About\tF1" , "Acerca de este programa" ) ' Sub onHelpAbout ( evento ) Dim msg = "La vista de texto permite ver cualquier archivo de texto\n" & "independientemente de su extensión.\n" & " Si el archivo que se abre no es un archivo de texto\n" & "entonces no se mostrará. Se mostrará\n" & "pequeña basura y eso es todo". wxMessageBox ( msg , "Acerca de la vista de texto" , wxOK + wxICON_INFORMATION , marco ) Fin de conexión secundaria ( marco , wxID_HELP , wxEVT_COMMAND_MENU_SELECTED , "onHelpAbout" ) marco . Mostrar ( verdadero )