HOME
FEEDBACK
APPENDIX
CREDITS
Updated:
Nov 4, 2006
History:
Procedures
Advanced Techniques
Assembler Inserts
11/4/06
MEMORY
10/22/06
Code Blocks
Miscellaneous
Custom Objects
10/21/06

Artwork by Don
HotBasic Tips
Common Mistakes
|
HotBasic™ is a new basic compiler with CONSOLE, CGI, GUI, DLL and OBJ application types.
The first Linux release aims to have CONSOLE, CGI and OBJ application types. This contents page is a start to documenting some differences, compared to HotBasic Windows -- e.g., the VERSION Object.
HotBasic Linux uses direct kernel syscalls, and contains its own original run-time memory allocation support to produce stand-alone ELF executables.
Compiler
Getting Started
Documentation
Switches
Error Levels and Run-Time Errors
Directives $APPTYPE $DEFINE $DUPARGERR $ELSE $ENDIF $EQUALPREC $ESCAPECHARS $IFDEF $IFNDEF $INCLUDE $MACRO OFF ON $OPTIMIZE $OPTION $RESOURCE $SYMBOLTABLE $TYPECHECK $UNDEF $UPPERCASE
Statements
Variables and Types BYTE DATE DOUBLE DWORD FILE FUNCTION INT64 INTEGER LIST LONG MEMORY REAL10 RECT SHORT SINGLE SOCKET SQLITE STRING SUB TIMER VARIANT WORD
Dimension AS CONST CREATE DEFBYTE DEFDBL DEFDWORD DEFINT DEFINT64 DEFLNG DEFREAL10 DEFSHORT DEFSNG DEFSTR DEFWORD DIM EXTENDS OBJECT REDIM STATIC TO TYPE
Arrays
Console CLS COLOR INPUT LOCATE PAUSE PRINT SETCONSOLEMODE SETCONSOLETITLE
Loops and Code Blocks CASE DO ELSE ELSEIF END EXIT FOR IF IS LOOP NEXT SELECT STEP THEN TO UNTIL USE WEND WHILE
Procedures BYREF BYVAL CALL CALLFUNC CDECL DECLARE END EXIT FUNCTION GOSUB LIB RESULT RETURN RETVAL STD SUB
Directories and Files CHDIR COPY DELETE EXTRACTRESOURCE KILL LIBRARYINST MKDIR MOVE RENAME RMDIR UNLOADLIBRARY
Data DATA READ RESTORE
Sound BEEP PLAYWAV SOUND
Miscellaneous DEC DOEVENTS END ENVIRON GOTO INC INITARRAY LPRINT NOTHING OUT OUTW RANDOMIZE REDIM RUN SHELL SHELL1 SLEEP SWAP THIS WITH
Advanced Techniques ARRAYREF ARRAYREF$ ASM BEGIN BYREF BYREF$ CALLFUNC END EXIT EXTERNAL FUNCCALL MEMCPY MEMSET POP PUSH RETVAL RUNONCE SYSCALL THREAD WINDOW
String Functions [] ANSI$ ARRAYREF$ BIN$ BYREF$ CHR$ COMMA COMMAND$ COMMANDLINE$ CRLF CURDIR$ DATE$ DELETE$ DIR$ ENVIRON$ FIELD$ GET$ HEX$ IIF$ INKEY$ INPUT$ INSERT$ LCASE$ LEFT$ LTRIM$ MID$ NULL PATH$ QUOTE REPLACE$ REPLACESUBSTR$ REVERSE$ RIGHT$ RTRIM$ SPACE SPACE$ STR$ STRING$ TAB TIME$ TRIM$ UCASE$ VARIANTREF$ VARPTR$ WIDE$
Numeric Functions @ - ABS ACOS ARRAYREF ASC ASIN ATAN ATN BOOL BOOLEAN BYREF CALLBACK CEIL CINT CLNG CODEPTR COMMANDCOUNT COS CSRLIN DIREXISTS EAX EXP FALSE FILEEXISTS FIX FLOOR FRAC GETLASTERROR HCOS HEX2DW HIWORD HSIN HTAN IIF INP INPW INSTR INT ISCONSOLE LBOUND LEN LN LNTWO LOG LOG2E LOG2TEN LOGTWO LOWORD MEMCMP NEG OBJPTR ONE PI POS RESOURCE RESOURCECOUNT RETFUNC RGB RND ROUND SCREEN SGN SHELL SHELL1 SIN SIZEOF SQR TALLY TAN TIME TIMER TRUE UBOUND VAL VARIANTREF VARPTR VARTYPE ZERO
Objects
APPLICATION with ErrorLevel (get/set) OnExit and OnFPUerror
CONSOLE with keyboard and mouse events
CUSTOM Objects With custom properties, methods and functions
DATE Properties: Year Month Day DayOfWeek DayOfYear Hour Minute Second (numeric) Methods: LoadInt SaveInt Update UpdateUTC (see hotdate.bas in hotlinux2.zip)
FILE
FILEREC Properties: Attr BlkSize Dev DevType GID Inode LastChange LastRead LastWrite Nlink Size UID (numeric) Date DateLastRead DateLastWrite Time TimeLastRead TimeLastWrite (string) (R only). Access these properties after use of DIREXISTS, FILEEXISTS or DIR$
FPU HotBasic exclusive
LIST
MEMORY Streams with Encrypt and Decrypt methods
MOUSE X Y (R only) cursor position
RECT Left Top Right Bottom (RW)
SCREEN Height Width (R only)
SOCKET
SQLITE requires SQLite
STRING All MEMORY and LIST properties and methods apply to STRING objects
TIMER
VARIANT Type
VERSION SysName NodeName Release Version Machine DomainName (string) (R only)
Operators and Precedence Order: higher to lower (& for VB strings)
^ * / \ SHL SHR MOD INV + - [relational] NOT AND OR XOR
Appendix
ASSEMBLER Inserts
VARIANT Qualified Type
RECURSIVE Procedure Calls
Credits
Thanks to Microsoft Corporation for the wonderful public service to the computing world by providing several utilities free, used to "put the pieces together" in HotBasic compilation.
Thanks to Raymond Filiatreault for permission to use two of his FPU routines: conversion of string to FPU value and FPU value to string.
Thanks to Don for permission to use his "Hot! Basic" artwork.
Thanks to D. Richard Hipp for writing sqlite.dll used by the HotBasic SQLITE object.
Copyright © 2003-2006 James J Keene PhD
HotBasic™ is a trademark of James J Keene
Original Publication: May 29, 2003
|