Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.10;
Скачать: CL | DM;

Вниз

MIDlet Pascal — вопли и жалобы   Найти похожие ветки 

 
Джо ©   (2006-08-09 20:55) [0]

Как за эту поделку можно требовать денег? Совсем совести нету у разработчиков :)

Понадобилось мелкую программку "для себя" сделать.

Дин. массивов нету. Ладно, делаем обычный, благо, задача позволяет.
Нужно было создать тип, список строк.
type
 TStringArray = array [0.. MaxListItemIndex] of string;

 TStringList = record
   ItemCount: Integer;
   Items: TStringArray;
 end;

Отлуп: arrays is not supported in records. Весело.

Ладно, благо массив нужен по задаче всего один на всю программу и глобальный, памятуя, что "модуль" это тоже еденица инкапсуляции, создаю юнит в секции implementation делаю FItemCount и массив строк, в секции interface публикую функции для работы с массивом. Выкрутился, все отлично :)

Добавляю функцию AddItem, возвращающую индекс добавленного элемента, а в случае ошибки возвращающую код ошибки. Так-с. Объявляю
const
 ERR_LIST_LIMIT_EXEEDS = -1;

Получаю: "error, constant expected", не понимает, собака, отрицательных констант.

Ужос. Ну как можно за это требовать денег, скажите мне, есть совесть? 8-|

Спасибо за внимание, извините за беспокойство.


 
Der Nechk@ssoff ©   (2006-08-09 20:58) [1]

Кто требует? Седня скачал халявно,ещё не юзал. Как оно?


 
Джо ©   (2006-08-09 21:01) [2]

> [1] Der Nechk@ssoff ©   (09.08.06 20:58)
> Кто требует?

Условия лицензии. Для некоммерческого использования бесплатно, для коммерческого — плати денежку.


 
Джо ©   (2006-08-09 21:03) [3]

> [1] Der Nechk@ssoff ©   (09.08.06 20:58)
> Как оно?

Ужасно.


 
Der Nechk@ssoff ©   (2006-08-09 21:06) [4]

Ясно. Я все же попробую, ибо - интерес, но, от беглого взгляда, впечатление тоже не очень.


 
Джо ©   (2006-08-09 21:07) [5]

Еще один ужос: variable parameters not supported and will be ignored. Идиотизмь.


 
TUser ©   (2006-08-09 21:11) [6]

Динмассивов и в Delphi долгое время не было. И в фрипаскале доступно при -Mdelphi, а просто так - ни-ни. Ну и вообще - другой язык, свои особенности. Гнупаскаль тоже от D сильно отличается.


 
Джо ©   (2006-08-09 21:20) [7]

Да бог с ними, с дин. массивами, это цветочки...


 
TUser ©   (2006-08-09 21:25) [8]

А дополнительные какие-нибудь возможности есть? По сравнению с Delphi. Если да - то надо туда смотреть, а приведенные "вредности" можно обойти.


 
Джо ©   (2006-08-09 21:35) [9]

> [8] TUser ©   (09.08.06 21:25)
> А дополнительные какие-нибудь возможности есть? По сравнению
> с Delphi.

Это компилятор, который генерирует J2ME-код для мобильных устройств. Поэтому с Делфи его сравнивать не представляется возможным :)


 
TUser ©   (2006-08-09 21:41) [10]

Ну, так delphi-код на мобиле не запускается. А своеобразности языка везде есть, какие из вышеперечисленных непреодолимы?


 
VirEx ©   (2006-08-09 21:43) [11]


> Дин. массивов нету.

так их в j2me их нету, потому и в мидлет паскале невозможно их сделать, поэтому и юзают объект Vector


 
Pazitron_Brain ©   (2006-08-09 21:48) [12]

По-моему предчувствию он создан для создания игр и клиентов для мастаков :).


 
Petr V. Abramov ©   (2006-08-09 21:52) [13]

> Ну как можно за это требовать денег, скажите мне, есть совесть?
 Но хочется ж поюзать-то, хочется... :) вот и бабы так же... :) и не совсем совершенные на этом зарабатывают :)


 
Джо ©   (2006-08-09 22:11) [14]

Да меня не печалит отсутствии дин. массивов, бог с ними :) А вот другие ограничения синтаксиса (см. выше) печалят.

Дайджест из наболевшего:

const
 A = -1; // нельза отриц. константы
---
procedure A (var Par); // нельзя var-параметры
---
type
 Rec = record
   A: array [0..1] of string; // нельзя массивы в записях
 end;


 
Furyz ©   (2006-08-09 23:55) [15]

меня тоже кумарят , но я юзаю
А вот с сокетами проблемы есть
> Джо


А почему ты честный?
Платиш им деньги?
Ты ж из Украины\России


 
Германн ©   (2006-08-10 02:22) [16]


> Джо ©   (09.08.06 20:55)

Не печалься Серёга. Бывает и хуже! Я уже плакался тут как-то про некий компиллятор паскаля для MC51. Тебе то компиллятор хоть говорит, что именно нельзя! А в моем случае всё компиллировалось без сообщений об ошибках, но работало не всегда. Например конструкция if not MyPerem компиллировалась правильно, а конструкция if MyPerem - не правильно. И понадобилось потратить дни, чтобы найти все подобные ошибки в компилляторе.
А на десерт - сей компиллятор, как выяснилось, иногда перед вызовом процедуры ставит один оператор PUSH, а иногда два. Ну и соответственно после выполнения процедуры либо один оператор POP, либо два! С чем это связано - установить я это так и не смог. :-( Перевёл часть процедур на ASM и произвожу "ручную" линковку. Точнее последнюю её часть, т.е. формирование выходного файла.


 
Джо ©   (2006-08-10 02:30) [17]

> [16] Германн ©   (10.08.06 02:22)

Спасибо, немного утешил :о) Эх, "кому на Руси жить хорошо?"...


 
Германн ©   (2006-08-10 02:40) [18]


> Джо ©   (10.08.06 02:30) [17]
>
> > [16] Германн ©   (10.08.06 02:22)
>
> Спасибо, немного утешил :о)

Не за что. :-)
Могу и ещё более "утешить". Я свои вышеописанные "бодания" с компиллятором паскаля для MC51 производил совершенно бесплатно! Просто человек хороший! (Для которого я делал всю эту тягомотину)


 
Джо ©   (2006-08-10 02:43) [19]

Да я тоже "совершенно бесплатно", то есть, просто для себя хотел утилитку состряпать. Теперь мне что-то уже совсем не хочется этой утилитки, ну его в болото! Не хочется лепить уродливого "крокодила" :)


 
Германн ©   (2006-08-10 02:53) [20]


> Джо ©   (10.08.06 02:43) [19]

И мне тоже "не хочется". Тут мы тоже "тёзки"! :-)


 
VictorT ©   (2006-08-10 10:44) [21]

Ну так берись за J2ME.
З.Ы. То же самое я сказал после мидлет-паскаля сам себе пару месяцев назад, но воз и ныне сам :D


 
iZEN ©   (2006-08-10 18:03) [22]


> VirEx ©   (09.08.06 21:43) [11]
> > Дин. массивов нету.
>
> так их в j2me их нету, потому и в мидлет паскале невозможно
> их сделать, поэтому и юзают объект Vector


В J2ME есть динамические массивы.
То есть во время выполнения мидлета можно создавать массивы произвольной длины и размерности. Операции с массивами такие же, как в J2SE (десктопной Java).

java.util.Vector — это не массив, а контейнер ссылок на объекты. Можно, конечно, создать вектор векторов (в векторе могут быть ссылки на другие вектора и т.д. — до любого уровня вложенности, лишь бы память не закончилась). Но работать с перечислением элементов вектора несколько напряжнее, чем с индексом массива, так как скорость небольшая.

Джо ©   (09.08.06 20:55), а что мешает писать на чистой java (J2ME)? Ведь все необходимые инструменты бесплатны как для коммерческого использования, так и для опенсурса.


 
Джо ©   (2006-08-10 18:25) [23]

[22] iZEN ©
> а что мешает писать на чистой
> java (J2ME)?

Я ее совершенно не знаю, а для сиюминутной задачи потратить как минимум месяц для знакомства с языком и средой не могу, к сожалению.
Кроме того, выкачать даже бесплатный Carbide.j (от Nokia) у меня трафика не хватит :)


 
Джо ©   (2006-08-10 18:26) [24]

> [22] iZEN ©

Вчера "потыкался" в этом Wireless Toolkite — крыша совершенно съехала, настолько на "паскалевский взгляд" нечитаемые исходники и примеры в этой Джаве, что я понял, что тут пришлось бы серьезно браться за язык, с самых азов.


 
Суслик ©   (2006-08-10 18:29) [25]


>  [24] Джо ©   (10.08.06 18:26)
> > [22] iZEN ©
>
> Вчера "потыкался" в этом Wireless Toolkite — крыша совершенно
> съехала, настолько на "паскалевский взгляд" нечитаемые исходники
> и примеры в этой Джаве

смею тебя заверить - они думают также :) шутка.


 
iZEN ©   (2006-08-10 18:55) [26]


> Джо ©   (10.08.06 18:26) [24]
>
> > [22] iZEN ©
>
> Вчера "потыкался" в этом Wireless Toolkite — крыша совершенно
> съехала, настолько на "паскалевский взгляд" нечитаемые исходники
> и примеры в этой Джаве, что я понял, что тут пришлось бы
> серьезно браться за язык, с самых азов.

Достаточно взять редактор с подсветкой синтаксиса, так сразу станет понятна структура кода. Notepad++, например.

Sun WTK не имеет инструментов по редактированию исходников. Это делается в сторонних редакторах, даже в Блокноте. Структура проекта обычно состоит из нескольких каталогов: src - исходники, res - ресурсы (картинки, файлы свойств, текстовые файлы, музыка, видео и т.д.), classes и tmpclasses - каталоги с откомпилированными и преверифицированными классами, соответственно, можно использовать сторонние библиотеки, bin - каталог "продукта" с jar и jad-файлами, кроме того, там же находятся bat-файлы для более простой пакетной сборки и запуска (можно не использовать KToolbar).

Исчерпывающая документация в каталоге по API и Руководство — ...wtk\docs\


 
Джо ©   (2006-08-10 18:58) [27]

> [26] iZEN ©   (10.08.06 18:55)

Спасибо за помощь. Я вчера, правда, уже со структурой каталогов разобрался, вроде. :) Надо бы, действительно, докумментацию поглядеть, может, не так это страшно, как мне показалось на первый взгляд :)


 
VirEx ©   (2006-08-10 19:22) [28]

Джо
поковыряйся в java и ты поймёшь что в j2me намного проще писать программы чем в этом midlet pascal, т.е. ошибки компилятора и извращения (на подобии написания библиотек на java для MP чтобы повысить функциональность мидлета) отпадут сами собой :)


>  [22] iZEN ©   (10.08.06 18:03)
>
> > VirEx ©   (09.08.06 21:43) [11]
> > > Дин. массивов нету.
> >
> > так их в j2me их нету, потому и в мидлет паскале невозможно
>
> > их сделать, поэтому и юзают объект Vector
>
>
> В J2ME есть динамические массивы.
> То есть во время выполнения мидлета можно создавать массивы
> произвольной длины и размерности. Операции с массивами такие
> же, как в J2SE (десктопной Java).

пример! код в студию!


 
VirEx ©   (2006-08-10 19:35) [29]


> [22] iZEN ©   (10.08.06 18:03)
> java.util.Vector — это не массив, а контейнер ссылок на
> объекты.

ну ты кадр, читай внимательней:

> [11] VirEx ©   (09.08.06 21:43)
>
> > Дин. массивов нету.
>
> так их в j2me их нету, потому и в мидлет паскале невозможно
> их сделать, поэтому и юзают объект Vector


 
Суслик ©   (2006-08-10 19:37) [30]

так вроде

int a[];
a = new int [10];


 
VirEx ©   (2006-08-10 19:42) [31]


>  [30] Суслик ©   (10.08.06 19:37)
> так вроде
>
> int a[];
> a = new int [10];

это ерунда! мне надо так:
int a[];
int x = 5;
a = new int [x];
x = 10;
b = new int [x];


 
VirEx ©   (2006-08-10 19:52) [32]


> [31] VirEx ©   (10.08.06 19:42)

ай эм сорри, загвоздка в другом:
нельзя изменять размер динамического массива, т.е. определить размер массива можно только при создании но нельзя добавить новый элемент в "динамический" массив


 
Джо ©   (2006-08-10 20:04) [33]

Гм. Поковырялся тут полчасика в примерах к J2ME, не так все сложно, оказывается. Extends MIDLet, имплементируешь CommandListener — и вперёд :) Зато нет этих идиотских ограничений синтаксиса как в MIDletPascal"е, красота! :о)


 
wl ©   (2006-08-10 20:19) [34]

>VirEx ©   (10.08.06 19:42) [31]
что за бредовый код?


 
wl ©   (2006-08-10 20:21) [35]

VirEx ©   (10.08.06 19:52) [32]
а это да, есть такое, но тут нужен как раз вектор.
а для изменения размерности массива можно создать новый и скопировать туда содержимое старого.
Видел в некоторых, так делают.


 
Piter ©   (2006-08-10 20:49) [36]

Джо ©   (09.08.06 20:55)

не, ну это же для телефонов? САМ ПОДУМАЙ - а ты хочешь сервиса как от современных компьютерных компиляторов. Не много ли ты хочешь? :)

Вот посмотри, человек пишет клиента для форума для J2ME, так там вроде даже не все посты выводятся - памяти мало!!! (хоть и не форматировано). Я боюсь, если реализуют все что ты хочешь - то твоя прога ни на одном телефоне не запустится :)


 
Джо ©   (2006-08-10 20:50) [37]

> - а ты хочешь сервиса как от современных компьютерных компиляторов.
> Не много ли ты хочешь? :)

Не много :) Вот компиляторы Джавы для мобильных не урезают же ее синтаксас.


 
Джо ©   (2006-08-10 20:51) [38]

А, в общем, посмотрел на все это дело и понял, что лучше, действительно, учить Джаву, а не пользоваться недоделками всякими :)


 
Lamer@fools.ua ©   (2006-08-10 22:40) [39]

>>Джо ©   (10.08.06 18:25) [23]

Могу выкачать чё-нить большое (в разумных пределах), если надо.
Я уже себе выкачивал Symbian SDK всякие, баловался со своим смартом :-)
Правда, до Жабы толком не добрался, на С/C++ примеры смотрел.


 
Джо ©   (2006-08-10 23:19) [40]

> [39] Lamer@fools.ua ©   (10.08.06 22:40)

Большое спасибо за предложение Если решу, что именно нужно выкачать из этого SDK (там немного запутанно), обязательно обращусь. В разумных пределах, разумеется :)



Страницы: 1 2 вся ветка

Текущий архив: 2006.09.10;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.053 c
2-1156248430
J Cara
2006-08-22 16:07
2006.09.10
Что делать? rtl70.bpl.


15-1156179734
GeLLeT
2006-08-21 21:02
2006.09.10
WinAPI


3-1152098680
antoxa2005
2006-07-05 15:24
2006.09.10
Подскажите, а как организовать блокировку записи MS SQL Server


2-1156179551
Тупак
2006-08-21 20:59
2006.09.10
Очередной тупой вопрос


2-1156354559
HELP_ME_PLEASE
2006-08-23 21:35
2006.09.10
Осичтка переменной