【问题标题】:printing to usb QW BASIC/ QUICK BASIC打印到 USB QW BASIC/QUICK BASIC
【发布时间】:2012-12-06 10:57:26
【问题描述】:

我希望将 GW BASIC/QUICK BASIC 程序转换为自动可执行文件 (exe),以便我可以在 windows 7 pro 64bit/windows 8 pro 上运行这些程序。但是这些程序从 LPT1 端口打印。我希望它恢复为 USB,因为没有新计算机带有 LPT 端口。

考虑在 Quick Basic 中编写一个简单的 hello world 程序。

 print  "Hello world"
 lprint "hello world"

我用谷歌搜索了很多,但无法找到解决方案。

【问题讨论】:

  • 你有不同的可能性,最简单的方法就是使用 USB 转并行适配器,其次编写自己的虚拟并行端口驱动程序,或者重新编写 lprint 例程将数据发送到USB 打印机。
  • 如果 1) 通过将数据转储到临时文件中来收集将要发送到 LTP 端口的所有数据。 2) 用其他语言编写程序,将数据打印到usb 端口。 3) 在 QBASIC 中使用 shell 命令调用这个例程。
  • 是的,这是一种类似于共享内存概念的好方法。另一个服务/应用程序可以从该文件中读取并打印到 USB/网络打印机。
  • 我正在使用 libusb 与 USB 端口进行通信。但被困在这里。 stackoverflow.com/questions/7050482/…

标签: usb lpt qbasic gw-basic


【解决方案1】:

由于 GWBASIC 和 QuickBASIC 是 DOS 程序(16 位),您将无法在任何 64 位 Windows 操作系统上运行它们,无论是 Windows 7 x64 还是 Windows 8 x64。此外,由于 QuickBASIC 仅输出 16 位 DOS 可执行文件,因此您也无法运行使用它创建的 EXE 文件。

您必须使用第三方 DOS 模拟器,例如 DOSBOX:http://www.dosbox.com/

您也可以设置一个运行 Windows 版本的虚拟机,该虚拟机能够执行 16 位 DOS EXE 文件,例如视窗 9x。 为此,您可以使用 VMWare Player、Oracle VirtualBox、Windows VirtualPC 等。但另一方面,如果您想访问计算机(=主机)的硬件,这可能会导致其他问题。

所以我的建议是切换到FreeBASIC,它是开源软件,可用于 Windows、Linux 和 DOS。您可以轻松地将旧的 QBasic 程序移植到 FreeBASIC,而且通常不费吹灰之力。 FreeBASIC 创建的可执行文件可以在 64 位 Windows 版本上运行。使用 FreeBASIC 的 OPEN LPT 命令(请参阅 Wiki page of that command),您可以访问在 Windows 中配置的打印机,甚至是那些只是虚拟打印机的打印机,例如 PDF 编写器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    • 2014-04-26
    • 2017-10-04
    • 1970-01-01
    相关资源
    最近更新 更多