Вторник, 09.06.2026, 20:02
Приветствую Вас Гость | RSS

Язык программирования ПРОЛОГ

Создание меню с помощью окон

Создание меню с помощью окон

Определение окна

makewindow (НомерОкна, АтрОкна, АтрРамки, Заголовок, Строка, Столбец, Высота, ШиРина) (integer, integer, integer, string, integer, integer, integer, integer): (все i) (все o)

Строка, столбец – координаты верхнего левого угла.

АтрЭкрана: =7 – позитивное изображение. 112 – негативное изображение. +1 – подчеркивание, +8 – высокое разрешение, +128 – мерцание символа.

Атрибуты рамки: 0 – нет рамки.

Смена текущего окна (считывание номера)

shiftwindow (НомерОкна) : (integer) (i) (o)

Окна перекрываются.

Быстрое переключение между двумя окнами

gotowindow (НомерОкна) : (integer) (i)

Окна не перекрываются и работают быстрее, чем shiftwindow.

Очистка текущего окна

clearwindow

Удаление текущего окна

removewindow

/* Создание меню с помощью окон */

predicates

      repeat

process

(integer)

show_menu

run_file_utility

goal

      run_file_utility.

clauses

      run_file_utility:- show_menu,

nl, write ("Нажмите любую клавишу”),

readchar (_), exit.

      repeat.

      repeat:- repeat.

show_menu:- repeat,

make_window (1, 7, 7), "Главное меню”, 4, 10, 16), 36), nl,

write ("Меню утилит”), nl, nl,

write ("0 Конец”), nl,

write ("1 Delete file”), nl,

write ("2 Rename”), nl,

write ("3 Create”),

write ("4 Edit”), nl,

write ("Выберите одну из цифр”), nl,

readint (X), X<5,

process (0):- nl, write ("Exit menu”), nl.

process (1):- makewindow (2, 7, 7, "Delete file”, 12, 36, 10, 36),

write ("This will delete file”), nl, nl,

<реализация процесса>,

write ("Press any key for main menu”),

readchar (_), remopvewindow.

process (2):- // аналогично process (1)
Меню сайта
Форма входа
Поиск
Календарь
«  Июнь 2026  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright Long Time Ago © 2026
Сделать бесплатный сайт с uCoz