数组未标注之前

时间:2011-04-23 03:44:47

标签: arrays basic qbasic freebasic

我有以下QuickBasic 4.5代码:

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

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

  

在'('

之前,没有标注尺寸的数组      

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

       ^

有什么想法吗?

2 个答案:

答案 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