The PL/B language has proven itself to be unrivalled in screen, file, and character string manipulation. After being developed by Datapoint Corporation in 1972, it became the first language to support Local Area Networks (LAN) and multiple resource sharing when Datapoint pioneered the networking field with their introduction of ARCNET. The language is currently used by over 100,000 companies, including more than half of the Fortune 500 and most all U.S. governmental agencies. PL/B is further evolving through the work of the ANSI PL/B standards committee, of which SUNBELT is an active member.
SUNBELT, by including its DESIGNER Product along with PL/B for Windows, has made the Windows interface extremely easy to program. A screen can be designed in minutes rather than hours in other languages. And Sunbelt PL/B includes AAM and ISAM file support which other languages do not. The graphical objects are all dynamic and can be positioned at different screen locations based on variables set at program execution time. Many items can also be moved real-time if the 'drag item' feature is enabled. All of the power and flexibility of the PL/B language are combined in a true Windows graphical environment.
The Windows CE Pocket PC versions of the product are runtime only options that requires Visual PL/B to do the editing and compiling. Versions of Windows CE up to CE 6.5 are supported in most cases. Windows CE 7.0 is not supported because the hardware vendors can customize what features of Windows CE they will support, which makes our software usually not work.
General File I/O Support
- File Path Direction
- Long File Name support enhanced throughout entire system.
- Cross Platform Compatibility between Windows, DOS and UNIX systems.
- Multi, on-line directory access
- Files can be in common / global
- EXCLUSIVE, SHARE & READ file access
- FILEPI and PI 0 File Locking
- RECORD LOCKING, manual or automatic
- Text files written in the native o/s format
- Text files may have multiple AAM and/or ISAM key files
- Read any file forward or backward
- DELETE/UPDATE support for FILE variables
- Multiple Spool files
AFILE (AAM) File I/O Support
- Can PREP an AAM file
- Supports up to 95 keys
- Key fields may overlap and be anywhere
- Deleted record space can be reused
- Updates text and key file without destroying READKG pointers
- Updates actual AAM keys
IFILE (ISAM) File I/O Support
- Can PREP an ISAM file
- Keys can be up to 99 bytes long
- Supports variable length and space compressed
- Utilizes a self-balancing B-tree
- Partial and/or selective indexing
- Supports DUPlicate and NODUPlicate files
- Deleted record space can be reused
Other File I/O Support
- ERASE - Delete named file
- FILEIO - read, write, or update using a single instruction
- FPOSIT - DOS or RMS formats
- POSITEOF - Position file to End of File
- RENAME - Change name of file
- RMS file server support
- Conditional compile directives
- Define data anywhere in source
- Supports local variables/labels
- Supports 2Gig of UDA and 4Gig of code
- LIST and LISTEND
- RECORD and RECORDEND
- TCP/IP support through 'Sockets'
Variable Handling Features
- DIM sizes up to 64k bytes
- FORM sizes up to 32 digits
- INTEGER sizes up to 4 bytes
- Arrays up to 14 dimensions
- Array indices may be variables
- Supports indirect addressing
- PARSE verb to separate strings of data using ranges of values
- PARSEFNAME statement for parsing file names
- EXTEND has optional length field
- MATCH and SCAN have optional universal match character
- Ability to MATCH two RECORDs
- EDIT allows a negative field to be indicated with parentheses
- MOVE minus overpunched data
- MOVE supports INTEGERs
- CALC an equation using +, -, *, /, (, )
- Support for 3 Parameter math
- Complete set of mathematical functions including ARCCOS, ARCSIN, ARCTAN, COS, COSH, EXP, LOG, LOG10, POWER, SIN, SINH, SQRT, TAN, TANH
- INTEGER support in math & logical operations
- SINSERT inserts into another variable beginning at the formpointer
- SDELETE deletes the logical string, shifting the remainder left
- MOVELS moves a logical string into another logical string
- Signed Numeric option to SORT
- Offset option to SORT to aid in year 2000 problems
Program Control Features
- IF/ELSE/ENDIF structured code constructs
- LOOP/REPEAT structured code constructs
- BREAK to terminate LOOP/REPEAT
- CONTINUE to restart LOOP/REPEAT
- SWITCH/CASE/DEFAULT/ENDSWITCH constructs allowed up to 32 levels
- BRANCHF (function key BRANCH)
- PERFORM (indexed CALL)
- PERFORMF (function key PERFORM)
- SETFLAG manually set flags
- FSAVE save and restore flag settings
- Up to 55 function keys supported
- FKEY flag for generic trapping of all untested function keys
- ROLLOUT suspends execution, creating an image file for return
- EXECUTE suspends execution, performs requested task and returns
- BATCH supports true multi-tasking capabilities
- Supports ANSWER/MASTER concept
Screen I/O Features
- Ability to save and restore screen images
- Additional list controls (only a sample):
- *ABSON/*ABSOFF - Absolute keyin
- *CRTON - Read Data from the screen
- *COLOR - Set screen attributes
- *DPI - Set decimal point implied mode
- *EDIT - inline editing of a variable
- *INSERT - Insert mode for use with *EDIT
- *SAVESW - Save current subwindow image
- Windows printer selection dialog
- Supports Print spooling to devices
- PRINT PREVIEW
- Multipage TIFF support
- Graphical OBJECTS (partial list)
- BUTTON - Standard GUI push button
- MOVIE - Standard AVI (Windows) movie
- SLIDER - Slider bar
- MREGION - Mouse Region
- STATTEXT - Static Text, headings, fixed data, etc
- EDITTEXT - Editable text
- CHECKBOX - Gui checkbox
- CHECKGRP - Group of standard GUI check boxes
- FONT - Describes a font and it's associated properties, may be used when a FONT option is used in a CREATE instruction for other types of objects.
- PICT - Object variable for a standard picture resource or file
- MENU - Standard GUI drop-down menu in the main window menu bar
- SUBMENU - A menu attached to an item in another menu
- FLOATMENU - Floating menu (may be displayed anywhere)
- COLLECTION - Allows program defined grouping of objects for setting group properties conveniently
- GROUPBOX - Provides a region enclosed with a border that may have a title associated with it. The GROUPBOX may be overlaid with other objects to provide a custom box area.
- TABCONTROL - Horizontal tabs as in dividers in a filing cabinet
- COLOR - An object variable for a 24 bit color object. This object may be used in creating user objects
- HSCROLLBAR / VSCROLLBAR - Horizontal and Vertical Scroll Bars
- PROGRESS - Progress indicator
- TIMER - Event timer
- COMBOBOX - Standard GUI pop-up menu
- ICON - A standard GUI 32 by 32 pixel icon
- RADIO - Radio Button / RADIOGRP - Linked Radio Buttons
- DATALIST - A standard GUI scrolling list
- LINE - Line
- WINDOW - User definable windows
- DIALOG - A standard GUI dialog, the elements of which are other objects
- SHAPE - Ovals, Rectangles - may be treated like buttons
- LISTVIEW - Enhanced list with headings, moveable and sortable columns, etc.
- TREEVIEW - Enhanced list showing an hiearchial view of data
- Graphical Instructions (a sampling)
- ACTIVATE - "turn on" graphical objects.
- CREATE - define graphical objects.
- DEACTIVATE - "turn off" graphical objects.
- DESTROY instruction removes an item from the screen and releases the data structures.
- DRAGITEM real-time object positioning
- DISABLEITEM - prohibits events for a specified object. The item is still visible to the user, but is dimmed.
- ENABLEITEM - re-establish an object event.
- GETITEM - obtains the name or value of an object item.
- SETITEM - changes the name or value of an object item.
- WAITEVENT suspends program until a trapped event or an action from an object variable occurs.
- EVENTCHECK - checks for a trapped event in the event stack and dispatches that event if found.
- LINKHSCROLL - allows a horizontal scrollbar object to be linked to a PICT or WINDOW object.
- WINHIDE makes the main program window invisible
- WINSHOW makes the main program window visible