Please enable JavaScript to view this site.

A-Shell Reference

Navigation: Development Topics

Input Mechanisms

Scroll Prev Top Next More

Written November 2025

A-Shell supports several mechanisms for obtaining keyboard, file or socket input, summarized below. Note that the apparent overlap between some of the mechanisms, particularly the single character XCALLs, is a historical artifact related to supporting third-party developers migrating to A-Shell. Also note due to the ease of creating external SBX subroutines, it's common for developers to create their own custom input routines that wrap one or more of the common routines below.

Mechanism

Data Source

ASB Category

Description

GUI* Support?

INPUT

Keyboard or File

Statement

Line, raw, fields, CSV

 

GETKEY()

Keyboard

Function

Single character, test for availability

 

TINKEY

Keyboard

Xcall

Single character if available 

 

ACCEPT

Keyboard

Xcall

Single character, wait

 

ACCEPN

Keyboard

Xcall

Same as ACCEPT but without echo

Yes

GET

Keyboard or File

Xcall

1 to n characters, timeout option

 

TCPX

Socket

Xcall

General TCP input/output

n/a

READ

Random or ISAM file

Statement

Record-oriented input

n/a

XREAD

Random or ISAM file

Statement

Variation of READ

n/a

GETBYT

File

Xcall

Simplified version of GET

 

INFLD

Keyboard

Xcall

Sophisticated single-field input; text or GUI

Yes

SBXINP

Keyboard

SBX

Extended GUI wrapper for INFLD

Yes

INMEMO

Keyboard

Xcall

Multi line text, pick lists, menus

Yes

XTEXT

Keyboard

Xcall

Embedded word processor (GUI)

Yes

XTREE

Keyboard

Xcall

Grid-style display and input 

Yes

AUI

Keyboard

Xcall

Edit box and other Windows controls 

Yes

GET, GET'xxx

ISAM-A file

Statement

Indexed record input

 

GETx

Keyboard

Xcall

Same as ACCEPN but with function key support

Yes

*GUI support indicates that the mechanism has explicit support for GUI—it is able to create a GUI control to perform the function. Note however that the single character input routines, particularly without echo, are perfectly functional in a GUI environment since they don't affect the display.