我正在尝试运行其他人在1992年编写的QuickBasic文件。我在一台Windows 10机器上使用QB64。我收到一条错误消息,显示以下代码的line 26中的Invalid variable name。下面是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。当人们使用随书附带的代码时,人们会被要求对其进行归类。所以,代码是由雷·希尔伯恩写的,我相信。
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感谢您在解决此错误消息方面的任何帮助。
发布于 2020-06-10 05:46:39
一位朋友告诉我如何运行QBasic文件。以下是他略微编辑过的说明。从本质上讲,您需要安装一个MS-DOS emulator和一个版本的QBasic,这里是QB45。下面的一些说明是针对我最初帖子中的文件的,但这些说明可能可以推广到许多旧的QBasic文件。
MS-DOS仿真器(DOSBOX,QBASIC的一个版本(https://www.qbasic.net/en/qbasic-downloads/DOS/Windows-Solutions.htm)。(我下载了两个推荐解决方案中的第一个:Basic 2 DOSBox)dosbox,但当它询问安装位置时,请将其放在c:\pgms\dosbox (而不是c:\Program Files (x86)\DOSBox-0.74-3)中。旧的ms-dos操作系统不喜欢长文件名或文件名中包含空格。)c:\pgms\dosbox\dosbox.exe (从步骤1开始)中粘贴QB45文件夹(在步骤2中解压缩文件时获得),然后双击它。这将打开一个黑色窗口,并显示提示符Z:\>.mount c c:\pgms\dosbox.mount d c:\users\mark_\disk,其中chap11是folder中的subfolder。文件夹disk和subfolder chap11特定于我最初帖子中的QBasic文件。d:cd chap11c:\qb45\qb d:\chap11\catch1.mak这将使qbasic加载所需的CATCH1.BAS和其他3个基本程序。屏幕上将显示程序CATCH1.BAS。
通过点击Enter.,
https://stackoverflow.com/questions/62215103
复制相似问题