forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   MidletPascal (http://forum.boolean.name/forumdisplay.php?f=46)
-   -   Pascal и J2ME (http://forum.boolean.name/showthread.php?t=5131)

Piligrim 26.11.2007 02:26

Pascal и J2ME
 
Вложений: 2
Код:

MODULE Hello;
IMPORT
        lcdui, midlet;
TYPE
        Main* = POINTER TO RECORD(midlet.MIDlet+lcdui.CommandListener)
        END;
VAR
        D: lcdui.Display;
        C1: lcdui.Command;
        F : lcdui.Form;       
        item : INTEGER;
PROCEDURE (self:Main) startApp*();
BEGIN
        D := lcdui.Display.getDisplay(self);
        C1 := lcdui.Command.Init("Exit", 7, 0);
        F := lcdui.Form.InitForm("title");
        item := F.append("Проверка");
        F.addCommand(C1);
        D.setCurrent(F);
        F.setCommandListener(self);
END startApp;
PROCEDURE (self:Main) pauseApp*();
END pauseApp;
PROCEDURE (self:Main) destroyApp*(c: BOOLEAN);
END destroyApp;
PROCEDURE (self:Main) commandAction*(c:lcdui.Command; d:lcdui.Displayable), NEW;
BEGIN
        IF c = C1 THEN
                self.destroyApp(TRUE);
        END;
END commandAction;
END Hello.

результат во вложении. Стоит ли продолжать?

Bruteo 26.11.2007 02:35

Re: Component Pascal и J2ME
 
А в чем преимущество перед написанием непосредственно на яве? Логика, структура - идентичны. Только синтаксис различен.

Piligrim 26.11.2007 09:59

Re: Component Pascal и J2ME
 
В том-то и дело, что ни в чем, потому и спрашиваю. Просто паскаль, вместо явы.

ViNT 26.11.2007 21:26

Re: Component Pascal и J2ME
 
Я думаю что продолжать стоит, ведь как я понял возможности практически не ограничены, но в то же время удобнее чем java особенно для тех кто её не знает.

odd 27.11.2007 08:17

Re: Component Pascal и J2ME
 
И в чём тут удобство? Уж лучше писать на Java, чем на таком Паскале.

Piligrim 27.11.2007 09:23

Re: Component Pascal и J2ME
 
Цитата:

Сообщение от odd
И в чём тут удобство? Уж лучше писать на Java, чем на таком Паскале.

Может и так. Из плюсов, наверное только то, что весит мало и для работы нужна только JRE.
ЗЫ: Просто этот Паскаль написан на основе Оберон, поэтому так отличается :)

Piligrim 12.12.2007 22:02

Re: Component Pascal и J2ME
 
нашел еще один Паскаль :) Больше похоже на Delphi
Код:

program test;
uses javax_microedition_midlet_MIDlet;
type
        CApp = class(MIDlet)
                constructor init; virtual;
                procedure startApp; override;
                procedure pauseApp;
                procedure destroyApp(uncond: boolean);
        end;
       
        constructor CApp.init;
        begin
       
        end;
        procedure CApp.startApp;
        begin
       
        end;
        procedure CApp.pauseApp;
        begin
       
        end;
        procedure CApp.destroyApp(uncond: boolean);
        begin
       
        end;
begin       
end.


ViNT 12.12.2007 23:16

Re: Component Pascal и J2ME
 
Да, точно как Delphi.
Вот этот вариант по моему лучше всего.

odd 13.12.2007 07:59

Re: Component Pascal и J2ME
 
Ну вот это уже ближе к теме, но одного языка мало. Нужно ещё добавить туда функций.

Piligrim 14.12.2007 00:11

Re: Component Pascal и J2ME
 
хм, он напрямую импортирует классы явы. т.е. можно
Код:

uses javax_microedition_media_Manager,
  javax_microedition_media_Player;
var
  player : Player;
....
player := Manager.createPlayer('file:///a/mobile/audio/ok.mp3');
player.start;

из минусов, естественно, отсутствие IDE. Я пробую прикруть к CREdit, Ant и ProGuard. Вроде получается неплохо.

Kurdt 14.12.2007 02:42

Re: Component Pascal и J2ME
 
ухты!!!! вот это да вот это вещь я и незнал что такое возможно безусловно идея очень перспективная, вопросик а как можно

program test;
uses javax_microedition_midlet_MIDlet;
type
CApp = class(MIDlet)....
перекомпилировать в яву??
это что идет инерпритатор? тоесть переводит код в яву и потом его компилирует, или какойто другой способ? очень интересно по идее выходит даже полутше чем мп.

odd 14.12.2007 09:10

Re: Component Pascal и J2ME
 
Конечно получше. Вот вы, к примеру, можете написать обработчик для паузы на MP? А тут - легко. И вся Java тут же к твоим услугам, но её нужно знать само сабой.

Preddy 14.12.2007 13:04

Re: Component Pascal и J2ME
 
А можеш ссылки дать на эти проекты?

Kurdt 14.12.2007 13:24

Re: Component Pascal и J2ME
 
еще б ид разработки написать удобненькую по типу как в мп, с добавлением ресурсов компилятором, будет вообще щастие

Preddy 14.12.2007 13:33

Re: Component Pascal и J2ME
 
Сорри за оффтоп, но у меня линка bin.zip не открывается. Пишет что не авторизован

Kurdt 14.12.2007 13:57

Re: Component Pascal и J2ME
 
браузер смени прокси вкл/откл

Preddy 14.12.2007 14:32

Re: Component Pascal и J2ME
 
другие то вложения открывает

Piligrim 14.12.2007 18:17

Re: Component Pascal и J2ME
 
компилирует напрямую в ява-байт код. т.е на выходе .class файлы.
по IDE, это уже на ваше усмотрение, писать свою или воспользоваться готовой сборкой. просто привыкли к хорошему :)

Kurdt 15.12.2007 00:34

Re: Component Pascal и J2ME
 
а можно поподробней где это чудо находится? чтобы можно было компильнуть

Вадим 15.12.2007 03:59

Re: Component Pascal и J2ME
 
Блин! Сам МП позволят даже при наличии опыта программинга и хакинга сделать доступность среды java. При наличии JRE. На данный момент самая последняя версия для вынь: jre-6u3-windows-i586-p-s.exe ищите по поиску или на джаве. Пилгриму огромный респект! Жаль, что Вы не учились у меня в школе! Только такое сожаление. Удачи!

Piligrim 15.12.2007 12:45

Re: Component Pascal и J2ME
 
Цитата:

Сообщение от Вадим
Жаль, что Вы не учились у меня в школе! Только такое сожаление. Удачи!

А что бы это изменило?

Xamil 27.12.2007 17:37

Re: Component Pascal и J2ME
 
Разрешите поинтересоваться, второе(дельфеподобное)- это, собсна, что за чудо? Как хоть называется?

Piligrim 27.12.2007 23:59

Re: Component Pascal и J2ME
 
Canterbury Pascal for JVM
но с подключением его именно к мобильной яве возникли сложности, он пытается класс создать при компиляции и обламывается.

Xamil 28.12.2007 00:52

Re: Component Pascal и J2ME
 
Понятно.. Значит облом. Из нормальных вариантов остается midletpascal+либы на java. Хотел было на с++ под symbian хоть hello, world написать в консоли, а как увидел код.. Такое и в страшном сне не приснится.

cHeRsAnYa 10.01.2008 20:56

Ответ: Component Pascal и J2ME
 
pilgrim, а можешь выложить все эти паскали?

Piligrim 10.01.2008 22:32

Ответ: Component Pascal и J2ME
 
Canterbury Pascal for JVM берем на http://www.mhccorp.com/pasjvm.shtml, он очень похож на Дельфи в части синтаксиса, но заточен под настольную яву. Очень мало документации и примеров. Пустой мидлет мне собрать удалось, но при добавлении формы появились ошибки компиляции. Этим вопросом занимался также Kurdt, может быть ему далось продвинуться дальше.

Gardens Point Component Pascal берем на plas.fit.qut.edu.au/gpcp/. У него более страшный синтаксис и надо писать интерфейсные модули, но без проблем интегрируется с мобильной явой. В сочетании с ant и proguard позволяет получать законченные программы.

Обоим необходимо JRE для работы.

Xamil 09.02.2008 13:41

Re: Component Pascal и J2ME
 
по поводу Gardens Point.. Что нужно, кроме Component Pascal on the JVM? Ant и Proguard- это редакторы? Как можно их подключить? Разъясните, плз, пошагово, что ставить. Обероном я чуток занимался, так интерфейсные модули ко всем жава пакетам надо писать? Можно пример кода? Заранее спасибо за помощь.

Piligrim 11.06.2008 00:58

Ответ: Component Pascal и J2ME
 
Вложений: 1
Итак, в продолжение темы. Я практически победил один из паскалей, точнее Canterbury Pascal for JVM. Требуется модификация midpapi20.jar для нормальной компиляции, кое-что я уже подправил.
Из вот этого
Код:

unit test;
interface
uses
        javax_microedition_midlet_MIDlet,
        javax_microedition_lcdui_Display,
        javax_microedition_lcdui_Displayable,
        javax_microedition_lcdui_Form,
        javax_microedition_lcdui_Command,
        javax_microedition_lcdui_CommandListener;
type
        main = class(MIDlet, CommandListener)
        public
                procedure startApp; override;
                procedure pauseApp; override;
                procedure destroyApp(flag : boolean); override;
                procedure commandAction(cmd : Command; dsp : Displayable); virtual;
                class procedure quitApp;
        end;

implementation

var
        instance : main;
        dspl : Display;
        fMain : Form;
        cmdExit : Command;

procedure main.startApp;
begin
        instance := self;
        dspl := Display.getDisplay(self);
        NEW(fMain, 'test');
        NEW(cmdExit, 'Exit', Command.EXIT, 0);
        fMain.setCommandListener(self);
        dspl.setCurrent(fMain);
        fMain.addCommand(cmdExit);
        fMain.append('Simple pascal test');
end;

procedure main.pauseApp;
begin
end;

procedure main.destroyApp(flag : boolean);
begin
end;

class procedure main.quitApp;
begin
        instance.destroyApp(false);
        instance.notifyDestroyed;
        instance := nil;
end;

procedure main.commandAction(cmd : Command; dsp : Displayable);
begin
        if cmd = cmdExit then begin
                quitApp;
        end;
end;
       
end.

получилось собрать программу. Естественно все руками. Будем копать дальше?

ViNT 11.06.2008 11:39

Ответ: Pascal и J2ME
 
Да, интересно, по виду - чистый Delphi.
Думаю, что копать стоит - MP, как мне кажется, свои возможности практически исчерпал.

Piligrim 11.06.2008 12:49

Ответ: Pascal и J2ME
 
ок. для нормальной компиляции вроде как хватает просто jre, т.е. ни jdk ни wtk не требуется. из wtk взял только несколько файлов. думаю стоит добавить полную сборку проекта с помощью ant, тогда можно будет собирать jar полностью автоматически.
ЗЫ: по поводу МР: вроде как удалось достучаться до его автора, народ пытается уговорить его если не продолжить разработку, то хотя бы отдать исходники :), но ему конечно до этого паскаля далеко по возможностям, здесь доступно все.

ViNT 11.06.2008 17:23

Ответ: Pascal и J2ME
 
Если все получится, лучше ковырять этот паскаль. Конечно, нужно самому описывать некоторые вещи, хотя можно потом написать подобие среды визуальной разработки.

UPD

Если будет нужно, могу взяться за разработку IDE.

Piligrim 17.06.2008 15:29

Ответ: Pascal и J2ME
 
Итак, сборка проекта происходит скриптом ant, т.е. получаем в итоге jad и jar без всяких танцев с бубном. Вместе с ant и proguard получается всего 6 метров. В качестве редактора я использую CREdit, но в будущем можно сделать нормальную IDE.
Вечером выложу все сюда.

valhof 16.07.2008 16:30

Ответ: Pascal и J2ME
 
2pilgrim,
Заинтересовался темой(хоть и не профи), погуглил от "истоков", буду рад если пригодится
__http://www.uni-vologda.ac.ru/oberon/
далее возможно полезная реализация
__http://www.uni-vologda.ac.ru/job/rus/

обероновские ниточки тянутся и в наше время, но к сожалению большинство ведут в .NET

ViNT 16.07.2008 21:13

Ответ: Pascal и J2ME
 
Так а зачем oberon?
В Canterbery Pascal синтаксис как в нормальном паскале(ну чуть ближе к Delphi), а в обероне черт ногу сломит.

valhof 17.07.2008 10:43

Ответ: Pascal и J2ME
 
Цитата:

Сообщение от ViNT (Сообщение 82398)
Так а зачем oberon?
В Canterbery Pascal синтаксис как в нормальном паскале(ну чуть ближе к Delphi), а в обероне черт ногу сломит.

Все это только в качестве доп информации для размышления или альтернативы. Далее вам решать, как вы есть гуру. ;))

Piligrim 17.07.2008 18:33

Ответ: Pascal и J2ME
 
Оберон, сам по себе, действительно хороший язык. Но его беда в том, что он нераспростаненный, а переходить на него или на яву это уже спорный вопрос. А здесь практически тот же паскаль, знакомый по Дельфи.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot