Программы, игры, видео, mp3 для телефонов SonyEricsson M600, W950, P990, P1, W960
  
Обратная связь |Обратная связь 310730373 | Написать письмо | Rss 
English version хостинг Mirage Networks
mShell

И так, статьи писать я не очень умею но хотелось бы показать вам такую вещь как mShell...
Данная программа является интерпретатором языка программирования m для смартфонов UiQ3, UiQ2 и S60. Это вам ничего не говорит? Ну тогда понятней, эта среда программирования не компилирует написанную на языке m программу а запускает как скрипт. Чем это плохо, и чем хорошо:
Плохо:
1. Скорость работы приложений ниже чем у скомпилированных, независимых приложений.
2. Запуск скрипта выполняется из среды программирования, а не из списка приложений.
3. Интерфейс переплетается с консолью mShell.
Может есть еще недостатки но в описании они думаю не нуждаются

Посмотрим чем же он хорош:
1. Написание программы непосредственно на смартфоне.
2. Написание мультиплатформенных скриптов.
3. Данный язык легко дается обузданию
4. Возможность поставить скрипт в автозагрузку, т.е. при запуске mShell скрипт автоматически запускается.
5. Если изучить язык m (а, это не трудно) можно писать приложения в каких вы нуждаетесь и не ждать когда же программу сделают, а потом когда крякнут :)

Это конечно не все преимущества данной среды программирования, я навел самые основные какие в голову пришли.



Интересно? Ну тогда пойдем дальше...
Для начала нам нужно:
1. Сам mShell
2. Подписать mShell сертификатом разработчика и установить на смарт
3. Зарегистрировать mShell(бесплатно)

Теперь у нас установлен mShell.
Как на пример, можете посмотреть на скрипты SmsService, Partytime и RailwayClock(пример програмного рисования графики).

Тем кто программировал на паскале или с++ да и вообще на чем то программировал, не составит труда научиться программировать на m. Тех же кто не программировал попрошу не вешать нос, ведь никогда не поздно начать, и начнете вы с m.






Думаю достаточно теории, пора перейти к практике...
Ну как правило первой(на любом языке) пишут программу "Hello, world", чем мы хуже? На m сделать это очень просто.
Запускаем mShell, "Дополн." -> "New script", откроется окно куда вы пишете код своей программы. Для "Hello, world", пишем следующее:

print "Hello, world";

Готово, теперь для запуска нажимаем "Дополн." -> "Save & Go".
Программа должна вывести текст "Hello, world" и завершить работу. Статус скрипта(программы) видно вверху окна возле названия вашего скрипта. Зеленая иконка - программа работает, красная - не работает т.е. сделал что нужно и завершил работу(более подробно об этом можете прочесть в документации).
Для возврата к редактированию кода программы нажимаем "Дополн." -> "Edit Source".
Как вы уже поняли print это оператор который выводит текст. Теперь перейдем к более сложной программе:

use vibra
while true do
vibra.on();
sleep(50);
vibra.off();
print "тук";
cls();
sleep(1600);
end


Запускаем, работает? Ваш телефон ожил, у него появилось сердце. Если оно беться не очень правильно не беда, ведь я не врач и на угад поставил промежутки, можете поекспериментировать и поправить "пульс" :)
Разберем программу:
uses vibra - обьявляется использование библиотеки vibra, т.е. виброзвонка телефона.
while true do - это начало цикла. Тоесть код заключенный в цикл будет постоянно повторяться и программа не закроется пока условия скрипта не выполняться, но у нашей программы "Пульс", скрипт не перестанет работать никогда, потому-что условие true. Для завершения работы программы нажимаем "Дополн." -> "Stop".
end - конец тела цикла в данном случае.
vibra.on() - включить вибро
vibra.off() - выключить вибро
sleep(50) - задержка перехода на следующий оператор (в миллисекундах)
cls() - очистка консоли.
Теперь вы должны понять как программа работает, а если так и не поняли то переведу код в привычные человеку фразы :) Человеческим языком код нашей программы выглядит так:

включить возможность использования вибро
начало цикла
включить вибро;
задержка 50 миллисек.;
выключить вибро;
вывести на экран тескст "тук";
очистить экран;
задержка 1.6 сек.;
конец цикла

Эта статья, коротенькое введение в язык m. Полное описание языка, его функций, библиотек и т.д. вы узнаете в документации mShell, там все ясно написано.
Мне бы хотелось чтобы простые юзеры попробовали попрограммировать, ведь это такое интересное занятие :)

Документация:
Обучение и руководство пользователя
Справка
Руководство по библиотекам

Может где-то я допустил ошибку или у вас есть что добавить, пишите...



При копировании данного материала имя автора и ссылка на источник обязательны.
YuBerion.

http://www.yuberion.uiq3.org/readarticle.php?article_id=1
2007-12-03