thinBasic
Introducing thinBasic
Example 1
Example 2
Example 3
Example 4
Example 5
Example 6
Why thinBasic ?
Main thinBasic features
What's new
Version Under Development
2008 - version history
Version 1.6.0.7
Version 1.6.0.6
Version 1.6.0.5
Version 1.6.0.4
Version 1.6.0.3
Version 1.6.0.2
Version 1.6.0.1
Version 1.6.0.0
2007 - version history
Version 1.5.0.0
Version 1.4.0.0
Version 1.3.0.0
Version 1.2.0.0
2006 - version history
Version 1.1.0.0
Version 1.0.11.0
Version 1.0.10.2
Version 1.0.10.1
Version 1.0.10.0
Version 1.0.9.9
Version 1.0.9.8
Version 1.0.9.7
Version 1.0.9.6
Version 1.0.9.5
Version 1.0.9.4
Version 1.0.9.3
Version 1.0.9.2
Version 1.0.9.1
Version 1.0.9.0
Version 1.0.8.2
2005 - version history
Version 1.0.8.1
Version 1.0.8.0
Version 1.0.7.1
Version 1.0.7.0
Version 1.0.6.4
Version 1.0.5.0
Version 1.0.4.2
Version 1.0.4.1
Version 1.0.3.6
Version 1.0.2.2
Version 1.0.1.1
Installation
How to use
thinBasic language
Script structure
Main Code
Functions/Subs
CALL
CALL_IfExists
CALL DWORD
FUNCTION_Exists
FUNCTION_CParams
FUNCTION_Name
FUNCTION_NParams
FUNCTION Default parameter value
RETURN
Machine Code
MC_Eval$
MC_EvalAndExec
MC_Exec
External function declarations
DECLARE
DECLARE (General form)
Declare Set ADDRESS
Pre Parsing directives
#INCLUDE
#INCLUDE"Config.inc"
#INCLUDE "Includes\DB.inc"
#INCLUDE "Includes\Theme.inc"
#INCLUDE "Includes\Header.inc"
#INCLUDE "Includes\Footer.inc"
#INCLUDEDIR
#MINVERSION
#SCRIPTVERSION
Execution directives
#DEFAULT
BOUNDCHECK
PARAMETERS
DECLARE CheckDuplicates
DECLARE CheckMissing
Conditional parsing statements
#IF
#DEF
Script Obfuscation
Data types and variables
Numeric Equates
String Equates
Numeric variables
String variables
TYPE
Variant variables
GUID
DIM
CONST
REDIM
RESET
BEGIN
BEGIN CONST ... END CONST
Operators
Arithmetic
Operator (+)
Operator (-)
Operator (*)
Operator (/)
Operator (\)
Operator (.)
Exponentiation (^)
Comparison
Comparison Operators
Logical
ALL
AND
OR
NOT
SOME
XOR
IsFalse
IsTrue
Assignment operators
Program Flow
DO/LOOP
DoEvents
EXIT
FOR/NEXT
IF/THEN/ELSE/ELSEIF/END IF
ITERATE
REM
SELECT
SelectExpression
SLEEP
STOP
WHILE/WEND
Error Handling
ERR
ERRCLEAR
Modules
Uses
Core
Core Equates
General
Alert
Alias
Beep
ClipBoard_GetText
ClipBoard_SetText
GetCurInstance
InputBox$
Library_Exists
MsgBox
SizeOf
Sound_PLay
Swap
Variable_Exists
String handling
ACODE$
ASC
BIN$
CHOOSE$
CHR$
CSET$
DATE$
EXTRACT$
FORMAT$
GUID$
GUIDTXT$
HEX$
IIF$
INSTR
IsLike
JOIN$
LCASE$
LEFT$
LeftAndRight$
LEN
LSET$
LTRIM$
MAX$
MCASE$
MID
MID$ Function
MID$ Statement
MIN$
MKx
MKBYT$
MKCUR$
MKCUX$
MKD$
MKDWD$
MKE$
MKI$
MKL$
MKQ$
MKS$
MKWRD$
PARSE
PARSE$
PARSECOUNT
PARSESET$
REGEXPR$
REMOVE$
REPEAT$
REPLACE$
RIGHT$
RSET$
RTRIM$
SPLIT
STR$
StrPtrLen
STRING$
STRDELETE$
STRINSERT$
STRREVERSE$
TALLY
TIME$
TRIM$
TRIMFULL$
UCASE$
UCODE$
USING$
VAL
VERIFY
Numeric handling
ABS
ATN
Between
CEIL
CHOOSE
COS
CVx
CVBYT
CVCUR
CVCUX
CVD
CVDWD
CVE
CVI
CVL
CVQ
CVS
CVWRD
DECR
EXP
EXP2
EXP10
FIX
FRAC
HASH
HIWRD
IIF
IN
INCR
Inside
INT
IsEven
IsOdd
LOG
LOG2
LOG10
LOGB
LOWRD
MAKDWR
MAKINT
MAKLNG
MAKWRD
MAX
MIN
MOD
Outside
PCT
RANDOMIZE
RGB
RND
RNDF
ROUND
SHIFT
SGN
SIN
SQR
TAN
TIMER
Array functions
ARRAY ASSIGN
ARRAY FILL
ARRAY SCAN
ARRAY SORT
ARRAY SUM
LBound
UBound
Variant
VARIANT$
VARIANT#
VARIANTVT
VARIANTVT$
Pointers
GetAT
PEEK
PEEK$
POKE
POKE$
SetAT
STRPTR
VARPTR
Timing
GetTickCount
HiResTimer_Get
HiResTimer_Init
QueryPerformanceCounter
QueryPerformanceFrequency
Application functions
APP_GetModuleFullPath
APP_IncludePath
APP_ListEquates
APP_ListFunctions
APP_ListKeywords
APP_MutexClose
APP_MutexCreate
APP_Name
APP_Path
APP_ScriptFullName
APP_ScriptName
APP_ScriptPath
APP_ScriptVersion
App_Timer
APP_Timer equates
Unicode
Ascii2Unicode
Unicode2Ascii
IsUnicode
BIFF
BIFF Example
BIFF Equates
BIFF_CloseFile
BIFF_CreateFile
BIFF_SetBuffer
BIFF_SetCodePage
BIFF_SetColWidth