Среда, 02.07.2025, 20:12
Приветствую Вас Гость | 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)
Меню сайта
Форма входа
Поиск
Календарь
«  Июль 2025  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Друзья сайта
Статистика

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