我有以下QuickBasic 4.5代码:
IF LEN(Dir$("mtn.vga")) > 0 THEN
BLOAD "mtn.vga", VARPTR(mtn(1))
我正在尝试将其移植到FreeBasic但收到错误:
在'('
之前,没有标注尺寸的数组如果LEN(Dir(“mtn.vga”))> 0那么
^
有什么想法吗?
答案 0 :(得分:2)
该特定行是完全有效的FreeBASIC代码(即使你在Dir()之后保留美元符号也能正常工作)。我运行这个测试代码只是为了确保,并且它可以按预期工作:
IF LEN(DIR("sa.bas")) > 0 THEN 'sa.bas is the name of this file
PRINT "file exists"
END IF
你介意放一大块代码(可能在pastebin上并链接我)吗?问题的原因可能在代码的早期某处。
答案 1 :(得分: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
加载 从使用BSave创建的文件或兼容的BMP图像文件中加载任意数据。
但是您必须确定原始代码是QB还是QuickBASIC,因为采用相同方法的方式有所不同
示例fbc myprog.bas -lang qb
在此示例中不起作用
尝试使用fblite代替qb