在 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
您可以将此概念扩展到其他程序。
谢谢
贾·伊姆兰·汗。
以下是一个程序,我试图用十种不同的颜色打印文本,但由于英特尔 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
您可以将此概念扩展到其他程序。 谢谢
贾·伊姆兰·汗。