Skip to content

欢迎使用twinBASIC

twinBASIC是一种新的BASIC语言和开发环境,致力于与VB6和VBA100%向后兼容,同时添加现代语言特性——泛型、原生InterfaceCoClass声明、属性和包系统。编译器和IDE正在积极开发中,目前处于Beta阶段;常见问题涵盖了项目状态、作者信息以及当前已实现和未实现的功能,下载位于主GitHub仓库的Releases页面。

twinBASIC新手?

常见问题开始了解——什么是twinBASIC、当前进展、支持什么——然后阅读特性概览了解twinBASIC在VBx基础上添加的所有内容。下方的教程部分提供分步指南;Arrays教程无需任何twinBASIC经验,是不错的入门读物。

从VBA或VB6转来?

大多数现有VB6/VBA代码无需修改即可编译。VBx兼容性之外的关键新增:新数据类型(LongLongLongPtrDecimal)、原生InterfaceCoClass声明、用于继承的Implements ViaInherits、泛型、方法重载、类型推断和属性语法。特性概览是完整的目录。

查找关键字、函数或运算符?

参考部分分为语言构造(编译器解析的内容)和运行时成员(内置包中提供的函数、属性、类型、类):

  • 分类列表 —— 按用途分组的语句、过程和函数(编译器控制、声明、控制流、文件I/O……)
  • 语句 —— 所有语言语句的字母索引
  • 过程和函数 —— 所有可调用运行时成员的字母索引
  • 运算符 —— 算术、比较、逻辑、位运算及twinBASIC新增运算符
  • 编译器常量 —— 编译器识别的 #If 符号
  • 属性 —— [Documentation(...)][COMCreatable(...)] 及其余属性语法
  • 控件 —— 标准UI控件(CheckBoxTextBoxCommandButton、……)按用途分组
  • 术语表 —— 文档中使用的技术术语

内置包

将相关代码组织在一个命名空间下,作为单个依赖项被项目引用。包页面列出了每个内置包及其简要描述;下面的标题按用途对它们进行分组。

默认包 —— 自动在每个项目中引用:

额外GUI —— VB包之外的控件:

Web嵌入 —— 在窗体中托管浏览器引擎:

  • WebView2 —— Microsoft Edge运行时
  • CEF —— Chromium Embedded Framework(BETA),可选择三种Chromium运行时

Windows集成 —— 操作系统功能的轻量封装:

  • WinServicesLib —— 将twinBASIC EXE作为一个或多个Windows服务运行
  • WinEventLogLib —— 写入Windows事件日志条目,支持编译时消息表生成
  • WinNamedPipesLib —— 基于IOCP的异步命名管道服务器和客户端

工具链

  • Assert —— 单元测试断言函数,三个模块共享相同的十五成员API,但严格程度不同
  • tbIDE —— twinBASIC IDE本身的加载项SDK

教程

  • Arrays —— 固定数组和动态数组、DimReDim、多维结构
  • CustomControls —— 使用 Waynes... 框架构建自绘控件
  • WebView2 —— 嵌入Edge运行时:托管本地资源、JavaScript互操作、驱动Monaco
  • CEF —— 嵌入Chromium:构建浏览器外壳、托管本地资源、JavaScript互操作、驱动Monaco

twinBASIC IDE

IDE部分记录了编辑器、项目资源管理器、调试面板(调用栈、监视、诊断、调试控制台)、tbFormtbReport设计器以及各功能侧面板。要安装第三方加载项,参见Add Ins;要自行开发加载项,tbIDE包是加载项SDK。

社区和外部资源

贡献文档

本文档为开源项目。参见文档开发了解构建和预览工作流以及贡献约定。

AI生成

twinBASIC及其LOGO版权为作者"韦恩"所有