Skip to content

VBA Package

The VBA built-in package collects the standard runtime library --- the modules grouping the standalone procedures (MsgBox, CStr, Mid, Format, …), plus a small number of intrinsic classes (Collection, Err) and twinBASIC's runtime expression engine.

Classes

  • Collection -- ordered set of values or object references, accessed by 1-based index or by optional string key
  • ErrObject -- the singleton Err object holding information about the most recent run-time error
  • TbExpressionService -- runtime expression engine -- parse and evaluate twinBASIC-syntax expressions supplied as strings

Modules

  • (Default) -- unqualified low-level intrinsics -- the GetMem / PutMem family, AllocMem, atomic operations, compile-time reflection, codegen and stack-inspection primitives, …
  • Compilation -- compile-time intrinsics that record the project, component, procedure, and source file at the call site
  • Constants -- global character, pointer, and error-base constants reachable without qualification (vbCrLf, vbNullString, vbObjectError, …)
  • Conversion -- type coercion (CBool, CDate, CType, …), number ↔ string parsing, base conversion, and Variant-with-error construction
  • DateTime -- reading the system clock, building Date values from components, parsing them out of strings, and shifting them by chosen units
  • FileSystem -- pathname-based and file-number-based operations on files and directories
  • Financial -- annuity calculations, internal-rate-of-return analysis on variable cash flows, and asset depreciation
  • Information -- Is… predicates, VarType / TypeName, array bounds and construction, raw pointers (ObjPtr, StrPtr, VarPtr), and RGB colour helpers
  • Interaction -- dialogs (MsgBox, InputBox), inline conditionals (Choose, Switch, IIf), process launching, registry helpers, environment, and dynamic-dispatch primitives
  • Math -- sign and magnitude, trigonometry, exponentials and logarithms, the square root, rounding, and pseudo-random numbers
  • Strings -- measuring, searching, slicing, padding, joining, splitting, and formatting String values

INFO

The modules listed above are used for grouping documentation, they don't always match exactly with the implementation details of the VBA package.

twinBASIC and LOGO copyright of "WaynePhillipsEA" author