Пятница, 03.05.2024, 07:13

Delphi

Приветствую Вас Гость

Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Сегодня были:
Самые активные пользователи

Меню сайта
Категории каталога
Основы [8]
Исходники [2]
Наш опрос
Чему уделять больше внимания?
Всего ответов: 64
Главная » Статьи » MIDletPascal » Основы

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


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


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





Взято с сайта http://www.liveofpc.3dn.ru/

Категория: Основы | Добавил: Ivin (22.03.2008)
Просмотров: 2108 | Рейтинг: 0.0/0 |