🔍

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

мы будем писать на паскале для мобилы
Да, да! Дорогой друг, ты не ошибся! Сёдня мы будем писать на паскале для мобилы! Но конечно не просто на паскале, а на специализированном для этих целей языке, называемом 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
Информационные технологии
Мы в соцсетях ✉