4

我正在尝试运行QuickBasic其他人在 1992 年编写的文件。我正在机器QB64上使用Windows 10。我收到一条错误消息,Invalid variable name其中line 26包含以下代码。 Lines 1-31在下面,但这里是line 26孤立的。

COMMON SHARED /rgraph/ absxmin(), absymin(), absxmax(), absymax()

我尝试将absxmin(), absymin(), absxmax(),的名称更改absymax()为各种名称,但始终出现错误消息。然后我尝试删除line 26并在下一行收到相同的错误消息。

COMMON SHARED /rgraph/ uxmin(), uymin(), uxmax(), uymax(), shrinkl(), shrinkr()

这里是lines 1-31。当人们使用随书附送的代码时,会要求人们对其进行归因。所以,我相信代码是由 Ray Hilborn 编写的。

DECLARE SUB zGraphInit (ScreenNumber#)
DECLARE SUB zLabelX (ig!, label$)
DECLARE SUB zLabelY (ig!, ylabel$)
DECLARE SUB hess (popt#(), h#(), r#(), sigma#, npar!, npts!, lu!)
DECLARE SUB CallFlet ()
DECLARE SUB UserPlot (itn!, f#, n!, x#())
DECLARE SUB zClearTotalScreen ()
DECLARE SUB waitsub ()
DECLARE SUB InitGraphs ()
DECLARE SUB zGrid (ig!, xtics#, ytics#)
DECLARE SUB zCursor (ig!, x#, y#, irow!, icol!)
DECLARE SUB zScale (ig!, axs#, ays#, axl#, ayl#, uxs#, uys#, uxl#, uyl#, shl#, shr#)
DECLARE SUB mnmx (x#(), n!, xmin#, xmax#)
DECLARE SUB zGraphView (ig!)
DECLARE SUB flet (f#, x#(), n!, g#(), h#(), dfn#, xm#(), hh#, eps#, mode!, maxfn!, iprint!, w#(), iexit!)
DECLARE FUNCTION func# (x#(), n!)
DECLARE SUB printstats (xtime#, itn!, ifn!, f#, n!, x#(), g#())
DECLARE FUNCTION NormDev! ()
DECLARE FUNCTION xmed# (x#(), n!)
DECLARE SUB zLocate (irow!, icol!)
DECLARE SUB InputData ()
DEFDBL A-H, O-Z

DIM absxmin(10), absymin(10), absxmax(10), absymax(10), absperux(10), absperuy(10)
DIM uxmin(10), uymin(10), uxmax(10), uymax(10), shrinkl(10), shrinkr(10)
COMMON SHARED /rgraph/ absxmin(), absymin(), absxmax(), absymax()
COMMON SHARED /rgraph/ uxmin(), uymin(), uxmax(), uymax(), shrinkl(), shrinkr()
COMMON SHARED /rgraph/ screenxdots, screenydots, absperux(), absperuy()

COMMON SHARED IprintResid, iprint, Idebug

感谢您在解决此错误消息方面提供的任何帮助。

4

1 回答 1

1

一位朋友告诉我如何让QBasic文件运行。这是他的说明,稍作编辑。本质上,您需要在此处安装一个MS-DOS emulator和一个版本。以下某些内容是针对我原始帖子中的文件的,但这些说明可能可以推广到许多旧文件。QBasicQB45QBasic

  1. 下载一个MS-DOS模拟器(DOSBOXhttps://sourceforge.net/projects/dosbox/files/latest/download

  2. 下载一个版本QBASIChttps://www.qbasic.net/en/qbasic-downloads/DOS/Windows-Solutions.htm)。(我下载了两个建议解决方案中的第一个Basic 2 DOSBox:)

  3. 安装dosbox,但是当它询问安装位置时,将其放入c:\pgms\dosbox(不是c:\Program Files (x86)\DOSBox-0.74-3)。旧ms-dos操作系统不喜欢长文件名或带有空格的文件名。)

  4. QB45将文件夹(在步骤 2 中解压缩文件时获得)粘贴到c:\pgms\dosbox\

  5. 找到dosbox.exe(从步骤 1 开始)并双击它。这应该会打开一个带有提示的黑色窗口,Z:\>.

  6. 在该窗口中,键入mount c c:\pgms\dosbox

  7. 还要输入mount d c:\users\mark_\diskwhere chap11is a subfolderin that folder。该文件夹disksubfolder chap11特定QBasic于我原始帖子中的文件。

  8. 类型d:

  9. 类型cd chap11

  10. 类型c:\qb45\qb d:\chap11\catch1.mak

这应该加载所需qbasicCATCH1.BAS和其他 3 个基本程序。程序CATCH1.BAS将显示在屏幕上。

  1. Alt-R点击,运行程序Enter
于 2020-06-09T21:46:39.143 回答