forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   MidletPascal (http://forum.boolean.name/forumdisplay.php?f=46)
-   -   Переделать код из Delphi в MidletPascal (http://forum.boolean.name/showthread.php?t=16460)

sk13 09.03.2012 16:06

Переделать код из Delphi в MidletPascal
 
Вложений: 1
Чет у меня вообще ничего не получается:(
Хочу переделать ресурс из Делфи в MidletPascal:(
Вот код на Delphi:
Вложение 16314

Igor 09.03.2012 20:09

Ответ: Переделать код из Delphi в MidletPascal
 
int64 в МП паскале нет
объявлять массив и сразу заполнять все значения по-моему нельзя, надо будет добавить функцию loading, а в ней сделать заполнение массива
ООП в паскале тоже нет, так что конструкторы особо не нужны
чтобы передавать в функцию массив, надо написать свой тип-массив (например myArray=array [1..10] of integer) и передавать такого типа
конструкции try ... except тоже нет
слово result менять на название функции
P.S. А почему такие страшные названия переменных? Очень трудно понять что они делают. К счастью, модуль небольшой, при желании можно переделать

sk13 09.03.2012 21:45

Ответ: Переделать код из Delphi в MidletPascal
 
Спасибо, но это не сильно мне помогло.
Этот модуль не я писал, его писали из одной Java программы, вот и переменные наверное не захотели менять.
Я вообще дуб-дубом как модули писать))
Igor, напиши пожалуйста а я тебя отблагодарю.

PassCall 11.03.2012 14:52

Ответ: Переделать код из Delphi в MidletPascal
 
Модули? Ну хотя бы так.

Сам модуль:
Код:

unit name_of_unit;//имя юнита

interface
var
        some_variable1:array [1..50] of integer;//тут пишешь все необходимые переменные, которые будут юзаться в модуле
        some_variable2: of image;
        .............................
        some_variablex:of string;

        procedure some_procedure;//так же надо перенести все заголовки (шапки) процедур/функций, которые юзаются в модуле
        function some_function(_a:real):integer;
//тут закончили
implementation
        procedure some_procedure;//ну в общем всякие процедуры/функции
        begin
        ............some_code............
        end;

        function some_function(_a:real):integer;
        begin
        ............some_code............
        end;

initialization
//если честно, не знаю, для чего это.

Не забудь в главном коде прописать uses name_of_unit.
Обращения происходят так: name_of_unit.some_procedure;
Чтобы внутри модуля получить значение переменной из главного кода, нужно прописать название главного модуля (совпадает с названием проекта) в uses модуля.

Вот так:
Код:

unit name_of_unit;//имя юнита
uses project_unit_name;

НО! МидлетПоцкаль 2.02 запрещает использовать циклические ссылки. То есть, главный модуль содержит ссылку на вторичный, вторичный на главный, и МП просто выбьет соответствующее предупреждение. Так-то!

В общем, это база. Я не очень люблю/умею работать с модулями, поэтому больше ничего не скажу

Igor 11.03.2012 20:18

Ответ: Переделать код из Delphi в MidletPascal
 
Цитата:

initialization
//если честно, не знаю, для чего это.
помещённый туда код выполняется при загрузке приложения.

PassCall 12.03.2012 16:23

Ответ: Переделать код из Delphi в MidletPascal
 
Тоесть, при самой инициализации? Даже раньше FW класса?

Igor 14.03.2012 00:01

Ответ: Переделать код из Delphi в MidletPascal
 
Когда точно - не знаю. Есть идеи как проверить?
От себя: если метод init библиотеки с сенсором сделать внутри инициализации, то работает немного не так как init в коде. (Появляется какая-то фигня с repaint)

PassCall 14.03.2012 12:21

Ответ: Переделать код из Delphi в MidletPascal
 
Цитата:

Сообщение от Igor (Сообщение 222692)
Когда точно - не знаю. Есть идеи как проверить?

Может, поставить дебаг-текст в
- FW классе
- в модуле в разделе init

и позырить, какой дебаг выполянется первый.

reumep 14.03.2012 21:43

Ответ: Переделать код из Delphi в MidletPascal
 
я бы хотел примерно такое же, только чтобы приложения на blitz3d переделывало в midletpascal или в любой другой, чтобы телефон понимал


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

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