Информационные технологииStfw.Ru 🔍

Меню или пишем шпоры на экзамен.

в этом материале я покажу как делать менюшки в приложениях для мобильника на МидлетПаскале, и попутно мы напишем шпоры на экзамены
🕛 25.03.2008, 12:27
Странное название статьи, не правда ли? Просто в этом материале я покажу как делать менюшки в приложениях для мобильника на МидлетПаскале, и попутно мы напишем шпоры на экзамены. Естественно шпоры будут в виде проги для мобилы, ведь на бумажке мелким почерком каждый и так умеет:)

Ну, давай начинать! Запускай MidletPascal и создовай новый проект, предварительно создав для него отдельную директорию. Всегда старайся держать исходники по папочкам, а то в полном хаосе вряд ли ты чего-нибудь найдёшь. Можешь переименовать прогу как твоей душе угодно, а я назвал её "menu", потому что в первую очередь - это пример, который научит тебя создовать менюшки для прог. Сразу объявляй восемь
переменных : пять из них сделай типа integer, а остальные command (надеюсь, ты знаешь что такое integer:), а про command я уже говорил в других статьях). Вот, что должно получиться :


var bilet1, bilet2, bilet3, bilet4, bilet5 : integer;
show, clicked, exit : command;

Для чего нам так много числовых переменных? Да они то и будут у нас пунктами меню! И названия соответствующие, ведь шпаргалку на экзамен пишем. Так, с переменными разобрались, идём дальше. Пиши в теле программы следующий кусок кода :


showMenu('Select a bilet', CH_IMPLICIT);
bilet1 := menuAppendString('Билет 1');
bilet2 := menuAppendString('Билет 2');
bilet3 := menuAppendString('Билет 3');
bilet4 := menuAppendString('Билет 4');
bilet5 := menuAppendString('Билет 5');

Итак, первой строкой мы создаём меню. Когда на дисплее показано меню, то больше ни какие элементы формы не могут быть отображены на экране, кроме команд. Процедура имеет два параметра:

1. title:string - это название меню, т.е. текст, который будет показан перед меню. У меня это Select a bilet, что в переводе на великий и могучий означает "выберете билет". 2. menuType:integer - это тип меню. Может быть вот таким: -CH_IMPLICIT - это самое обыкновенное меню. -CH_EXCLUSIVE - при этом параметре, перед пунктом меню будет маленькая радио-кнопка, которая и осуществляет выбор. -CH_MULTIPLE - с этим параметром можно выбирать несколько пунктов меню

Нам много не надо, так что я поставил параметр menuType равным CH_IMPLICIT. Этого будет достаточно. Но ты можешь поэксперементировать с другими параметрами.
Дальше, я присваиваю каждой переменной результат функции menuAppendString. Эта функция вставляет в меню пункт, название которого указанно в единственном параметре функции. У нас это "Билет 1", "Билет 2" и т.д. Ну вот меню и создано. Но ничего не происходит. Надо создать команды, как это делать ты знвешь, но я всё же приведу пример:


show := createCommand('Показать', CM_SCREEN, 1);
addCommand(show);
repeat
delay(100);
clicked := getClickedCommand;
until clicked = show;

Это всё ты уже должен знать сам, так что я объяснять не буду, а сразу пойду дальше. Теперь нам надо, чтоб при нажатии на определённый пункт меню вылазила определённая информация. Вот как можно это реализовать:


if menuGetSelectedIndex = bilet1 then
begin
showTextBox('Билет 1', 'Выбран Билет 1 ', 2000, TF_ANY);
end;
if menuGetSelectedIndex = bilet2 then
begin
showTextBox('Билет 2', 'Ты выбрал Билет 2 ', 2000, TF_ANY);
end;
if menuGetSelectedIndex = bilet3 then
begin
showTextBox('Билет 3', 'Билет 3 выбран тобою', 2000, TF_ANY);
end;
if menuGetSelectedIndex = bilet4 then
begin
showTextBox('Билет 4', 'Билет 4 рулит!!! ', 2000, TF_ANY);
end;
if menuGetSelectedIndex = bilet5 then
begin
showTextBox('Билет 5', 'Билет 5..!!!!!!.', 2000, TF_ANY);
end;

exit := createCommand('Выход', CM_SCREEN, 1);
addCommand(exit);
repeat
delay(100);
clicked := getClickedCommand;
until clicked = exit;

Здесь всё очень просто : сначала идёт проверка, какой же пункт меню выбран? Проверка осуществлена с помощью функции menuGetSelectedIndex, которая возвращает имя (не название, не title) выбранного пункта меню. И если выбран первый пункт, то выводим первый текст, если выбран второй - то второй текст и т.д. Ну а потом мы создаём команду выхода, чтоб можно было нормально покинуть приложение.
Ну вот, прога готова! Тебе осталось только набить её своими билетами и смело идти на экзамен :) Да, кстати, прога не может возвратиться из выбранного билета обратно в меню. Это дело уже за тобой, сам доделывай, фантазируй. Ну а я вроде всё сказал, что хотел.

Pascal и Delphi   Теги:

Читать IT-новости в Telegram

Читайте также:

Пишем простой хелп

Информационные технологии
Мы в соцсетях ✉