Форум: "Прочее";
Текущий архив: 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.044 c