在 do-loop 中使用十六进制颜色常量打印不同颜色的文本

Printing different colored text with hex color constants in do-loop

以下是一个程序,我试图用十种不同的颜色打印文本,但由于英特尔 fortran 中没有 dectohex(4) 函数,如何在 quickwin 应用程序上实现所需的输出。

谢谢

 ! build as a QuickWin App.
USE IFQWIN
INTEGER(2) result
INTEGER(4) i
TYPE (xycoord) xys

result = INITIALIZEFONTS()
result = SETFONT('t''Arial''h18w10pvib')

CALL MOVETO(INT2(100),INT2(100),xys)
grstat=SETCOLORRGB(#0000FF) !red color
CALL OUTGTEXT('The brown fix jumps over lazy dog. ')
!Now print ten times with different colors

do i=1,10
        grstat=SETCOLORRGB(dectohex(i))
       CALL OUTGTEXT('The brown fix jumps over lazy dog. ')
end do

END

向你致敬!我根据 Scott Johnson 的第一条评论找到了解决方案。

我所做的是创建一个 4 字节的整数数组来复制 'enum' 默认情况下在 fortran 中不可用的数据类型。

INTEGER(4) , DIMENSION (3)::COLORS
COLORS=(/#0000FF, #00FF00, #FF0000/) !just 3 colors to illustrate the solution
do i=1,3
        grstat=SETCOLORRGB(COLORS(i))
      CALL OUTGTEXT('The brown fix jumps over lazy dog. ')
end do

您可以将此概念扩展到其他程序。 谢谢

贾·伊姆兰·汗。