Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal

Ответ
 
Опции темы
Старый 20.06.2008, 00:22   #16
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Canterbury Pascal for J2ME

Небольшой вопрос - к проектам можно как-нибудь подключать библиотеки на java?
(Offline)
 
Ответить с цитированием
Старый 20.06.2008, 00:34   #17
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: Canterbury Pascal for J2ME

какие библиотеки? доступна вся ява, все классы напрямую
свойство MIDP_LIB в build.xml подключает любые библиотеки для компиляции, а потом просто
uses
    javax_microedition_media_Player;
var
    pl : Player;
и используем в программе плеер.

ЗЫ: при компиляции все еще возможны проблемы, если в библиотеке используются нативные методы, тогда пишем сюда и я их просто исправлю на заглушки.
(Offline)
 
Ответить с цитированием
Старый 20.06.2008, 00:39   #18
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Canterbury Pascal for J2ME

Я немного другое имел ввиду.
Можно ли просто написать класс на java и прилинковать его к проекту(как в MP)?

А вообще, есть где-нибудь дока по этому паскалю?

Вот наткнулся на проблему.
Нужно перевести числовое значение в строковое.
В Java вроде так:
 s = new String(i);
а как сделать здесь - не понимаю.

Последний раз редактировалось ViNT, 20.06.2008 в 01:39.
(Offline)
 
Ответить с цитированием
Старый 20.06.2008, 02:09   #19
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: Canterbury Pascal for J2ME

нет, в яве
s := String.parseInt(12345);
класс можно прилинковать, чтобы к нему обатиться его надо положить по любому пути указанному в CLASSPATH
или имеется в виду добавление его как библиотеки и в jar?

дока лежит в папке mhc\compiler\doc
(Offline)
 
Ответить с цитированием
Старый 20.06.2008, 02:16   #20
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Canterbury Pascal for J2ME

Сообщение от pilgrim Посмотреть сообщение
нет, в яве
s := String.parseInt(12345);
Я этот кусок кода взял из откомпиленного класса MP, так работает функция IntegerToString.
Если писать s := String.parseInt(12345); ,все равно пишет Syntax Error.
--------------------------------------------
Оказывается, есть процедура Str .

Последний раз редактировалось ViNT, 20.06.2008 в 02:47.
(Offline)
 
Ответить с цитированием
Старый 20.06.2008, 11:06   #21
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: Canterbury Pascal for J2ME

s := java_lang_String.String.valueOf(mode);
она то есть, один ньюанс: это встроенная функция паскаля, а не явы, тогда нам нужно линковать к готовому проекту модуль SYSTEM в котором живут все стандартные процедуры и функции.
Стандартный тип паскаля STRING - это StringBuffer в яве.
на мой взгляд лучше делать вот так:
type
     JString = java_lang_String.String;
var
     s : JString;
begin
    s := JString.valueOf(iMode);
end.
так мы не породим никакого лишнего кода и это красиво и быстро пойдет на телефоне

PS: похоже еще есть вопросы с русским языком, вернее с его кодировкой

Последний раз редактировалось Piligrim, 20.06.2008 в 11:20.
(Offline)
 
Ответить с цитированием
Старый 20.06.2008, 13:03   #22
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Canterbury Pascal for J2ME

Все равно не работает.
Про ValueOf пишет, что такого метода нет, пробовал делать то же самое, но с методом ParseInt - тоже ошибка.
Кстати, разве модуль SYSTEM так не линкуется?
Да, с кодировкой проблемы.
Пробовал сохранять файл в разных кодировках - про Unicode и UTF-8 пишет, что есть недопустимые символы, а с Win просто квадраты вместо символов. Похоже, нужно где-то ключи компилятора менять.
(Offline)
 
Ответить с цитированием
Старый 20.06.2008, 15:28   #23
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: Canterbury Pascal for J2ME

с кодировкой я попытаюсь разобраться, хотя в теории можно строки в ресурсных файлах хранить.
SYSTEM действительно не линкуется, а нужно? Его нужно подредактировать под реалии мобильной явы.
ниже приведенный код компилируется и работает на моем ROKR E2, хотя proguard4.0.1 на него ругается
Вложения
Тип файла: zip test.zip (9.8 Кб, 959 просмотров)
(Offline)
 
Ответить с цитированием
Старый 20.06.2008, 15:34   #24
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Canterbury Pascal for J2ME

У меня похоже что-то не так настроено, всеравно идет та же ошибка:
Да, это всетаки proguard ругается, так мидлет запускается и работает.
Кстати, как правильно создавать плеер для файла из архива?
Миниатюры
Нажмите на изображение для увеличения
Название: err.PNG
Просмотров: 983
Размер:	50.1 Кб
ID:	4504  

Последний раз редактировалось ViNT, 20.06.2008 в 15:42.
(Offline)
 
Ответить с цитированием
Старый 20.06.2008, 21:54   #25
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: Canterbury Pascal for J2ME

не знаю почему, но вызов valueOf(int) progurad воспринимает как double, в моем примере я отключил обфускацию, т.е. proguard. видимо несовершенен.
но на мой взгляд, у этой платформы хорошие перспективы, несмотря на то, что я получил приглашение участвовать в развитии МР.
(Offline)
 
Ответить с цитированием
Старый 23.06.2008, 10:18   #26
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: Canterbury Pascal for J2ME

В процессе тестирования выявились следующие сложности:
1. Не корректная кодовая таблица русского в готовой программе
-копаю коды компилятора на этот счет
2. Системный модуль SYSTEM содержит много мусора, не нужного в мобильной версии. И его нужно линковать к готовой программе для использования стандартных функций паскаля.
-адаптирую и чищу его.
--Нужно ли оставлять работу с ФС? Сделать JSR75?
(Offline)
 
Ответить с цитированием
Старый 23.06.2008, 15:40   #27
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Canterbury Pascal for J2ME

По идее ФС нужна, я например до сих пор не понял, как создать подключение к ФС.
Допустим, в java я плеер делел так:
FileConnection conn = (FileConnection)Connector.open("file://"+
          FileName);
      InputStream is = conn.openInputStream();
А здесь что-то не могу реализовать выделенную конструкцию - ни прямое приведение типов ни оператор AS использовать не получается.
(Offline)
 
Ответить с цитированием
Старый 24.06.2008, 02:15   #28
Piligrim
Оптимист
 
Регистрация: 07.01.2006
Сообщений: 961
Написано 105 полезных сообщений
(для 259 пользователей)
Ответ: Canterbury Pascal for J2ME

да, я тоже не могу понять их диаграмму, для приведения типа.
		INLINE(		
		fc = (javax.microedition.io.file.FileConnection)javax.microedition.io.Connector.open("file:///root1/readme.txt");
		)
работает, хотя это уже не чистый паскаль.
(Offline)
 
Ответить с цитированием
Старый 24.06.2008, 02:53   #29
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Canterbury Pascal for J2ME

Сообщение от pilgrim Посмотреть сообщение
		INLINE(		
		fc = (javax.microedition.io.file.FileConnection)javax.microedition.io.Connector.open("file:///root1/readme.txt");
		)
Вот это уже поинтереснее.
Хорошо, что можно встявлять блоки на java.
(Offline)
 
Ответить с цитированием
Старый 02.07.2008, 00:50   #30
ViNT
Модератор
 
Регистрация: 03.04.2007
Сообщений: 2,252
Написано 597 полезных сообщений
(для 817 пользователей)
Ответ: Canterbury Pascal for J2ME

А можно здесь как-нибудь импортировать не отдельные классы, а целые пакеты, например как в java improt javax.microedition.io.file.* вместо import javax.microedition.io.file.FileConnection?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FAQ по Midlet Pascal 3.0 (ALPHA) Jadson FAQ 2 07.12.2009 12:58
Программирование на Pascal _Nox_ Болтовня 0 01.12.2009 20:43
Brainfuck to Midlet Pascal anton_obuhov Основной форум 3 31.03.2009 13:09
Pascal и J2ME Piligrim MidletPascal 35 17.07.2008 18:33
Midlet Pascal и Bluetooth rancid Основной форум 12 24.09.2006 12:15


Часовой пояс GMT +4, время: 02:41.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com