Bob is essentially correct, we inherited some conventions and inconsistencies from Q&A. We also developed a couple of our very own. In general, functions use the leading "@" and subroutines do not. In any case, here is a quick list of the exceptions (derived by a glance, so there may be a couple of misses):
Subroutines having a "@": ================= @msg( s as string ) @ditto( var ... as string ) @help( var fieldName as string ) @play( ... as string ) @color( var fieldName as string, textColor as int, backgrColor as int ) @save() @exit() @fedit() @macro( mname as string ) @deferredmacro( mname as string ) @msgBox( x as string, y as string, z as string )
Functions without a "@": ================ readchar() as char fileOpen( fileName as string ) as int fileSize( handle as int ) as int filePos( handle as int ) as int fileReadChar( handle as int ) as char fileGetLastError() as int fileGetErrorMsg( errorCode as int ) as string fileExists( fileName as string ) as boolean dims( var a as array ) as int dimLimit( n as int, var a as array ) as int elementType( var a as array ) as string intElement( var a as array, ... as int ) as int doubleElement( var a as array, ... as int ) as double moneyElement( var a as array, ... as int ) as money booleanElement( var a as array, ... as int ) as boolean charElement( var a as array, ... as int ) as char dateElement( var a as array, ... as int ) as date timeElement( var a as array, ... as int ) as time stringElement( var a as array, ... as int ) as string tab( n as int ) as string split( var s as string, delimiters as string ) as string random( n as double ) as double toUpper( s as string ) as string toLower( s as string ) as string
The "test" command is a real life-saver, as is the List Browser.
|