IPB
ЛогинПароль:

> Написание J2me приложений для телефонов., Midlet Pascal
Altair
сообщение 4.01.2006 20:49
Сообщение #1


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Вступление
MIDletPascal - язык программирования, предназначенный для создания мобильных приложений.
Компилятор MIDletPascal переводит код Pascal на Java bytecode (J2ME) .
Программы, написанные в MIDletPascal могут быть запущенны на любом мобильном устройстве ( типа мобильных телефонов) с Java - поддержкой.
MIDletPascal - удобное средство разработки, делающее новый шаг в развитии мобильного программирования.
С MIDletPascal, Вы сделаете новый шаг в мир мобильного программирования!

Особенности
  • Генерация быстрого и компактного Java™ bytecode.
  • Полная поддержка языка Pascal
  • Частично код может быть написан прямо на Java
  • Удобная работа с SMS.
  • Коммуникация по HTTP
  • Поддержка пользовательсткого интерфейса (формы).
  • Мультимедиа (работа со звуком, картинками)
  • легкая в использовании IDE
Примеры программ.
Программа выводит на экран сообщение которое меняет свой цвет с черного на белый неоднократно.
var color : integer;

begin
color := 0;
setFont(FONT_FACE_SYSTEM, FONT_STYLE_BOLD, FONT_SIZE_LARGE);

repeat
setColor(color, color, color);
color := color + 8;

if (color > 255) then
color := 0;

drawText('Hello world!', 0, 0);
repaint;
delay(100)
until false
end.


Программа - скринсейвер
program ScreenSaver; 

const up = 1; // these constants define the direction
down = 0; // in which the icon moves
left = 1;
right = 0;

var x, y : integer; // the current icon's left upper corner position
img : image; // handle of the image object
direction_x,
direction_y : integer; // the movement direction

begin
img := loadImage('/icon.png');

repeat
// move the icon according to the current direction
if direction_y = up then y := y - 1;
if direction_y = down then y := y + 1;
if direction_x = left then x := x - 1;
if direction_x = right then x := x + 1;

// check if the icon hit the display border
if x = 0 then direction_x := right;
if x = (GetWidth – GetImageWidth(img)) then direction_x := left;
if y = 0 then direction_y := down;
if y = (GetHeight – GetImageHeight(img)) then direction_y := up;

SetColor(255, 255, 255);
FillRect(0, 0, GetWidth, GetHeight);
DrawImage(img, x, y);
Repaint;
Delay(50);
until GetKeyPressed <> KE_NONE;
end.


Пара слов о лицензии
Для персонального использования, без support'a, MIDletPascal распространяется бесплатно. (download)
Для комерческого ипользования
Лицензия на 1 человека - 40$
на <10 - 100$
более 10 - 300$

Этапы создания приложения
Пустое окно:
Прикрепленное изображение
Создание проекта
Прикрепленное изображение
Отладка - поиск ошибок
Прикрепленное изображение
Редактирование ресурсов
Прикрепленное изображение
Запуск программы. Эмуляция.
Прикрепленное изображение

Эмуляция
Что бы не проверять каждую программу на телефоне, желательно скачать и установить любой подходящий вам эмулятор мобильного устройства.

Оффициальный сайт:
http://www.midletpascal.com/


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
2 страниц V < 1 2  
 Ответить  Открыть новую тему 
Ответов(20 - 36)
GoodWind
сообщение 16.01.2006 19:34
Сообщение #21


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Virt, медленно, пробовал


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
xds
сообщение 17.01.2006 4:46
Сообщение #22


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


Быстро будет с drawRGB() - она получает весь массив сразу.


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GoodWind
сообщение 19.01.2006 18:46
Сообщение #23


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


т.е. хелп в MIDletPascal неполный ? или ты имеешь в виду вставки java-кода... и где вообще инфу можно взять ?

зы. как перевести мидлет в полноэкранный режим ? (series40, nokia 6610)


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
xds
сообщение 20.01.2006 5:49
Сообщение #24


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


Я имею в виду стандартную библиотеку Java, которая и определяет потенциальные возможности приложений. Поскольку MIDletPascal так или иначе использует CLDC/MIDP, то я предполагаю, что в нём должны существовать те или иные возможности для обращения к большинству средств библиотеки - через вставки на Java, или ещё как-нибудь. Описание всех классов CLDC и MIDP есть в Sun J2ME WTK.

В Nokia 6610 MIDP 1.0 - полноэкранного режима или совсем нет, или только при использовании Canvas. Например, на Siemens S55 Canvas всегда в полноэкранном режиме, а Screen - в окошке. Если MIDletPascal всегда выводит через объект потомка Screen, то полноэкранный режим получить невозможно.


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 20.01.2006 12:00
Сообщение #25


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Полноэкранный режим:
Прикрепленное изображение


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GoodWind
сообщение 20.01.2006 19:15
Сообщение #26


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Altair: уже нашел.. да, я чайник..... не увидел
xds: 6610 поддерживает только MIDP 1.0, полноэкранный режим поддерживается благодаря NokiaAPI...

где читать инфу по программированию соток ?

Сообщение отредактировано: Altair - 20.01.2006 19:20


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bill Gates
сообщение 11.02.2006 15:29
Сообщение #27


Новичок
*

Группа: Пользователи
Сообщений: 24
Пол: Мужской

Репутация: -  0  +


Подскажите, где скачать Windows-эмулятор J2ME?
На сайте midlepascal.com ссылки только на километровые дистрибутивы, едмнственное ,что сноесное там midletemulator, но он работает только из браузера.
Киньте ссылку на нормальный эмулятор!!!!!!!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GoodWind
сообщение 12.02.2006 17:31
Сообщение #28


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


на www.allnokia.ru (или на его форуме) есть Nokia 7210 SDK - весит около 7 метров... меньше не видел...


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bill Gates
сообщение 22.02.2006 17:46
Сообщение #29


Новичок
*

Группа: Пользователи
Сообщений: 24
Пол: Мужской

Репутация: -  0  +


Как проигрывать звуки?!
Если делать, как в хелпе:
Код

program alexf;
begin
    if not OpenPlayer('/alexf.mid', 'audio/midi') then Halt;    
    if not SetPlayerCount(-1) then Halt;
    if not StartPlayer then Halt;

    repeat until false;
end.

то все нормально компилируется, однако при запуске возникает ошибка.
[br]
Ничего не понимаю... sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bill Gates
сообщение 22.02.2006 19:45
Сообщение #30


Новичок
*

Группа: Пользователи
Сообщений: 24
Пол: Мужской

Репутация: -  0  +


Есть ли в мидлет паскале аналог keypressed (именно ее, а не readkey)???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GoodWind
сообщение 22.02.2006 21:52
Сообщение #31


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Цитата
function GetKeyPressed: integer;
Returns the code of the key that is currently pressed, or KE_NONE if no key is pressed. The standard key codes have predefined constant values:
· KE_KEY0
· KE_KEY1
· KE_KEY2
· KE_KEY3
· KE_KEY4
· KE_KEY5
· KE_KEY6
· KE_KEY7
· KE_KEY8
· KE_KEY9
· KE_STAR
· KE_POUND


Example
Код
begin
  while GetKeyPressed <> KE_STAR do
    begin
      Delay(100);
    end;
end.


Сообщение отредактировано: GoodWind - 22.02.2006 21:54


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Bill Gates
сообщение 24.02.2006 13:37
Сообщение #32


Новичок
*

Группа: Пользователи
Сообщений: 24
Пол: Мужской

Репутация: -  0  +


А как быть с миди?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GoodWind
сообщение 24.02.2006 19:18
Сообщение #33


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


Цитата
А как быть с миди?

не смог заставить миди работать =(


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
GoodWind
сообщение 2.03.2006 17:05
Сообщение #34


Автооответчик
*****

Группа: Модераторы
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


www.mobilab.ru - доки по программированию под мобильные устройства.


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Dr.Bugy
сообщение 2.03.2006 19:32
Сообщение #35


Лихорадка неясного генеза.
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской
Реальное имя: Алексей

Репутация: -  0  +


Цитата(Altair@13.01.2006 20:19 )
Почитай стандарт языка

А где его можно почитать?

Сообщение отредактировано: Dr.Bugy - 2.03.2006 19:34


--------------------
Мир промышленного программирования полон избыточной сложности. В результате такие критерии, как простота, надежность, компактность программ и эффективность исполняемого кода, теперь заменяются на один главный критерий — скорость реализации идей. Приоритет времени разработки понятен: человеческие ресурсы нынче стоят значительно выше, чем аппаратные. Но не теряем ли мы по дороге то ценное, что вернуть потом будет крайне тяжело?..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 9.12.2007 0:21
Сообщение #36


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Статья "Пишем игры на MIDletPascal"

Описание (HELP) на русском языке: Прикрепленный файл  MPhelp.rar ( 272.87 килобайт ) Кол-во скачиваний: 906

Для тех, кому необходим дистрибутив (полностью русифицированный), обращайтесь ко мне лично.

Мидлет Паскаль в ВикиПедии

Полезные модули



--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
validol
сообщение 29.06.2008 11:32
Сообщение #37





Группа: Пользователи
Сообщений: 1
Пол: Мужской

Репутация: -  0  +


Кто знает как можно позвонить?
Есть к примеру номер: 123456, нужно его набрать и поговорить с человеком на другом конце.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V < 1 2
 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 11.05.2024 11:57
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"