Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.56 MB
Время: 0.065 c
15-1154004751
Некто
2006-07-27 16:52
2006.09.10
Посоветуйте монитор


15-1155826819
ArtemESC
2006-08-17 19:00
2006.09.10
Забыл...


4-1147352842
Dimich1978
2006-05-11 17:07
2006.09.10
Более рациональное отслеживание Существование процесса


15-1155621138
Sam Stone
2006-08-15 09:52
2006.09.10
Спиральные галактики


4-1147274009
suharew
2006-05-10 19:13
2006.09.10
чтение из COM порта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский