【问题标题】:"base" Keyword in LibreOffice BasicLibreOffice Basic 中的“base”关键字
【发布时间】:2019-05-06 13:43:29
【问题描述】:

我正在以 VBA 兼容模式在 Basic 中为 LibreOffice Calc 编写宏。当我使用这条线时它会抱怨:

Const BASE = 3

基本语法错误。
应为符号。

语法着色似乎表明“BASE”是关键字或保留字。宏中的其他 const 可以毫无问题地接受。此外,此行在 Excel 中的 VBA 中被接受。

我将更改名称以避免此问题,但是我无法找到将其作为任何保留字引用的任何文档。我认为它要么与数字基数有关,要么与 LO 数据库的名称有关。然而,像“WRITER”和“CALC”这样的词的作用不同——它们似乎被接受为常量的名称。请注意,我对这个词的使用与数据库无关。

另外,不幸的是,LO Basic 似乎没有立即模式 (REPL),所以我无法轻松地使用这个词来确定它的用途。

你能告诉我一些关于关键字BASE 的文档吗?

【问题讨论】:

  • 很久以来我见过的最好的问题。显然,你已经赢得了所有的声誉。

标签: libreoffice-basic


【解决方案1】:

这些是一些不错的猜测,但事实证明是不正确的。该词的用法如下:

Option Base 1

它可以是 0 或 1 来表示哪个索引引用数组的第一个元素,如 https://wiki.openoffice.org/wiki/G11ntest/Documentation/BASIC_Guide/Arrays 中所述。

为了发现这一点,我查看了 LibreOffice 源代码。文件/basic/source/inc/parser.hxx 很有帮助。从this post 判断,这是可用关键字列表的最接近近似值。

显然,这个语句是从 VBA 中采用的:https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/option-base-statement

【讨论】:

  • 谢谢。这是一个没有想到的替代方案。您链接到的 OO wiki 页面真的很糟糕。我在 Option Base 上发现了这个 LibreOffice 页面,它的格式要好得多。
  • 还有一个可能稍微超出问题范围的评论:如今,Python-UNO 通常比 LO Basic 更受欢迎。它有详细记录的关键字和像 VBA 即时模式一样的实时提示。
  • 是的,我很可能会切换到 Python,因为 Basic - 很糟糕。
  • 很高兴听到这个消息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多