Значения параметров окна устанавливается путем обращения к функции SETWINDOWCONFIG, а запрашивается с помощью функции GETWINDOWCONFIG. Установка конфигурации окна не обязательна, но при необходимости можно задавать конфигурацию окна обратившись к функции SETWINDOWCONFIG так
sl4= SETWINDOWCONFIG(gs), gs –
переменная производного типа windowconfig, она содержит параметры конфигурации
окна. При обращении к функции SETWINDOWCONFIG значение всех полей должно быть
определено. Функция возвращает значение .TRUE.,
если конфигурация окна установлена, и .FALSE.,
если конфигурация не может быть установлена по той или иной причине. Если
конфигурация не устанавливается, то автоматически задается наилучшее возможное
в системе разрешение и размер шрифта 816. Число допустимых цветов определяется
видеоадаптером. Значение параметров окна возвращается функцией GETWINDOWCONFIG, обращение к
которой имеет вид: sl4=SETWINDOWCONFIG(gs). Если конфигурация не устанавливалась, то
возвращаются значения полей записи gs, принятые по
умолчанию.
![]() |
Производный тип или структура в Фортране, в отличие от встроенных типов, задается программистом. К производным типам относятся тип-запись. Для объявления типа запись используется оператор TYPE…END TYPE. Тип WINDOWCONFIG определен в модуле DFLIB. TYPE WINDOWCONFIG INTEGER(2) NUMXPIXELS ! Число пикселей по оси х INTEGER(2) NUMYPIXELS ! Число пикселей по оси y INTEGER(2) NUMTEXTCOLS ! Число доступных столбцов текста INTEGER(2) NUMTEXTROWS ! Число доступных строк текста ... END TYPE WINDOWCONFIG. Кроме перечисленных полей (компонентов записи), имеются поля, которые позволяют изменять шрифты, размеры шрифтов, задавать заголовок видеоокна. Более подробно можно прочитать описание компонентов в книгах [Бартеньев О. В. Visual Fortran: Новые возможности.]. |
В некоторых входных языках можно задать окно вывода, связав его с математической декартовой системой координат, для этого используем обращение к функции
Sl2=SETWINDOW(f,wx1,wy1,wx2,wy2)
F – параметр типа LOGICAL(2), который определяет направление координатной оси y: если значение f=.TRUE., то ось у увеличивается от нижней границы видового окно до верхней, если f=.FALSE., то ось у увеличивается от верхней границы видового окна до нижней;
wx1, wy1 – левый верхний угол окна в математической системе координат;
wx1, wy1 – правый нижний угол окна в математической системе координат.
Тип параметров wx1,wy1,wx2,wy2- REAL(8). Тип функции INTEGER(2). Функция возвращает значение отличное от нуля, если открытие окна произошло успешно, и нуль в противном случае.
ПРИМЕР: Построить график функции .
PROGRAM Graph
USE DFLIB
REAL(8), PARAMETER :: A=-3.0D0, B=3.0D0, &
C=-5.0D0, D=10.0D0, M=4.0D2
INTEGER(2) SL2
iNTEGER(4) SL4
REAL(8) X, Y, Y1, H
LOGICAL(2) :: F=.TRUE._2
SL2=SETWINDOW(F,A,D,B,C)
SL4=SETBKCOLORRGB(#D01F01)
CALL CLEARSCREEN($GVIEWPORT)
SL2=SETCOLOR(10_2)
H=(B-A)/M
X=A
SL2=SETPIXEL_W(X,Y)
DO WHILE(X<=B)
Y=DSIN(4*X)+X*X
SL2=SETPIXEL_W(X,Y)
X=X+H
CALL SLEEPQQ(10)
END DO
STOP
END
В этой программе для задания цвета пера использована функция SETCOLOR(nc), здесь
Nc – параметр типа INTEGER(2), определяющий номер цвета по таблице цветов.Для очистки окна (заливки текущим цветом фона) использовано обращение к процедуре CLEARSCREEN($GVIEWPORT).
ЗАДАНИЕ:
Запустите программу и
пронаблюдайте ее работу (Grrrrr_m).