Прежде всего нам понадобятся:
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. Теперь самая интересная чать... кодинг
. В открывшееся окно вводим следующий код:
// Класс модуля НЕ ДОЛЖЕН содержаться в каком-либо архиве!!!
// Имя класса должно начинаться с префикса Lib_ и все символы *
// идущие после L должны иметь нижний регистр
public class Lib_mylib
{
*// Все функции должны быть статическими, и все символы
*// в функциях должны иметь нижний регистр
*public static int square(int val)
*{
* *return val * val;
*}
*public static int count_numbers(String text)
*{
* *int count = 0;
* *int i;
* *for(i = 0; i < text.length(); i++)
* *{
* * *if ((text.charAt(i) >= '0') && (text.charAt(i) <= '9'))
* * * *count ++;
* *}
* *return count;
*}
}
6. Настало время компиляции. В меню
Build последовательно выбираем пункты
Compile и
Preverify.
Вот и все. Нащ модуль готов.
Теперь настало время его протестировать.
Для начала скопируем наш модуть из папки
\classes\ нашего проекта в папку
\Program Files\MIDletPascal\Libs\. Далее в MIDletPascal создаем новый проект и вводим туда следующий код:
program NewProject;
uses MyLib;
var idx : integer;
begin
*ShowForm;
*
*idx := FormAddString('5 squared is: ' + MyLib.square(5));
*
*idx := FormAddString('There are ' + *
* * * * * * * * * * * MyLib.count_numbers('a0b2c') + *
* * * * * * * * * * * ' numbers in ''a0b2c'' ');
*Delay(5000);
end.
Жмем кнопку
Build and run и наслаждаемся результатом