Прежде всего нам понадобятся:
1. JAVA SDK 2. JAVA WTK 3. jGRASP 4. ну и MidletPascal для тестирования либ. Примечание: JAVA WTK должен быть установлен после JAVA SDK Далее я опишу последовательность создания либы, описанной в справочной системе MidletPascal, но буду использовать для этого Java IDE jGRASP. Начнем с настроек jGRASP. 1. В Меню Settings->Compiler Settings выбираем пункт File. 2. В закладке Environment выбираем j2me - WTK1 generic и жмем кнопку Use. 3. Создаем проект j2me (Project->New->New J2ME Project), указываем путь и название проекта, убираем галочку с пункта Import Files Now. 4. Добавляем файл Java в проект, он будет содержать модуль, который мы потом подключим к MidletPascal. Для этого в меню Project выбираем пункт Add Files, заходим в папку \src\ нашего проекта, пишем название файла Lib_mylib.java и жмем кнопку Add. Слева в окне Open Projects под названием нашего проекта появится пункт Lib_mylib.java src\ . Щелкните по нему два раза и нажмите кнопку Create, для создания этого файла. 5. Теперь самая интересная чать... кодинг :). В открывшееся окно вводим следующий код: Код:
// Класс модуля НЕ ДОЛЖЕН содержаться в каком-либо архиве!!! Вот и все. Нащ модуль готов. Теперь настало время его протестировать. Для начала скопируем наш модуть из папки \classes\ нашего проекта в папку \Program Files\MIDletPascal\Libs\. Далее в MIDletPascal создаем новый проект и вводим туда следующий код: Код:
program NewProject; |
Ага из хелпа пример работает. А больше 2к кода перестает видеть функции.
|
Цитата:
|
Не не прикольно. Хочу разобраться где тут собака порылась. На java то все работает.
Ведь переношу функцию выше по исходному тексту и все начинает работать. |
Re: Пишем либы для MidletPascal на JAVA
Я столкнулся с проблемой,как вытянуть имена записей RMS!?Вот и написал сам на яве и добавил к Lib_rsenum!Точку применил для скрытых записей,например имя .CONFIG не добавится в строку!
public static String list(int idx) { StringBuffer s = new StringBuffer(); try{ String as[] = RecordStore.listRecordStores(); if(as != null) { for(int l = 0; l < as.length; l++) if(as[l].charAt(0) != '.') s.append(as[l]).append('|'); } }catch(Exception e) {return "";} return s.toString(); } Только вот вопрос,не выходит таким образом s:= list(); Поэтому так и зделал,любую цифру вставлять s:= list(1); И спасибо piligrimu за его работу,я на ура применил его библиотеку для файлменеджера,но с байтами там нето что-то! |
Re: Пишем либы для MidletPascal на JAVA
Ё-моё, у вас всё хорошо идёт, а у меня не компилится ни так, как в хелпе написано, ни так, как здесь сказано. У меня WTK25, как мне быть? Если так нужен WTK1, то где его взять? На сайте видел только 2.2...
|
Re: Пишем либы для MidletPascal на JAVA
Я заметил, что после компиляции приложения, в jar архиве появляется FW.class, что это такое и откуда берется? Если заглянуть в справку, то там этот же файл использовался для написания своей библиотечки....
|
Re: Пишем либы для MidletPascal на JAVA
Это главный класс приложения, он генерируется самим MP.
В основном взаимодействие библиотек с приложением происходит именно через классы FW и M. |
Re: Пишем либы для MidletPascal на JAVA
То есть при написании библиотек нужно/можно ссылаться на эти классы?
|
Re: Пишем либы для MidletPascal на JAVA
Да, если например нужно работать с дисплеем, то это можно делать только через эти классы. То же самое относится и к плееру(класс P, переменная p).
|
Re: Пишем либы для MidletPascal на JAVA
А как компилить либы с использованием MP классов? Скажем, я хочу обратитьься к M.G. компилятор ругается на отсутствие этих классов, может надо прилагать M.java к файлу библиотеки? Опишите plz такую компиляцию, а то я чисто java классы могу использовать, а к классам MP нет доступа.
|
Re: Пишем либы для MidletPascal на JAVA
при компиляции просто кладешь в папку со своей библиотекой FW.java и он компилируется вместе с ней, ну а потом его просто игнорируешь.
можно еще другим способом: указать в classpath папку с FW.class |
Ответ: Пишем либы для MidletPascal на JAVA
Здравствуйте, я джаву не знаю толком, только в общих чертах. Не могли бы вы написать пример либы, как вывести текст на канвас. Я понимаю, что в мидлет паскале это просто через drawText() делается =) Но мне просто посмотреть охота, как в либе это реализовать, понять нужно. Ну вот, например, нужно сделать либу с одной функцией, которая будет работать аналогично drawText(), но называться, скажем, printText(). Напишите, если не сложно, а то я уже как только не пробовал.
|
Ответ: Пишем либы для MidletPascal на JAVA
Цитата:
Код:
import javax.microedition.lcdui.Graphics; |
Ответ: Пишем либы для MidletPascal на JAVA
Спасибо =) Как я понимаю, нужно при компиляции M.class в папку положить, чтобы компилятор не ругался, да? Вот только, как вы понимаете, где писать M.G, а где, например, FW.fw?.. Я не знаю, как это называется, у меня с терминологией проблемы =) Грубо говоря, где вы вычитали через какие классы к каким кускам Джавы обращаться нужно? Я к Graphics только не пробовал, но всё ошибка была =) По такому-то ведь в джаве можно так, если не ошибаюсь:
javax.microedition.lcdui.Graphics.drawString(s, x, y, 20); Почему же в мидлет паскале нельзя так? Почему всё так запутано? - - - Сорри за такой тупой пост, просто я до этого толком только на php писал, а на нём даже обезьяну можно научить кодить :D |
Часовой пояс GMT +4, время: 13:45. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot