VB6 解析器/词法分析器/脚本编写器

2024-03-26

我有一个 VB6 游戏,它运行得很好,但我一直在考虑创建一个脚本引擎的想法。我想我希望 VB6 为我读取纯文本脚本文件,然后 lex/parse/execute 它们。

我有很好的编程经验,之前也搭建过一个简单的C编译器,以及一个LOGO模拟器。

我的问题是: 我可以使用 Lexx/Yakk/Bison 等工具来帮助我吗?我应该如何在词法分析、解析和将命令反馈给 VB6 方面解决这个问题,以便我可以处理它们?这个想法是一个BAD IDEA在某种意义上,路上有太多障碍(例如,在组装中建造扫雷艇,虽然不是不可能,但非常困难,而且是一个坏主意。)?


使用 Microsoft® Windows® 脚本控件,因为它很容易集成到现有的 VB6 应用程序中。该控件支持 VBScript、JScript 或任何其他“活动脚本”实现。

我已经用过Windows 脚本控制在四个项目中,效果非常好。非常容易集成。我希望 Microsoft 能够为我们提供 .NET 的替代品,并使其易于使用。 (我知道 .NET 中不需要该控件,但能够简单地创建一个处理所有内容的对象是很好的。)

Windows 脚本控制

Microsoft® Windows® 脚本控件 是一个 ActiveX® 控件,提供 开发人员可以通过简单的方法来制作 他们的应用程序可编写脚本。这, 反过来,使用户能够扩展 应用程序功能通过 脚本,就像它们对宏所做的那样 今天。

  • 信息:在哪里获取脚本控件 at http://support.microsoft.com/kb/184739 http://support.microsoft.com/kb/184739。包括其他如何支持文章的链接。

  • 第 13 章:向您的应用程序添加脚本支持 at http://msdn.microsoft.com/en-us/library/aa227413(VS.60).aspx http://msdn.microsoft.com/en-us/library/aa227413(VS.60).aspx

  • 设计计算器 at http://msdn.microsoft.com/en-us/library/aa227421(VS.60).aspx http://msdn.microsoft.com/en-us/library/aa227421(VS.60).aspx

  • 如何使用脚本控制模块和过程集合, 插入自http://support.microsoft.com/kb/184745 http://support.microsoft.com/kb/184745

  • 如何使用脚本控件的AddObject方法, 插入自http://support.microsoft.com/kb/185697 http://support.microsoft.com/kb/185697

  • 示例:SCRIPTEX.EXE 将 ScriptControl 与 Visual Basic 结合使用, 插入自http://support.microsoft.com/kb/189484 http://support.microsoft.com/kb/189484

  • Windows 脚本控制可以在以下位置下载。 (支持的操作系统:Windows 2000;Windows 98 第二版;Windows ME;Windows NT;Windows Server 2003;Windows XP)

  • MSDN 搜索“MSScriptControl.ScriptControlClass”:

  • 在 MSDN 中搜索“Windows 脚本控制”

  • MSDN 搜索“MSSCRIPT”:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VB6 解析器/词法分析器/脚本编写器 的相关文章

  • 为应用程序创建自定义 odbc 驱动程序

    好的 我有一个简单的数据库引擎 它是用 vb6 编写的专有产品 用于我的一个应用程序 我想为它创建一个 ODBC 驱动程序 这样我就可以将我的一些其他应用程序 需要数据库 与我的数据库引擎而不是 microsoft sql 他们当前正在使用
  • 在 Shell 中连接字符串

    我在连接字符串 Linux shell 脚本时遇到这个问题 apphome cd dirname 0 pwd cd gt dev null echo APP Home echo apphome libdir apphome lib echo
  • 在 VB6 中什么时候必须将变量设置为“Nothing”?

    在我的一个 VB6 表单中 我创建了几个其他 Form 对象并将它们存储在成员变量中 Private m frm1 as MyForm Private m frm2 as MyForm Later Set m frm1 New MyForm
  • 如何重新分发使用 Crystal Reports 的 VB 6 应用程序?

    假设目标系统有 Crystal Reports for Visual Studio 2008 我如何将可执行的 VB 6 应用程序与报告文件一起分发 仅移动可执行文件和报告文件是行不通的 我想知道如何创建可再发行包 我们使用CR10 我的建
  • 在VB6中使用Sax解析编辑和编写XML

    因此 我尝试使用 VB6 中的 SAX 解析 对于古老的 COM 组件 来编辑 xml 输出是 xml 我更喜欢使用 DOM 解析 但 xml 的大小 可能超过 20MB 迫使我使用 SAX 我对 VB6 比较陌生 并且没有 SAX 解析经
  • MS Access 2016 树视图错误:“此控制元素中没有对象。运行时错误 438”

    我在 MS Access 中打开树视图时遇到问题 我认为这是自上次 Windows 更新以来的情况 当我启动程序时收到一条错误消息 此控制元素中没有对象 运行时错误 438 对象 不支持此属性或方法 调试器将 vba 代码中的一行标记为黄色
  • 带有 Pandoc 的内联 CSS

    如果在某处记录了以编程方式实现此目的的简单方法 不是通过在浏览器字段中复制 粘贴并单击按钮进行转换 我深表歉意 在我的搜索和阅读中我找不到它 我想以编程方式将 Markdown 和 CSS 文件转换为听起来可能称为 内联 CSS 的文件 例
  • Python 在计算机睡眠/休眠后冻结

    我有一个使用 pythonw 在后台运行的 python 脚本 如果我关闭笔记本电脑 它就会进入睡眠模式 当我打开笔记本电脑时 我的程序几乎没有任何功能 并在几秒钟后冻结 有什么方法可以让我的脚本知道我的计算机是否进入睡眠模式 以便它可以处
  • vb6:二维动态数组的重新尺寸调整

    我使用数组根据蒸汽的压力来存储蒸汽的属性 现在我有 9 个压力的属性 所以我使用静态数组 我想要更灵活 所以我想切换到动态数组 当我使用ReDim foo 1 to i 1 to 10 在循环中我完全丢失了除最后一行之外的所有数据 当我使用
  • 有没有办法在 Visual Basic 6.0 应用程序中添加全局错误处理程序?

    VB 6 0没有任何全局处理程序 为了捕获运行时错误 我们需要在每个我们认为可能发生错误的方法中添加一个处理程序 但是 仍然有一些地方可能被遗漏 所以 我们最终会遇到运行时错误 在应用程序的所有方法中添加错误处理程序 唯一的方法吗 不 无法
  • SQLite - 从文件运行多行 SQL 脚本?

    我的 user sql 文件中有以下 SQL CREATE TABLE user user id INTEGER PRIMARY KEY username varchar 255 password varchar 255 然而 当执行以下命
  • 如何从 VB-6 旧应用程序中启动屏幕键盘程序

    我正在尝试从 Windows 10 32 或 Windows 10 64 位计算机上的 VB 6 应用程序中 shell osk exe 过去我们只是简单地使用 Private Sub Command1 Click Dim strTemp
  • ReDim 在 VB6 中保留为多维数组

    我正在使用 VB6 我需要做一个ReDim Preserve到多维数组 Dim n m As Integer n 1 m 0 Dim arrCity As String ReDim arrCity n m n n 1 m m 1 ReDim
  • Bash 脚本问题

    我可以很好地运行这个命令 并得到我想要的输出 ifconfig eth0 grep HWaddr awk print 5 但是 当我将命令设置为变量并打印该变量时 出现错误 CASS INTERNAL ifconfig eth0 grep
  • (此时出乎意料 - 批处理脚本

    我正在使用下面的批处理脚本并收到错误 这时候是出乎意料的 我知道问题出在第一行 但我不明白出了什么问题 有任何想法吗 script IF 1 LOOP1 SET P isDefault Value Missing do you want t
  • 防止打开 VB 应用程序的多个实例

    我的 VB6 应用程序由 MS Access 数据库支持 允许用户打开应用程序的多个实例会产生冲突并更改连接的数据库 理想的解决方案是 如果用户尝试打开新实例 则关注现有实例 我怎样才能达到这个目的 Use App PrevInstance
  • VT_DATE 类型的微秒支持

    VT DATE 变体类型是否支持微秒分辨率 请告诉我如何在VB中显示相同的内容 http msdn microsoft com en us library ms221646 aspx http msdn microsoft com en u
  • 编写多个mysql脚本

    是否可以在复合脚本中包含其他 mysql 脚本 理想情况下 我不想为包含的脚本创建存储过程 对于较大的项目 我想分层维护几个较小的脚本 然后根据需要组合它们 但现在 我很乐意学习如何包含其他脚本 source是一个内置命令 您可以在 MyS
  • touch命令在一个目录下创建多个文件(不同名称)

    我想制作一个在 bash 中创建目录和文件结构的脚本 我尝试过这样的事情 mkdir p 1 2 touch 1 2 a b c a b c 应该是在一个命令或其他命令中创建的文件 但由于某种原因 结构是这样的 current folder
  • 如何使用AWK脚本检查表的所有列数据类型? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在这里 我正在检查表中第一列的数据类型 但我想知道AWK中表的所有列数据类型 我尝试过 但只能获得一列数据类型 例如 Column 1

随机推荐

  • 指定与 Chef Solo 一起运行哪些食谱

    我正在使用 Chef solo 在本地测试我的食谱 但我希望能够只运行我正在测试的食谱 目前 chef solo 似乎将运行在solo rb 中指定的cookbooks 目录中的所有cookbook 我已经在 json 属性文件中指定了运行
  • 通过 jQuery ajax 调用将值列表传递给 django 视图

    我正在尝试使用 jQuery ajax 调用将数值 ids 列表从一个网页传递到另一个网页 我不知道如何传递和读取列表中的所有值 我可以成功发布和读取 1 个值 但不能成功发布和读取多个值 这是我到目前为止所拥有的 jQuery var p
  • Bootstrap 输入组插件对齐问题

    我的输入组插件与我的输入文本框不对齐 我做错了什么 div class form group div
  • 我无法让 phpseclib 工作

    我想做的事 我想要upload download一个文件通过sftp using php The phpseclib library看起来很有前途 我已经做了什么 我将composer json更改为 require nicolab php
  • 如何在Azure中创建或使用本地文件夹?

    我需要从 SFTP 服务器下载文件 下载的文件存储到本地文件夹 D Data tempData csv 我必须从本地文件读取数据并在我的应用程序中使用以进行其他数据操作 此作业是使用 Azure Web 作业中的 Web 挂钩计划程序创建的
  • 我的“zipLatest”运算符是否已经存在?

    关于我自己写的一个运算符的快速问题 请原谅我可怜的大理石图表 zip aa bb cc dd ee ff gg 11 22 33 44 55 a1 b2 c3 d4 e5 combineLatest aa bb cc dd ee ff gg
  • 使用 f:convertNumber 时设置小数点分隔符

    我想知道如何在 JSF 应用程序上设置默认的小数点分隔符 我有一些
  • NodeJS UDP 多播如何

    我正在尝试将 UDP 多播数据包发送到 230 185 192 108 以便每个订阅的人都会收到 有点卡住了 我相信它的广播正确 但似乎无法从任何客户端获取任何信息 Server var news Borussia Dortmund win
  • 如何将多个参数传递给 Scrapy 蜘蛛(不再支持使用多个蜘蛛运行“scrapy scrapy”时出现错误)?

    我想将多个用户定义的参数传递给我的 scrapy spider 所以我尝试遵循这篇文章 如何在 scrapy 蜘蛛中传递用户定义的参数 https stackoverflow com questions 15611605 how to pa
  • CMTime 和 AVFoundation 中单帧的移动

    我正在尝试使用 AVFoundation 播放视频 我使用以下代码作为将播放前进一帧的按钮 它间歇性地工作 在某些执行中它会做正确的事情并前进一帧 但大多数时候我必须按按钮 3 或 4 次才能前进一帧 这让我认为这是某种精度问题 但我无法弄
  • 为什么单函数访问器似乎被认为是坏习惯?

    我经常看到 即在 Slim 框架内 单一函数访问器风格 如下面的 1 已弃用 取而代之的是经典的 Java ish 2 函数访问器 get set 如下面的 2 就我个人而言 我更喜欢更少的代码行 在 1 中 和更少的输入 get set
  • Java多线程数据库访问[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 对于多线程 Java 应用程序来说 确保所有线程同步访问数据库的最佳解决方案是什么 例如 每个线程代表单独的事务 并且首先检查数据库的
  • 使用 FFT 进行 Matlab 模板匹配

    我正在努力解决 Matlab 中傅立叶域中的模板匹配问题 这是我的图片 艺术家是 DeviantArt 上的 RamalamaCreatures 我的目标是在负鼠的耳朵周围放置一个边界框 就像这个例子 我使用normxcorr2执行模板匹配
  • Stripe webhook 签名失败 - Stripe.net

    我正在尝试使用 Jayme Davis 的 C 库 Stripe net 来实现 stripe webhook 我已经在条带仪表板中设置了测试端点并生成了秘密 端点命中良好 并将使用 StripeEventUtility ParseEven
  • Django Celery 内存未释放

    在我的 django 项目中 我有以下依赖项 Django 1 5 4 django celery 3 1 9 amqp 1 4 3 海带 3 0 14 librabbitmq 1 0 3 按照建议https stackoverflow c
  • MongoDB:文档大小会影响查询性能吗?

    假设一款手机游戏由 MongoDB 数据库支持 其中包含User包含数百万份文档的集合 现在假设必须与用户关联的几十个属性 例如一个数组 id的值Friend文件 他们的用户名 照片 一系列 id的值Game文件 上次登录日期 游戏货币数量
  • C++ 传递字符串文字而不是 const std::string&?

    我有以下代码 使用 g 进行编译时没有警告 Wall pedantic include
  • Kotlin 中带有 val 的循环引用

    在 Kotlin 中 假设我有data class A val f B and data class B val f A 我想初始化本地var a A and var b B这样a f is b and b f is a A f and B
  • CUDA __syncthreads() 编译正常,但带有红色下划线

    我已经使用 CUDA 4 2 一周了 但遇到了一些问题 当我编写 syncthreads 函数时 它会带有下划线 看起来是错误的 然后 如果我将鼠标放在该函数上 则会出现一条消息 标识符 syncthreads 未定义 但是当我编译我的项目
  • VB6 解析器/词法分析器/脚本编写器

    我有一个 VB6 游戏 它运行得很好 但我一直在考虑创建一个脚本引擎的想法 我想我希望 VB6 为我读取纯文本脚本文件 然后 lex parse execute 它们 我有很好的编程经验 之前也搭建过一个简单的C编译器 以及一个LOGO模拟