Курсовая работа: Графическое программирование на Ms Fortran
! Перечислены коды следующих символов:0,1,2,3,4,5,6,7,8,9,+,-,.,E,e
m=m+1 ! Отсчет количества введенных символов
if (m.eq.12) exit ! Максимум 12 символов
write(ValElem,'(a,a)') ValElem(1:m),char(i2) ! В буфер помещается первые m символов и введенный
else
if (i2.ne.8) call SetTextPosition(2,2,rc)
if (i2.ne.8) call OutText(' Ошибка ввода! ')
if (i2.eq.8) write(ValElem,'(a,a)') ValElem(1:m),' ' ! При нажатии Backspace
if (i2.eq.8) m=m-1 ! Удаление последнего символа
end if
end do
call SetTextPosition(3,2,rc)
read(ValElem,'(f12.0)') A(i,j) ! Преобразование символа в число (через буфер)
write(5,*)'Элемент массива ',A(i,j)
i2=getch() ! Задержка до нажатия клавиши
call ClearScreen($GWINDOW) ! Очистка текстового окна
i2=SetColor(8) ! Цвет зеленый
i2=rectangle($GFILLINTERIOR,0,0,nx,ny)
i2=SetColor(2) ! Цвет зеленый
i2=rectangle($GBORDER,1,Int(kr*ny),Int(kc*nx),ny-1)
end do
end do
11 format('(',i1,',',i1,') ')
end
Для переноса текста в пределах окна используется функция WrapOn.
Пример:
dum = WrapOn($gwrapon), где:
$gwrapon – символическая константа, указывающая на перенос строки по границе окна
$gwrapoff – обрывание строки по границе окна.