Skip to content

FreeBASIC 运行时库常见问题


FreeBASIC 运行时库问题:

返回目录


FreeBASIC 运行时库问题

如何播放声音?

QB 的声音关键字中,只有 BEEP 在 FB 中实现了。

如果需要 PC 扬声器声音,应使用 IN 和 OUT 来编程。请参阅 OUT 关键字中的示例,以替代 SOUND。

有一个名为 QBSound 的库,可以模拟 QB 在后台播放字符串编码曲调的功能,它使用声卡的合成器。

如果需要通过声卡播放 .wav 或 .mp3 文件,可以在 Linux 和 Windows 中使用 FMOD 或 BASS 等外部库。DOS 版本请参阅 DOS FAQ 部分

返回顶部

如何访问串口?

DOS

请参阅 DOS FAQ 部分

Windows 和 Linux

请参阅 Open Com

返回顶部

如何打印?

FB 支持向打印机输出字符。

要打印图形,有两种方式:

  • 预处理图形数据,对打印机编程,然后将数据发送给它(参见 wikipedia.org/wiki/ESC/P)。这与操作系统无关,但依赖于打印机型号。这是 DOS 的唯一方式,另见 DOS FAQ 部分
  • 在 Windows 和 Linux 中有特定的 API 调用。这不能跨操作系统移植,但操作系统的打印机驱动程序使其与打印机型号无关。

返回顶部

如何访问硬件端口?

QB 中已知的 INP、OUT 和 WAIT 都在 FB 中实现了。

GfxLib 会拦截对某些 VGA 端口的调用,以模拟 QB 中广泛使用的调色板操作和垂直同步方法。因此,当使用 GfxLib 时,无法访问端口 &H3DA、&H3C7、&H3C8 和 &H3C9。所有其他端口均可访问。

在 Linux 或 DOS 中使用 INP 和 OUT 不需要任何额外技巧。对于 Windows 版本,所需的设备驱动程序会在每次 Windows 会话中第一次运行程序时临时安装;这要求该次运行具有管理员权限,否则程序将以错误结束。请注意,在 Windows 和 Linux 中,应用程序访问硬件端口并不是常见做法。

返回顶部

参见

以及

返回目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系