1

我有以下 QuickBasic 4.5 代码:

IF LEN(Dir$("mtn.vga")) > 0 THEN
BLOAD "mtn.vga", VARPTR(mtn(1))

我正在尝试将其移植到 FreeBasic 但收到错误:

数组未标注,在 '(' 之前

如果 LEN(Dir("mtn.vga")) > 0 那么

       ^

有任何想法吗?

4

2 回答 2

2

该特定行是完全有效的 FreeBASIC 代码(即使您在 Dir() 之后保留美元符号也可以使用)。我运行这个测试代码只是为了确保它可以正常工作:

IF LEN(DIR("sa.bas")) > 0 THEN 'sa.bas is the name of this file
    PRINT "file exists"
END IF

你介意放一大块代码吗(也许在pastebin上并链接我)?问题的原因可能就在您的代码中的某个位置。

于 2011-05-02T23:00:45.883 回答
0

在 FreeBASIC 中,不推荐使用字符串变量后的 $ 仅当您想用于与旧 BASIC 兼容的程序时才有用

按照示例程序了解 DIR() 的作用

'This example show you how work if want verify the exist file.

Print DIR("lendir.bas") ' Dir("namefile.ext") show the name of file if exist

IF LEN(DIR("lendir.bas")) > 0 THEN 'sa.bas is the name of this file
    PRINT "file exists"
END IF

'or you can use this too

IF DIR("lendir.bas") = "" THEN 'If file not exist
    PRINT "file not exists"
   Else 
    PRINT "file exist"
END IF

BLOAD 从使用 BSave 创建的文件或兼容的 BMP 图像文件中加载任意数据。

但是你必须确定原始代码是 QB 还是 QuickBASIC 因为有不同的方式来获取相同的东西

示例fbc myprog.bas -lang qb 不适用于此示例尝试 fblite 而不是 qb

于 2020-04-06T14:20:00.727 回答