Alpha Five V8



Improvements from Alpha Five V8.


Available in the Alpha Five Version 8 Basic, Professional, and Enterprise editions.

  • User Features

  • Action Scripting

  • General Purpose Functions

  • General Purpose Methods

  • Addressing and Tracking Functions

  • Security Functions

  • Classes

  • Xdialog

  • Xdialog Commands

Available in the Alpha Five Version 8 Basic and Professional editions.

  • Web Publishing

  • Grid Component Builder and Dialog Component Builder Features

  • Web Application Security Framework

  • Web Application Functions

Available in the Alpha Five Version 8 Enterprise Edition.

  • SQL Database Connectivity

  • New AlphaDAO Objects

  • New SQL Helper Functions

SQL Database Connectivity

The following features are available in the Alpha Five Version 8 Enterprise Edition.

  • Database Explorer 

    The Database Explorer provides a quick way to examine the properties of the tables and sets in your database. The Local Tables section lists the tables (including passive-link tables) and sets in your database. Each table contains a link to each of its layouts. When you expand a table, you will see a list of the table's fields. The entries will contain the field type and length of each field.

  • Alpha Database Access Objects (AlphaDAO) 

    A family of objects, each with properties and methods, that make it possible to read from and write to SQL back-end databases.

  • Supported Database Products 

    AlphaDAO and Portable SQL provide easy Xbasic programming access to a large number of popular database products. The list includes:

    • FlexQuarters QODBC

    • IBM DB2

    • InterSystems Cache

    • Microsoft Access

    • Microsoft Excel

    • Microsoft SQL Server

    • MySQL

    • Oracle XE, 9i, 10g

    • Oracle Lite (9i, 10g)

    • Quantel

    • Sybase Adaptive Server Enterprise

    • Sybase SQLAnywhere

  • Portable SQL 

    While the SQL syntaxes used by leading vendors are similar, they have some some critical practical differences. Functions, object names, and literal values are implemented and formatted inconsistently. Complex behavior such as selecting only the first 100 rows often requires equally complex (and database specific) syntax. Alpha Five has implemented a vendor neutral SQL syntax that is automatically portable across databases.

    • More than fifty functions that are automatically converted to the appropriate function calls for the target database.

    • Object names are automatically formatted for the target database.

    • Literal values are transformed to the target database syntax.

    • Named arguments in queries enhance the readability of queries.

    • SELECT FIRST syntax is automatically translated to the appropriate (and sometimes complicated) construct on target databases.

  • As you would expect, Portable SQL is optional. If you need to access the native capabilities of a specific database, simply code your SQL using native syntax and it will be passed directly to the underlying database. Portable SQL also supports named arguments, including stored procedure calls, in native syntax.

  • Passive-Link Tables 

    A "Passive-Link" table is a native Alpha Five table (i.e. a .dbf table) that was created by importing data from a remote database (e.g. Access, MySQL, SQL Server, Oracle, Excel, etc.). At any time, you can right-click on the table and select the 'Refresh' command and Alpha Five will update the data in the table by re-querying the remote database. To create a new Passive-Link table, right click on the white space in the Tables/Set tab. To refresh an existing Passive-Link table, right click on the table and select Utilities/Refresh data in Passive-Link table.

  • Create SQL Connection String Dialog 

    The Create SQL Connection String dialog makes it easy to create connection strings for SQL back-end database. You can then save the connection strings as Named Connection Strings, which are easily reused.

  • SQL Genie 

    The SQL Genie makes it easy to create, test, and save SQL statements that will retrieve data from SQL back-end databases.

  • SQL Command Window 

    The SQL Command Window provides a way to create and test SQL statements that will retrieve data from SQL back-end databases.

  • SQL History Dialog 

    The SQL History dialog provides a way to revert to any previous version of a SQL statement created in your current session in the SQL Genie or SQL Command Window.

  • Working with SQL Databases 

    This new tutorial provides an introduction to connecting Alpha Five to SQL back-end databases.

Web Publishing

These new component builders and utilities are available in the Alpha Five Version 8 Professional Edition.

  • Login Component Builder 

    The new Login Component Builder simplifies the process of building login dialog components and enforcing login policies. See Web Application Security Framework. This picture shows three different login component layouts.

    • images/WP_Login_Component_Styles.gif
  • Maintenance Component Builder 

    The Maintenance Builder creates components that will pack (remove deleted files) and re-index Alpha Five tables.

  • New HTML Editor 

    Now allows you to open multiple documents in a single editor, with each document being displayed in its own tab. Previously, you could edit multiple documents, but each document opened a new instance of the HTML editor. The tabbed editor is much quicker and more convenient than multiple editors.

    • Format menu has 'Edit Style...' menu choice that allows you to edit embedded or linked CSS styles using the new CSS Style Builder.

    • Format menu allows you to attach CSS style sheet files to the current document.

    • Revert to Saved command

  • New Cascading Style Sheet Editor 

    Powerful new builder for editing and creating CSS style sheets.

    • Two way editing - edit using visual builder, or edit CSS definition directly

    • Import CSS from one CSS file into another - allows you to import the definition of a CSS selector into a corresponding selector in the current file. After an import, the number of CSS selectors in the current CSS file is unchanged. Contrast with Merge.

    • Merge CSS from one file into current CSS file. After merge, the number of CSS selectors in the current file is equal to the number of selectors in the external file plus the number of selectors in the current file (minus duplicate CSS selector names)

    • Edit Multiple CSS Selectors at once. Options include:

    • Powerful search and replace feature.

  • New Color Picker 

    The new Color Picker makes it easy to assemble custom palettes of relative colors. Given one or more base colors, the Color Picker will assemble a palette by varying one of the following:

    • "Luminance"

    • "Saturation"

    • "Cooler"

    • "Warmer"

Grid Component Builder and Dialog Component Builder Features

These new Grid Component Builder and Dialog Component Builder features are available in the Alpha Five Version 8 Professional Edition.

  • Arguments 

    Arguments are a major new feature that allow you to more easily define filter expressions that reference variables, or cookies. Previously, if you wanted to reference a page, session or cookie variable in a filter expression, you needed to use Xbasic to override the settings for the component in the .A5W page that loaded the component. Now, you can define an argument and specify where that argument gets its value.

  • Selected Fields Show in Bold 

    The Grid Component Builder now shows selected fields in bold. This makes it easy when you have a lot of fields in a table to see which fields have been selected, and which have not been placed on the Grid.

  • Icons for Control Types 

    The list of selected fields/controls is now shown with an icon representing the type of control that will be used to display the field. This makes it very easy to see, for example, that the Sales Rep field in a grid is being displayed in a Checkbox control.

  • Multi-Column Layouts 

    When you define a Dialog Component and the Detail parts of a Grid Component, you can now specify how many columns to use for the layout. Previously, Alpha Five automatically assumed a two column layout (one column for labels, and another for controls). Formatting options include:

    • Breaks to force controls to the next row

    • Column spanning to allow controls to occupy more than one column

    • Column spacers to move controls to the next column or row

    • Row spacers to insert blank lines

    • Merge commands to groups multiple controls

    • images/MK_New_Layout_Options.gif

Web Application Security Framework

The following features are available in the Alpha Five Version 8 Enterprise Edition. The Web Application Security Framework provides these high level capabilities.

  • Architecture 

    The developer does not need to write any code or place any code on pages. You set your security parameters with the Security Settings , Page Security Assignment , and Login Component genies, then the Application Server tests every page and file request and handles all of the security internally. You may enable or disable security with a single setting in the Application Server Control Panel. Security settings are unique to each project.

  • Login 

    Login is an essential first step to providing any type of application security. Login identifies the user and requires a user name. Login may optionally also require a password. The new Login Component Builder simplifies the process of building login dialog components and enforcing login policies. Important password options include:

    • You may reuse existing tables to define user login permissions.

    • You may set rules for validating acceptable login names.

    • You may define when logins expire.

    • You may lock out a user after N failed login attempts.

    • You may log login activity.

    • You may set rules for recovery of lost user names.

    • When login fails, you may redirect all users to a specific page.

    • When login succeeds, you may redirect all users to the same page or each user to a specific page.

    • You may set rules for recovery of lost login names.

  • Passwords 

    Passwords are an optional part of the login process. Important password options include:

    • You may encrypt passwords.

    • You may set rules for validating acceptable passwords.

    • Passwords may expire after a specified period of time.

    • You may prevent passwords from being reused.

    • You may set rules for recovery of lost passwords.

  • Groups 

    A user may belong to one or more groups. You may grant access to a page to one or more groups. Whether or not a user belongs to a group depends on whether it is important to selectively provide access to specific pages.

  • Components 

    The Login Component Builder provides support for nearly every login option.

    • The Login View presents the familiar request for user ID and, optionally, password.

    • The optional Change Password View allows a user to change a password.

    • The optional Recover Login Information allows a user to make a request for user ID and/ or password.

    • Each view may have its own style sheet.

    • All views may have Freeform designs.

    • You may customize all text used in the login component to support non-English language applications.

  • Pages 

    There are many aspects of page security.

    • You may place the pages of your web application into one of three categories: access not defined, login not required, and login required.

    • If a page requires login, you may specify the groups of users which are allowed to access the page.

  • Utilities 

    Alpha Five provides the Enter / Edit Web Users dialog that you may use to enter and edit all user security information. In addition, the Configure Desktop Web Users Form dialog allows you to customize all text used in the Enter / Edit Web Users dialog to support non-English language applications.

  • Functions 

    There is a large set of web application functions that will enable the developer to enter, edit, and validate web users from page scripts.

  • Other Administrative Features 

    The web application administrator may also lock out any user by user Id or unlock any user who is locked out.

User Features

The following features are available in the Alpha Five Version 8 Basic Edition.

  • Look 

    Alpha Five Version 8 introduces a new look for its layouts. Most notable are the new button, control, toolbar, and window styles used throughout Alpha Five.

  • Window Bar 

    The Window Bar now contains tabs for each of the open windows.

  • Dialogs for selecting colors 

    Alpha Five Version 8 introduces a new dialogs for selecting and defining custom colors.

  • Toolbars 

    The Version 8 toolbars contain a totally new set of icons, plus a variety of gradient fill backgrounds.

  • Themes 

    If you modify your Windows XP theme colors, Alpha Five will use those colors. For example, here are Windows Classic, Blue, Olive, and Silver themes.

  • Gradient Fills 

    Version 8 introduces a large number of horizontal, vertical, and radial gradient fills and a new fill picker that allows you to quickly view your options and make a selection. You may create a gradient fill with any 2 colors.

  • Border Style and Edge Shape Pickers 

    Most controls that you place on a layout may have border. The new Line Style and Edge Shape pickers make it easy to view the alternative border styles and make a selection.

    • images/UG_Line_Styles.gif
      Line Style Picker
    • images/UG_Edge_Shapes.gif
      Edge Shape Picker
  • Browse Buttons 

    Alpha Five Version 8 allows you to embed buttons (and their attached Action or Xbasic scripts). This picture shows a browse with two buttons with constant text. You may place one or more buttons into any column of a browse. The button style may contain any combination of:

    • static text

    • graphic

    • dynamic text (computed from data in the current row)

  • Each column of the browse has a .displayequation property. This property defines the button format. Here are three examples.

    • Dynamic Text 

      If the company field is not blank, the button text displays "Edit " plus company name. It the company name is blank, no button appears. Note the custom images in the upper left corner and used for the row picker.

    • Static and Dynamic Text 

      This example shows a combination of static and dynamic text. It displays the company name if it is not blank.

    • Text and Graphic 

      This example shows a combination of static text and icon graphics.

    • The icons and buttons have a OnFlyOver style is used for the buttons. They do not look like buttons until you put your mouse over them.

  • Dockable Panels 

    Alpha Five Version 8 introduces dockable panels. Dockable panels appear when you open different editors. Initially, a stack of dockable panels for an editor appear at the right edge of the Alpha Five window. A user may:

    • reposition the stack to the left edge of the window

    • selectively move any panel to the top of the stack

    • tile any number of panels vertically

    • separate any number of panels from the stack and use them as a floating toolbars

    • collapse the panels so that they only appear when you mouse-over their labels

  • This picture shows four panels separated into four floating toolbars.

  • This picture shows four panels tiled vertically. Picture

  • This picture shows four panels shown above but collapsed to the right edge of the window.

  • Browse Banding 

    Now, you can specify the background color and style of 2 to 4 groups of browse rows. This feature, named Green Banding is illustrated below. Each group can be any number of rows and have any fill style. This browse has alternate bands of light green and white.

    • images/UG_Greenband_1.gif
    • This browse has two bands of gradient color and one band of white.

  • Query Genie and Query By Expression 

    When you run a query and there is already a query in place, Alpha Five currently gives you the choice of searching in all records, or in the currently selected records. A new option will allow you to extend the current selection of records. So, for example, if you have run a search for "State = 'MA'", and you now search for "State = 'NY'", and you chose the "Extend current selection of records" option, the resulting selection of records will have customers in both 'MA' and 'NY'.

  • Email Support for SSL and TLS 

    V8 can now send mail through SSL (Secure Sockets Layer) or TLS (Transport Layer Security). This feature is important because many SMTP servers require SSL or TLS connection when connecting remotely.

Action Scripting


  • Alias Image Names 

    Basic. You can define aliases for image names. This is useful because you can change the images used in your code without having to change the code itself. You just change the alias definitions. For example:

  • Property Grid Style Xdialog 

    Basic. The property grid style Xdialog is a second-generation version of the property-list style Xdialog, which provides a better way to selectively present and define the values of multiple variables.

  • Tree Control X Directive 

    Basic. Allows you dynamically populate branches of a tree control with a function call.

Xdialog Commands

The following commands are available in the Alpha Five Version 8 Basic Edition.


    Draws a box around one or more cells of the Xdialog grid. The frame color is the standard blue used by Windows XP.

  • {COLOR} 

    Allows you to set the foreground and background color for the following controls on an Xdialog: Textbox, Frame, Line, Radio Buttons, Checkboxes and Buttons. The background color setting is only honored for textbox controls.


    A variant of the {condition} command, which is used to control whether portions of an Xdialog box are displayed or not. The {condition_begin} command is useful when you have nested conditions.


    Removes the most recently added condition that was added using {condition_begin}.

  • {CURSOR} 

    Allows you to specify a bitmap to use for the cursor when the mouse is over a control. Applies to controls for which a flyover format string has been defined.


    Allows you to create buttons that look like hyperlinks.

  • {EXPAND} 

    Displays a message while waiting for a function to populate the branch of a tree control.

  • {ImageViewer} 

    The {ImageViewer} control allows you to load image from files on disk and view them in a window on an Xdialog. The control has three viewing modes for images: Absolute, Best Fit and Stretch. The control will tell you what the size is of the loaded image.

  • {On_Clipboard_Change} 

    When the contents of the clipboard changes, the specified event will fire.



  • {TABBAND} 

    Inserts a line of tabs into an Xdialog control. Each tab will display a different page.

  • {U} 

    Underlines the next character in owner draw strings.



AlphaDAO Objects

The Alpha Five Enterprise edition provides Xbasic program access to SQL databases such as Microsoft SQL Server, Oracle, MySQL as well as Microsoft Access. This functionality extends the familiar Alpha Five database features that previously supported only .DBF files.

  • SQL::Argument 

    This object defines a single argument to be passed to a SQL function in a SQL::Arguments collection.

  • SQL::Arguments 

    A collection of arguments to be passed to a SQL function.

  • SQL::CallResult 

    This object provides a more complete description of a function call on an object in the SQL name space.

  • SQL::Connection 

    Each instance of SQL::Connection represents a potential or active database session.

  • SQL::DataTypeInfo 

    A single column in a table or result set. The description includes the name, size, precision, Alpha Five type, the native type, and an intermediate type (see SQL::IntermediateType ) which contains more precise type information. This intermediate type makes it possible to recreate a table using the closest possible matching type in the target table.

  • SQL::IndexColumnInfo 

    A description of one of the columns in an index. A SQL::IndexInfo contains one or more columns that make up the primary key, the foreign key, of a unique or non-unique index.

  • SQL::IndexInfo 

    A description of an index on a SQL table. Each table in a SQL database has one or more relationships, constraints or indexes. The primary key, foreign keys, and unique and non-unique indexes are each described by a SQL::IndexInfo instance. The SQL::TableInfo object contains a list of those indexes.

  • SQL::ResultSet 

    A collection of rows returned from the execution of a query. When a SQL query returns one or more rows of data, you can use the SQL::ResultSet object to get the description of the result set and to navigate within the rows of the results to retrieve the data.

  • SQL::Row 

    The data returned by the SQL::ResultSet.NextRow() method.

  • SQL::Schema 

    A collection of SQL table definitions. SQL::Schema is a container for one or more SQL::TableInfo objects.

  • SQL::TableInfo 

    A fairly complete description of a SQL table, its columns, and its indexes. Many of the SQL functions either ask you to provide a SQL::TableInfo object, or will create one for you. Using this object, it is possible to retrieve a description of a table from one database and construct a copy of that table in the same or another database.


The following classes are available in the Alpha Five Version 8 Basic Edition.

  • ImageName 

    Useful when you want to create a logical image name and then map it to the physical image names defined in Alpha Five.

  • ImageResource 

    Useful when you want to create a logical image name and then map it to the physical image names defined in Alpha Five.

  • INET::Socket 

    Provides support for Internet reads and writes.

  • INET::SSLContext 

    Provides information about Server Certification in support of INET::SSLSocket methods.

  • INET::SSLSocket 

    Provides SSL support for Internet reads and writes.

General Purpose Methods

The following methods are available in the Alpha Five Version 8 Basic Edition.

General Purpose Functions

The following functions are available in the Alpha Five Version 8 Basic Edition.

  • *AT_MULTI() 

    Returns the position where one of a CR-LF delimited list of strings is found in another.

  • *ATC_MULTI() 

    Case insensitive version of *AT_Multi()


    Takes a CR-LF delimited strings of parent-child relationships, and creates a string that can be used by the tree control in Xdialog to display tree data.

  • A5_CSS_EDITOR() 

    Displays the CSS Editor dialog and allows you edit or create a cascading style sheet.

  • A5_DownLoadFile() 

    Downloads a file specified by a URL and saves it on the user's computer.

  • A5_RepairSetStructure() 

    Displays the Fix Table Name in Set dialog. This function allows you to fix table references in a set when the location of one or more tables in the set has changed.


    In Version 7 and earlier releases the A5_TOOLBAR_OPEN() function created global toolbars. In Version 8, by default A5_TOOLBAR_OPEN()creates local toolbars (meaning that Alpha Five will automatically hide the toolbar when the window from which they were launched loses focus). In order to make the toolbars global, you will have to use the optional Global_Flag argument in the A5_TOOLBAR_OPEN() function call.

  • A5_WildcardSelect() 

    Displays a dialog that accepts arguments and calls FILTER_STRING_SMATCH().

  • BlobCompare() 

    Indicates which of two blob variables is larger.

  • BlobEqual() 

    Indicates if two blob variables are identical.

  • CPUCount() 

    Returns the number of available CPUs in the computer.

  • Date_FirstDayOfMonth() 

    Given a date, returns the first day of its month.

  • Date_FirstDayOfPreviousMonth() 

    Given a date, returns the first day of the previous month.

  • Date_LastDayOfMonth() 

    Given a date, returns the last day of its month.

  • Date_LastDayOfPreviousMonth() 

    Given a date, returns the last day of the previous month.


    Replaces placeholders in a string with variable values.

  • PrimaryProcessor() 

    Returns the index of the primary processor.


    Rounds a number down to the specified number of decimal places.

  • SearchTables() 

    Displays the Search Selected Tables for Data Value dialog box. This dialog allows you to discover the names of the tables and of their fields that contain a specified value.

  • SetPrimaryProcessor() 

    Sets the processor that will run Alpha Five.

  • ShortTime_Extract() 

    Extracts the hours, minutes, or seconds from a short time value.

  • StrEqual() 

    Compares the values contained in two character strings, optionally ignoring whitespace characters and case.

  • TableFinder() 

    Displays the Table Finder dialog. Use this dialog to find tables that contain named fields.


    Returns the name of the calling dialog. This function is useful when an embedded dialog needs to know the name of the dialog that caused it to appear.

  • UI_GET_CHECK2() 

    Creates and displays a dialog box containing check box choices.


    Creates and displays a dialog box containing check box choices.

  • UniqueNameGet() 

    Takes a CR-LF delimited list of existing names and a suggested name and increments a counter at the end of the suggested name until it is unique.


    Creates a Windows shortcut in the specified location.


    Returns the path to the Windows special folder specified, such as the Desktop folder, the Start Menu folder, and the Personal Documents folder.

Security Functions

The following functions are available in the Alpha Five Version 8 Basic Edition.

Addressing and Tracking Functions

The following functions are available in the Alpha Five Version 8 Basic Edition.

Web Application Functions

The following features are available in the Alpha Five Version 8 Professional Edition.

SQL Helper Functions

The following features are available in the Alpha Five Version 8 Enterprise Edition.