HTBasic/Rocky Mountain BASIC Windows XP 中的彩色打印

Printing in Color in HTBasic/Rocky Mountain BASIC in Windows XP

谁能帮我理解这段 "Rocky Mountain BASIC" 或 "HTBasic" 代码?

我必须找出打印功能不再起作用的原因。

首先,这一行

PRINTER IS 26

我知道我们要使用的打印机是“26”,但是 26 是什么意思?

REPEAT
    IF LWC$(Imp$)="o" THEN
        PRINTER IS 26
        FOR I=0 TO VAL(Mesu$(0,5))
            FOR L=0 TO 6
                PRINT Mesu$(I,L)
            NEXT L
        NEXT I
    ELSE
        FOR L=0 TO 6
            PRINT TABXY(2,9+L);Mesu$(0,L)
        NEXT L
        FOR C=1 TO VAL(Mesu$(0,5))
            PRINT TABXY(20-36*(C>3)+(C-1)*12,8+8*(C>3)),"voie "&VAL$(C-1)
            FOR L=1 TO 7
                PRINT TABXY(20-36*(C>3)+(C-1)*12,L+8+8*(C>3)),Mesu$(C,L-1)
            NEXT L
        NEXT C
    END IF

    INPUT "SORTIE sur l'IMPRIMANTE  O/N ?",Imp$
UNTIL LWC$(Imp$)="n"

“26”是指定PRINT语句输出端口的代码之一。例如,

PRINTER IS CRT
PRINTER IS PRT

字母代码对应数字代码;例如,PRINTER IS CRTPRINTER IS 1 相同,PRT 与 701 相同。

可能适用于此 BASIC 方言印刷的代码(包括 26)是:

26 701 9 15 19 23 24 25

我从一份古老的文档 Using HP BASIC For Instrument Control: A Self-Study Course 中提取了此内容,您可能会发现它很有用。 (我怀疑您在主题行中指的是 HPBasic,而不是 HTBasic?)

TABXY 是 PRINT 语句的变体,用于打印到 CRT 屏幕上的特定位置;我看到的文档说,如果不打印到 CRT,XY 将被忽略,但如果 TABXY 也适用于某些绘图仪,我不会感到惊讶。前两个数字是开始显示文本的 X 和 Y 坐标,TABXY(1, 1) 表示左上角,右下角取决于 CRT 的列数和行数。

您可能会发现 HP9000 系列 BASIC Language Reference, Volume 1 and BASIC Language Reference, Volume 2 很有用。

LWC$只是一个小写函数,保证无论用户在INPUT行输入“O”、“N”、“o”、“n”,程序都能正确响应。

VAL 将字符串转换为该字符串表示的数字。例如,字符串“3”将变为数字 3。

变量Mesu$很可能是一个二维数组,x从0到第4行判断,变量Mesu$(0, 5)中包含的变量,y从0到6,从第4行判断5.

我猜 PLOTTER 所在的行是 26,我们说我们想要颜色。

MAT Menu$=("")
DISP "envoi à l' imprimante .."
Menu$(1)="PLOTTER"
Menu$(2)="IMPRIMANTE COULEUR"
!Select(0,1,Tp,26,12,1)
IF Tp=1 THEN
     PLOTTER IS 705,"HPGL"
ELSE
     PLOTTER IS 26,"HPGL;PCL5;COLOR,1600",0,260,0,185
END IF