![]() |
maxreason@gmail.com | max reason |
XBasic web-pages
XBasic
overview - features, capabilities, screenshots.
XBasic newsbits - the latest news and views of XBasic.
XBasic freeware - download & installation instructions.
XBasic questions - frequently asked questions -- FAQs.
XBasic quick-start - begin programming XBasic quickly.
QuickBasic to XBasic - translate QuickBasic to XBasic.
QuickBasic keywords - QuickBasic to XBasic keywords.
XBasic documentation - complete HTML
documentation online.
XBasic keywords/operators/scopes/types - language reference.
XBasic projects - enhance & extend applications &
documentation.
XBasic e-links - other web-sites with XBasic samples and
information.
XBasic forum - mail-list forum for all
XBasic programmers - questions, answers, advice, samples, etc.
comments, suggestions, corrections
XBasic projects
XBasic has been a complete and working application for many years. The XBasic projects described on this web-page are designed to enhance & extend XBasic and its documentation for everyone.
The alt.lang.basic.compiler newsgroup has few messages, little traffic, and seems like the most relevant newsgroup to discuss XBasic. Therefore I suggest XBasic programmers hang out there.
Please volunteer to perform projects - but only if you can and will do good work.
The main project categories are programming and documentation.
Feel free to suggest additional projects.
XBasic programming projects
The main XBasic programming project categories are enhancements, extensions, applications.
![]() |
An enhancement is any addition or improvement that requires changing the XBasic source code. | |
![]() |
An extension is any addition or improvement that can be developed as function libraries, etc. | |
![]() |
An application is any software that does not enhance/extend/augment XBasic programming. |
When important new features or capabilities cannot effectively or efficiently be created and maintained as independent function libraries or other components, the ability to modify the original XBasic source code may be necessary. These projects are the most difficult to manage and are more likely to create bugs that impact every XBasic programmer until they are identified and exterminated.
QuickBasic
front-end
Add the ability to load and run QuickBasic programs in the XBasic program development
environment. Though this project requires changes to the XBasic source code, the
vast majority of the work would be done by a separate function library that translates
QuickBasic source into XBasic source. Presumably the function library would be
written in XBasic.
next
enhancement project summary
Add the next enhancement project summary here.
XBasic extensions
Most features and capabilities can be implemented in XBasic function libraries or C function libraries. Since XBasic functions are C compatible, all that's needed to access some C function libraries are files that declare the functions in the C library in XBasic form.
QuickBasic
to XBasic translator
XBasic program qbtoxb.x translates QuickBasic source-code
into XBasic source-code. Work on this program is barely started, so skilled and
dedicated volunteers are encouraged to help. This program is similar to a compiler
front-end - it parses QuickBasic source text into symbols and language elements, creates
tokens to represent them, puts them in token arrays that correspond to source program
lines, and deparses the tokens back to source-code to confirm faithful reproduction of the
original source-code text. To download the current version of this work-in-progress
program, click qbtoxb.zip. This zip-file contains XBasic
program qbtoxb.x plus a work-in-progress translation test
program qbasic.bas that should someday contain all QuickBasic
keywords, language-elements and language-structures.
improve
the GIF to BMP and BMP to GIF utilities
XBasic program gif.x contains functions that convert GIF 89a
images into BMP images, and vice-versa. This program can be run in the development
environment for testing, enhancement and learning, but will normally be compiled and
linked into a .DLL function library so any XBasic program can call its functions.
The companion gifview.x program is a slight modification of
gif.x that displays all GIF images in \xb\xxx. Furthermore, you can make the
conversion functions print GIF format information as it processes the image by removing
the
DirectDraw
and Direct3D function libraries
Make a function library to interface to the DirectDraw library to support super-high-speed
graphics, animation, and maybe even - ehhh - games? :-)
next
project idea goes here
Add the next extension project summary here.
Well written XBasic applications can be valuable to others. Some people might be able to operate your application as you wrote it, while others may only need to modify it or extract pieces. Furthermore, every well written XBasic application is a great example for programmers learning XBasic.
orbital
computation and display
This program would know the location/orbit/mass of most solar-system objects, and maybe
nearby stars. The program would calculate and track these objects and potential
spacecraft, and display their locations from any fixed or moving viewpoint during any
time-interval.
next
application project summary
Add the next application project summary here.
XBasic is extensively described in several technical documents. The existing documentation was written in 1988 to 1992, and barely touched since then. Though a few reference tables were extracted from the documentation for this web-site, almost all documentation remains in Microsoft Word 97 format only. Therfore the most important documentation projects are converting existing XBasic documentation into HTML web-pages so everyone with internet access can read, browse and refer to them conveniently. Thorough hyperlinks throughout will make these documents much more valuable than printed manuals.
XBasic
introduction - see \xb\doc\intro.doc
This documentation briefly describes every aspect of the XBasic program development
environment, including the fundamental XBasic windows, commands and menus. This
document briefly explains how to operate the program development environment and
accomplish various tasks. intro.doc .
XBasic
programming language - see \xb\doc\language.doc
This documentation describes the XBasic programming language. It covers topics like
parsing, scopes, data-types, variables, operators, statements, intrinsics, functions, etc.
XBasic
GraphicsDesigner function library - see \xb\doc\graphics.doc
This documentation describes the GraphicsDesigner function library. Almost all
XBasic programs draw graphics exclusively by calling functions in the GraphicsDesigner
function library.
XBasic
GuiDesigner programmer guide - see \xb\doc\guiguide.doc
This documentation describes the GuiDesigner design-tool and function library, and
explains in detail how GuiDesigner programs work.
XBasic
GuiDesigner programmer reference - see \xb\doc\guirefer.doc
This documentation describes the GuiDesigner function library functions one-by-one.
XBasic
GuiDesigner grids - see \xb\doc\guigrids.doc
This documentation describes the built-in GuiDesigner grids --- called
"controls" and "widgets" by others. This documentation also
explains how you can create and control simple GUIs in only a few lines of code with
GuiDesigner "convenience functions".
XBasic
function libraries - see \xb\doc\library.doc
This documentation describes the XBasic standard library, math library, complex number
library, etc.
XBasic
advanced topics - see \xb\doc\advanced.doc
This documentation describes various advanced topics, including how
to create .EXE and .DLL executables, how to add your own
grids to the GuiDesigner toolkit, etc.
XBasic
portability guide - see \xb\doc\portable.doc
This documentation explains how to assure portability between Windows XBasic and Linux
XBasic.
XBasic
glossary - see \xb\doc\glossary.doc
This documentation explains the meaning of XBasic-specific and XBasic-related terms.
QuickBasic
keywords + XBasic equivalents - see qbkeywords
This documentation explains how to translate QuickBasic source-code to XBasic.
QuickBasic
to XBasic translation - see qbtoxb
This documentation explains how to translate QuickBasic source-code to XBasic.
XBasic
keywords - see xbkeywords
This documentation explains how to translate QuickBasic source-code to XBasic.
next
documentation project summary
Add the next documentation project summary here.