Добро пожаловать на MidletPascal - а теперь еще скоро и Android и Iphone...
Авторизироваться
Меню сайта
Категории раздела
Для начинающих [16]
С этих статей вырасли все, кто сейчас программирует на MP. Именно с этих статей надо начинать новичку, качество у них не всегда хорошее, но почитать стоит.
Разбираем.Обьясняем [1]
В этой категории обьясняем, разьясняем библиотеки,примеры,мидлеты и т.д.
Прочее [4]
Прочее, что не касается программирования: как настроить MP, что нужно для работы и др...
Наш опрос
Стоит ли на нашем сайте публиковать мобильные новости?
Всего ответов: 177
Мини-чат
200
Статистика

Онлайн : 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Midlet Pascal » Для начинающих

1. Знакомимся.
Да, да! Дорогой друг, ты не ошибся! Сёдня мы будем писать на паскале для мобилы! Но конечно не просто на паскале, а на специализированном для этих целей языке, называемом MIDLetPascal. Его можно слить с сайта разработчиков http://midletpascal.com.
Процесс очень интересный - вроде пишешь на старом, добром паскале, а код конвертируется в яву и на выходе ты получаешь совершенно нормальное мобильное предложение. Ну давай попробуем разобраться по-подробнее.
После создания нового проекта (File--New) мы получим следующиё кусок кода:
Code
program NewProject;  
begin  
drawText('Hello world!', 0, 0);  
repaint;  
delay(2000);  
end.

Ну давай разбираться! С первой строкой вроде всё понятно, а вот в блоке begin..end надо приглядетсья повнимательнее. Этот код просто выводит на экран текст "Hello World!!!". Т.е. процедура procedure DrawText(text: string, xPos, yPos: integer); записывает нужный текст в буфер. Она имеет три параметра:

text: string - текст, который записывается в буфер.
xPos : integer - положение текста от левой границы экрана.
yPos : integer - положение текста от верхней границы экрана.

procedure Repaint; - перерисовывает дисплей мобилы. Просто все функции отображения или текста, или рисунка сами его не выводят, а лишь записывают в буфер. Но перерисовка очень сложная процедура, требующая много времени, поэтому используй её как можно реже.

procedure Delay(millis: integer); Приостанавливает выполнение программы в течение данного времени в миллисекундах. Т.е. если просто вывести текст на дисплей, то он отоброзится и сразу исчезнет. Не забывай это!!! Используй процедуру Delay.

Вот вроде и разобрались с первой прогой на МидлетПаскале. Можешь компилировать проект, закачивать его на своего мобильно друга и хвастаться перед знакомыми девчёнками. А прикинь выражение товоей подруги, если ты ей на День Рождения подаришь такую прогу, которая будет её поздровлять! Всё! Она твоя!
На этом чудо-языке можно писать и игры для мобил, но это немного посложнее вывода текста, так что не всё сразу. Конечно можно найти к МидлетПаскалю хелпы, начитаться их и, может что-то и получится. Но это сложно, изучать надо постепенно, так что не торопись, читай по-немногу!
Давай теперь напишем какой-нибудь пример сами. Ну например, пусть текст будет перемещаться по дисплею, по нажатию на кнопки. Заодно и про работу с кнопками поговарим.
Создавай новый проект и пиши в нём следующее:

Code
program MoveText;  

var x, y: integer;  
keyCode: integer;  

begin  
repeat  
keyCode := GetKeyPressed; // Получение нажатой кнопочки  

if KeyToAction(keyCode) = GA_UP then y := y - 1;  
if KeyToAction(keyCode) = GA_DOWN then y := y + 1;  
if KeyToAction(keyCode) = GA_LEFT then x := x - 1;  
if KeyToAction(keyCode) = GA_RIGHT then x := x + 1;  

SetColor(255, 255, 255); // установливаем цвет рисунка в белый  
FillRect(0, 0, GetWidth, GetHeight);// очищаем экран  
SetColor(0, 0, 0); // установливаем цвет рисунка в черный  
DrawText('Hello world', x, y); // выводим текст в опред. позиции  
Repaint;//перерисовка  
Delay(100);//задержка  

until keyCode = KE_KEY0;  
end.

Сначала вводим переменные, ни каких отличий с паскалем нету. Потом применяем конструкцию repeat..until, такую же как и в паскале. Затем инициализируемся, перехватываем код нажатой клавиши. И по ситуации перерисовываем текст - правее или левее, ниже или выше. Ещё попутно устанавливаем цвета стандартной процедурой procedure SetColor(red, green, blue:integer); Которая имеет три простых параметра : смодержание красного, зелёного и голубого, значения увеличиваются от 0 до 255. В конце работы с текстом в буфере перерисовывает его на экран, делаем задержку. Все действия продолжаются до того, пока не нажата клавиша 0. Всё просто, но весело.
Теперь всё это дело надо скомпилировать и протестировать. Для тестинга конечно лучше иметь у себя на компе эмулятор телефона. Ведь неудобно каждый раз закидывать файлы на телефон, но можно. Про эмуляторы можно пробить на сайте разработчиков Чудо-Мабило-Паскаля
Вот такие прикалюхи можно писать на телефон с помощью старого доброго паскаля, так что забывать его вам не советую. Ну на сёдня все, остальное позже...

Авторство: http://www.liveofpc.3dn.ru/

 Автор статьи: Васючков Андрей aka Soffrick

Категория: Для начинающих | Добавил: admin (28.10.2008)
Просмотров: 1293 | Комментарии: 1 | Рейтинг: 5.0/2
Всего комментариев: 1
25.08.2009 в 23:58 Спам
Понятно пишите))
спс
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]