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

> 

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

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


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

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

Репутация: -  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)
сообщение
Сообщение #21


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

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

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


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


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


N337
****

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

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


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


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


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

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

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


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

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


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #25


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

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

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


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


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


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

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

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


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

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

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


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


Новичок
*

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

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


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


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

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

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


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


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #30


Новичок
*

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

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


Есть ли в мидлет паскале аналог keypressed (именно ее, а не readkey)???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -


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


Новичок
*

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

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


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


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

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

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


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

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


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


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

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

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


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


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


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

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

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


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

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

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


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


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

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

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


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

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

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

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

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



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





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

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


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

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

 



- Текстовая версия 14.04.2025 20:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name