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

На паскале для мобилы.

мы будем писать на паскале для мобилы
🕛 25.03.2008, 12:29
Да, да! Дорогой друг, ты не ошибся! Сёдня мы будем писать на паскале для мобилы! Но конечно не просто на паскале, а на специализированном для этих целей языке, называемом MIDLetPascal. Его можно слить с сайта разработчиков http://midletpascal.com.

Процесс очень интересный - вроде пишешь на старом, добром паскале, а код конвертируется в яву и на выходе ты получаешь совершенно нормальное мобильное предложение. Ну давай попробуем разобраться по-подробнее.

После создания нового проекта (File-New) мы получим следующиё кусок кода:
program NewProject4; 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.

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

На этом чудо-языке можно писать и игры для мобил, но это немного посложнее вывода текста, так что не всё сразу. Конечно можно найти к МидлетПаскалю хелпы, начитаться их и, может что-то и получится. Но это сложно, изучать надо постепенно, так что не торопись, читай по-немногу!

Дава й теперь напишем какой-нибудь пример сами. Ну например, пусть текст будет перемещаться по дисплею, по нажатию на кнопки. Заодно и про работу с кнопками поговарим.

Создавай новый проект и пиши в нём следующее:
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. Всё просто, но весело.

Теперь всё это дело надо скомпилировать и протестировать. Для тестинга конечно лучше иметь у себя на компе эмулятор телефона. Ведь неудобно каждый раз закидывать файлы на телефон, но можно. Про эмуляторы можно пробить на сайте разработчиков Чудо-Мабило-Паскаля

Вот такие прикалюхи можно писать на телефон с помощью старого доброго паскаля, так что забывать его вам не советую. Ну на сёдня все, остальное позже...

Pascal и Delphi   Теги:

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