21.11.2010, 16:44 | #1 (permalink) |
Member
Регистрация: 11.11.2010
Сообщений: 85
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Репутация: 20
|
Модуль Crt
Нужно составить так , что бы в данной программе все три режима писались в одну строку, а не в столбик. Код:
program e; uses crt; type mas= array[1..3] of string[20]; const stor:mas=('режим 1','режим 2','режим 3'); Var i,k:byte; kod:char; begin textmode(co80); clrscr; window(31,11,50,16); textbackground(7); textcolor(0); clrscr; k:=1; gotoxy(3,2); write('Выберите режим'); kod:=' '; while kod<>#13 do begin for i:=1 to 3 do begin if i=k then begin textbackground(0); textcolor(7); end else begin textbackground(7); textcolor(0); end; gotoxy(1,i+2); write(stor[i]); end; kod:=readkey; sound(700); delay(500); nosound; if kod=#0 then begin kod:=readkey; if kod=#72 then if k>1 then k:=k-1 else k:=3; if kod=#80 then if k<3 then k:=k+1 else k:=1; end; end; window(1,1,80,25); gotoxy(33,15); write('выбран режим',k); end. |
21.11.2010, 16:44 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
По данной тематике есть и другие темы АМ/ЧМ модуль YTS920 Оптосимисторный модуль Как закрыть модуль ABCObjects в Паскале? |
21.11.2010, 18:34 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
К сожалению, я не очень разбираюсь в этой textmode, как-то никогда не использовал в своих программах псевдографические возможности этого режима, но так, кое-какие соображения:
1. Почему-то маленькое окно рисуется только при первом запуске программы, при повторном же программы окно разворачивается во весь экран. Вероятно, в конце нужно для полноэкранного окна восстановить исходную (default) палитру. Даже не знаю, есть ли для этого специальная CRT-команда. 2. Зачем Вы задаете длину строк в 20 символов в типе, если дальше в константе stor используются строки длиной 7 символов? 3. Расположение режимов "в столбик" определяется строкой gotoxy(1,i+2); Если Вы хотите, чтобы перечень режимов был "в строчку", так надо, во-первых, изменить размеры окна (ужать по вертикали и вытянуть по горизонтали), во-вторых, в операторе gotoxy зафиксировать второй параметр (положение по вертикали) и менять позиции в первом, задавая соответствующие сдвиги по горизонтали, в третьих - поменять коды команд, чтобы реакция была на горизонтальные, а не вертикальные стрелки. Как-то так. |
21.11.2010, 20:41 | #3 (permalink) |
Member
Регистрация: 11.11.2010
Сообщений: 85
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Репутация: 20
|
Хм...попробую....может что-то и получится...спасибо.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|