forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Разработка MIDlet Pascal (http://forum.boolean.name/forumdisplay.php?f=127)
-   -   Предложения для добавления функционала в MP (http://forum.boolean.name/showthread.php?t=9289)

Tronix 30.09.2009 15:57

Предложения для добавления функционала в MP
 
Давайте в этой теме писать, что хотелось-бы видеть в MIDlet Pascal'е.

Было бы очень здорово добавить возможность задавать статичные массивы. Например, чтобы писать что-то типо этого:
PHP код:

Const
   
Mas : Array [1..5of String = ('понедельник','вторник','среда','четверг','пятница'); 


Dj_Alex 30.09.2009 17:07

Ответ: Предложения для добавления функционала в MP
 
динамические массивы нада
и с вычислениями вещественных чисел че-нить придумать. а то на нек. телефонах неправильно считает.

_Nox_ 30.09.2009 17:57

Ответ: Предложения для добавления функционала в MP
 
Case добавить надо

Посмотреть проблемы с совместимостью (сделать чтобы не надо было переключаться в совместимость с Win98)

возможность добавления в проект ресурсов целыми папками

сделать по конкретней отчёты об ошибках

_Nox_ 30.09.2009 18:11

Ответ: Предложения для добавления функционала в MP
 
Вот ещё надо сделать для улучшения удобства работы с паскалем список файлов, подключённых к проекту надо сделать ввиде дерева, чтобы там были папки, и можно было их сворачивать
типо:

проект
|_
| folder1
| |_
| | folder2
| | |_
| | |_file1
| | |_file2
| |_ file3
| |_file1
| |_file2
|_ file3
|_file1
|_file2
file3

DIMMON4IK 30.09.2009 20:08

Ответ: Предложения для добавления функционала в MP
 
Можно было бы в настройках проекта сделать шивровку ресурсов, поскольку многие не хотят чтобы их приложения переделывали

PacMan 30.09.2009 22:56

Ответ: Предложения для добавления функционала в MP
 
Нужно добавить возможности ООП.
А конктренно object или class

beisik 01.10.2009 16:16

Ответ: Предложения для добавления функционала в MP
 
Цитата:

Вот ещё надо сделать для улучшения удобства работы с паскалем список файлов, подключённых к проекту надо сделать ввиде дерева, чтобы там были папки, и можно было их сворачивать
Было бы хорошо, только нужно добавить зависимость и от конфигов, типа:
Код:

config#1
|_
|_ file1
config#2
|_
|_ file2

Ещё нужно, чтобы MP нормально определял конец файла, без всяких там ###.
Возможность присваивать значения переменным при объявлении - тоже.
Подлатать объявление констант, т.е. разрешить использование операндов. В массивах тоже.
Код:

const
  ABC = 10;
  BAC = ABC + 10;
var
  array1: array[0..(5+3)] of integer;

Разрешить использовать uses перед implemenation, если такое возможно.
В функцию ImageFromImage добавить поддержку прозрачности.

И главное оставить совместимость со старыми версиями! Для этого как раз подойдёт тип проекта.

demon112 01.10.2009 16:42

Ответ: Предложения для добавления функционала в MP
 
Двухмерный image'овские массивы...

beisik 01.10.2009 20:21

Ответ: Предложения для добавления функционала в MP
 
+ Константа должна принимать и отрицательные значения
+ Починить массивы (двух и более мерные)
+ Добавить KE_LSOFT и KE_RSOFT, для софт-клавиш

_Nox_ 02.10.2009 00:59

Ответ: Предложения для добавления функционала в MP
 
Уберите регистрацию, сейчас если не зарегистрировать мидлет медленней работает, так вы вообще уберите это дело чтобы и регистрировать не приходилось

_Nox_ 02.10.2009 17:43

Ответ: Предложения для добавления функционала в MP
 
Добавить больше возможных используемых расширений файлов ресурсов

Изображения: png, bmp, jpg
Звуки и музыка: mid, wav, mp3

ksandr 02.10.2009 19:51

Ответ: Предложения для добавления функционала в MP
 
добавте kXML парсер в проект

beisik 02.10.2009 23:52

Ответ: Предложения для добавления функционала в MP
 
Цитата:

Изображения: png, bmp, jpg
Лучше сделать для доп. форматов отключаемые библиотеки, т.к. лишний код таскать не охота.
Цитата:

Звуки и музыка: mid, wav, mp3
Хм, все эти форматы поддерживаются и сейчас (зависит от модели телефона).
Цитата:

добавте kXML парсер в проект
Бред, разве что библиотекой.

Давайте не будем загромождать МП ненужными вещами, лучше оставить их в библиотеках.

По предложениям собсно:
- Добавить возможность передачи в функцию/процедуру переменные с возможностью их перезаписи
- Ввести зарезервированное слово Result для функий :)

ViNT 03.10.2009 02:58

Ответ: Предложения для добавления функционала в MP
 
Товарищи, думаю, не будет никакого лишнего кода.
И библиотек как таковых не будет. В идеале, можно реализовать полную поддержку всех классов j2me, как при написании на чистой java. Т.е., можно будет написать примерно:

PHP код:

uses javax_microedition_media;//подключаем пакет javax.microedition.media

var
 
P:Player;//переменная для плеера, класс Player реализован в подключенном пакете
.... 

При этом, линковка пакета к проекту не будет приводить к включению дополнительного кода в класс (в отличие от подключения библиотеки), т.к. функции уже реализованы в телефоне, а uses не добавляет в проект никаких файлов, он лишь указывает компилятору, что такой пакет есть, и его можно использовать.

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

Piligrim 03.10.2009 10:53

Ответ: Предложения для добавления функционала в MP
 
Я тоже за такую концепцию, а не за компилятор явы с элементами паскаля.

DIMMON4IK 03.10.2009 17:03

Ответ: Предложения для добавления функционала в MP
 
3D :)

GRAY_WOLF 03.10.2009 21:11

Ответ: Предложения для добавления функционала в MP
 
Цитата:

Сообщение от _Nox_ (Сообщение 120361)
Добавить больше возможных используемых расширений файлов ресурсов

Изображения: png, bmp, jpg

На счет BMP не знаю но JPG он и на данный момент поддерживает, надо только при добавлении ресурса указать
тип файла 'all files(*.*)' , но надо учитывать, что при этом JPG памяти больше от жирает чем PNG.

beisik 04.10.2009 02:42

Ответ: Предложения для добавления функционала в MP
 
Цитата:

но надо учитывать, что при этом JPG памяти больше от жирает чем PNG.
ты имеешь в виду файл занимает больше места? так это смотря какая картинка.

demon112 06.10.2009 12:24

Ответ: Предложения для добавления функционала в MP
 
Цитата:

Сообщение от beisik (Сообщение 120483)
ты имеешь в виду файл занимает больше места? так это смотря какая картинка.

нет, он имеет в виду то чт о джипег сьедает больше оперативной памяти..

demon112 06.10.2009 12:26

Ответ: Предложения для добавления функционала в MP
 
Хорошо бы добавить типы даных как в Турбо Паскале... Типо byte - однобайтный тип, большой и др...

abcdef 06.10.2009 13:25

Ответ: Предложения для добавления функционала в MP
 
арифметика в MP ориентирован на работу с integer, об этом писал пару месяцев назад, для добавления других типов нужно полностью переписывать компилятор. Поэтому делать это врятли кто-либо будет.

Можно лишь перед вызовом произвольной функции и после неё конверитровать параметры в стеке в int тип, или же делать спец.класс занимающийся работой с каким-либо типом.

beisik 07.10.2009 19:30

Ответ: Предложения для добавления функционала в MP
 
Цитата:

нет, он имеет в виду то чт о джипег сьедает больше оперативной памяти..
Это почему? Вроде как любая картинка в оперативке занимает ширина*высота*4 байт.

satan 08.10.2009 01:04

Re: Предложения для добавления функционала в MP
 
Цитата:

арифметика в MP ориентирован на работу с integer
Странно, в исходном коде отличная поддержка real.

demon112 08.10.2009 07:30

Ответ: Предложения для добавления функционала в MP
 
Цитата:

Сообщение от beisik (Сообщение 120905)
Это почему? Вроде как любая картинка в оперативке занимает ширина*высота*4 байт.

Я тоже так думал, но тут пользовался jpeg, у мя тел вывел недостаточно хипа, поменял все картинки на png, всё нормуль

beisik 08.10.2009 13:12

Ответ: Предложения для добавления функционала в MP
 
Цитата:

Я тоже так думал, но тут пользовался jpeg, у мя тел вывел недостаточно хипа, поменял все картинки на png, всё нормуль
Глюк в телефоне или загрузка плохая, памяти картинки отжирают одинаково... чё-та мы разофтопились (:

demon112 08.10.2009 13:57

Ответ: Предложения для добавления функционала в MP
 
Цитата:

Сообщение от beisik (Сообщение 120990)
Глюк в телефоне или загрузка плохая

может быть, но факт то что больше оперативы сьело (при том знаительно больше), есть фактом... да и ваще, не стоит всё равно джипегом пользоваться... не на всех телах он коректно работает...

abcdef 08.10.2009 15:36

Ответ: Re: Предложения для добавления функционала в MP
 
немножко подкорректировал исходник, откомпилил консольным приложеним в VS2005, выберу время - оттестирую.


Цитата:

Сообщение от satan (Сообщение 120964)
Странно, в исходном коде отличная поддержка real.

т.е. в контантном пуле основного файла "M.class" имеются записи формата float или double?
- глянь, и декомпилер покажет ;)

satan 09.10.2009 06:35

Re: Предложения для добавления функционала в MP
 
Код:

program test;

const
    a = 1;
    b = 1.222;
    c = 'a';
    d = true;
    e = 'aaasssddd';

  MaxCode    = 65536;
  MaxIdent    = 512;
  MaxType    = 32;
  MaxList    = 10;
  MaxAlfa    = 20;
  MaxStrLen  = 255;
  MaxCase    = 256;
  MaxBinCode  = 262144;


type
  TAlfa = array [1..22] of char;
  TAlfa1 = TAlfa;
  TAlfa2 = TAlfa1;
  TAlfa3 = TAlfa2;

  TIdent=record
    //name          :TAlfa3;
  end;

  TType=record
    Size          :TIdent;
    Kind          :integer;
    StartIndex    :integer;
    EndIndex      :integer;
    SubType      :integer;
    Fields        :integer;
  end;

  TType2=record
    Size          :TType;
    Kind          :TIdent;
    StartIndex    :integer;
    EndIndex      :integer;
    SubType      :integer;
    Fields        :integer;
  end;

var
  Code        :array [0..22] of integer;
  TokNameList :array [0..22] of integer;
  CurChar    :char;
  LinePos    :integer;
  LineNum    :integer;
  CurTok      :integer;
  CurID      :TAlfa;
  CurNum      :integer;
  CurStr      :array [1..MaxStrLen] of char;
  CurStrLen  :integer;
  FuncDecl    :integer;
  LastOpcode  :integer;
  CurLevel    :integer;
  IsLabeled  :boolean;
  IdentPos    :integer;
  TypePos    :integer;
  IdentTab    :array [0..MaxIdent] of TIdent;
  TypeTab    :array [1..MaxType] of TType;
  CodePos    :integer;
  StackPos    :real;

procedure NewParameter(var P,PS:integer);
var
  R:boolean;
  T:integer;

begin

end;

begin
    StackPos:= b+22.134;
end.

В процедуре create_put_variable_bytecode (bytecode.c) есть
Код:

class_index := cp_add_class('Real');
        method_index := cp_add_methodref('Real', '<init>', '(LReal;)V');
        bytecode_append(code, new_);

То есть реал поддержка есть, там вообще много чего хитрого есть...
Например запрет на вложенные процедуры или отрицательные интервалы

Код:

array [-22..22] of ...
Однако по коду можно судить, что автор это сделал намерено...

abcdef 09.10.2009 09:34

Ответ: Предложения для добавления функционала в MP
 
LReal; - это спец.класс
__
вопрос: на каком этапе перевод с C -> Delphi? каковы сроки полного перевода?

satan 09.10.2009 13:47

Re: Предложения для добавления функционала в MP
 
Да перевести осталось только Expression и работу с файлами...
Но на си который тоже надо, по нем отлаживать генератор будем...

Trazzy 09.10.2009 19:05

Ответ: Предложения для добавления функционала в MP
 
Будем ждать... (я с Delpi больше дружу чем с C)

JACUK 26.10.2009 15:27

Ответ: Предложения для добавления функционала в MP
 
Нужно добавить case!

Topaz1977 02.11.2009 17:50

Ответ: Предложения для добавления функционала в MP
 
Цитата:

Сообщение от XAMMEP (Сообщение 120210)
Нужно добавить возможности ООП.
А конктренно object или class

Отсутствие ООП конечно невосполнимая вещь, и если его реализовать сложно то ОЧЕНЬ бы облегчило программирование реализация переменных процедурного типа..

Tronix 03.11.2009 09:27

Ответ: Предложения для добавления функционала в MP
 
Я конкретно против ООП в мидлет паскале. Хочется ООП - чем вас ява не устраивает?

ViNT 03.11.2009 17:28

Ответ: Предложения для добавления функционала в MP
 
Цитата:

Сообщение от Tronix (Сообщение 123188)
Я конкретно против ООП в мидлет паскале. Хочется ООП - чем вас ява не устраивает?

Это то же самое, что убрать ООП из TurboPascal и саказать - "Хотите использовать ООП - пишите на C++" :) . Нужно ставить вопрос не "против" или "не против", а "возможно" или "невозможно" сделать, т.к. ООП, думаю, будет полезно многим.
Мне иногда очень не хватает ООП в MP, а к java я почему-то так и не смог привыкнуть.

demon_zx 04.11.2009 17:44

Ответ: Предложения для добавления функционала в MP
 
глюки сперва прибейте

abcdef 05.11.2009 13:30

Ответ: Предложения для добавления функционала в MP
 
А если вдуматься - что такое ОбъектноОриентированноеПрограммирование?
То это просто напросто возможность подмены ссылки одной подпрограммы на другую...

IDOL 1234 09.12.2009 01:15

Ответ: Предложения для добавления функционала в MP
 
Оптимизация... Сжатие class-файлов... Обфурисцировать ещё можно опционально... Организация типа byte..,

PacMan 23.12.2009 00:06

Ответ: Предложения для добавления функционала в MP
 
Непомешалобы это {$I 'Include.inc'}.
Думаю это не так сложно реализовать.

baton4ik 28.12.2009 14:34

Ответ: Предложения для добавления функционала в MP
 
я за добавление goto и типизированных констант (так вроде называется const i=':crazy:':string ??? :crazy:)

Tronix 29.12.2009 18:53

Ответ: Предложения для добавления функционала в MP
 
Ну goto какбэ не кошерно считается ))) Но вообще конечно нужно. Для кучи как говорится.

Sand 31.12.2009 14:50

Ответ: Предложения для добавления функционала в MP
 
еще неплохо было улучшить работу с 3d

_Nox_ 06.01.2010 16:48

Ответ: Предложения для добавления функционала в MP
 
Сделайте чтобы к строкам можно было обращаться как в обычном паскале

s1,s2,s3:string;

s3:=s1+s2;
s3:=s1+s2[i];
s1 [j]:=s3 [i];

vad74 11.01.2010 11:35

Ответ: Предложения для добавления функционала в MP
 
1. "goto" не просто не кошерно, это вредно! Использование его убивает структурное программирование. В мелких программках или процедурах может и удобнее. Но при развитии процедуры можешь упереться в тупик или текс станет не читабельный, а значит и ошибки выловить трудно.
Если "goto" нравиться, то "goto" на Basic.
2. Насчёт ООП, давайте пока без него получим рабочую 3ю версию с добавками по простому Паскалю.
3. Сейчас если в процедуре идёт вызов другой процедуры, которая описана ниже по тексту, то выдаётся ошибка "неизвестная команда". Надо это устранить.

ViNT 11.01.2010 15:27

Ответ: Предложения для добавления функционала в MP
 
Цитата:

Сообщение от vad74 (Сообщение 133050)
3. Сейчас если в процедуре идёт вызов другой процедуры, которая описана ниже по тексту, то выдаётся ошибка "неизвестная команда". Надо это устранить.

Это не баг, а фича паскаля (не MP а именно чистого паскаля). Для решения этой проблемы есть инструкция forvard

Пример: нужно в процедуре p1 вызвать процедуру p2, описанную ниже:
PHP код:

procedure p2forvard;//опережающее описание

procedure p1
begin
 p2
;
end;

procedure p2;
begin
...
end


Trazzy 18.01.2010 09:03

Ответ: Предложения для добавления функционала в MP
 
forward ;)

_Nox_ 26.01.2010 21:20

Ответ: Предложения для добавления функционала в MP
 
добавить поддержку массивов в записях!

warchif 02.02.2010 22:27

Ответ: Предложения для добавления функционала в MP
 
Вложений: 1
Добавить указатели, стек,
потом насчет среди можна било б сделать Visual
Pascal типа как в Delphi создаеш форму бросаеш на нее елементи причем как визуальние (textbox, button ?, choice, radio button...) так и виртуальние чтото типа (таймера, открития файла ...). а midlet pascal генерировал код.

jkeks 05.02.2010 12:13

Ответ: Предложения для добавления функционала в MP
 
Поддержка регулярных выражений, хотя бы примитивов каких-то.

Demon_12 09.02.2010 02:11

Ответ: Предложения для добавления функционала в MP
 
Хотелось бы IDE приблизить к Delphi. Добавить настройку цветов. Контекстную справку Ctrl+F1, дополнение кода Ctrl+Space. Написать модуль переходник, что бы можно было писать IntToStr (как в любимой делфе :) а не Integertostring

Bananbl4 03.04.2010 16:24

Ответ: Предложения для добавления функционала в MP
 
Добавить RealToInteger (c округлением до целого)

DIMMON4IK 03.04.2010 18:36

Ответ: Предложения для добавления функционала в MP
 
Цитата:

Сообщение от Bananbl4 (Сообщение 144037)
Добавить RealToInteger (c округлением до целого)

a:integer;
b:real;
....
a:=trunc(b);

gost6681 07.04.2010 08:21

Ответ: Предложения для добавления функционала в MP
 
Всем привет!
Не помешалоб добавить команду cls -очистка экрана.

gost6681 07.04.2010 08:37

Ответ: Предложения для добавления функционала в MP
 
function saveImage(nameimage:image;namefile:String):integer - функция сохранения картинки в фс в пнг, возвращает 1,если все прошло удачно и -1-если произошла ошибка.

function createSprite(nameImage:string;spriteWidth:integer; spriteHeight:integer):integer; -функция создает спрайт из картинки, в которой содержатся кадры,
spriteWidth-ширина кадра,spriteHeight-высота кадра.

procedure setPositionSprite(nameSprite:integer;x:integer;y:i nteger)- задает позицию спрайта.

procedure paintSprite(nameSprite:integer;visible:boolean)- рисование спрайта,visible-видимость спрайта, true-виден,false-невидим.

function collisionSprites(nameSprite1:integer;nameSprite2:i nteger):integer; -функция проверяет столкновение двух спрайтов, возвращает 1если столкнулись ,-1если не столкнулись.

cherepets 07.04.2010 10:26

Ответ: Предложения для добавления функционала в MP
 
gost6681, lib_game глянь - там все со спрайтами уже сделали.
картинки тоже кто-то сохранял... не помню...

gost6681 07.04.2010 10:54

Ответ: Предложения для добавления функционала в MP
 
Ну если все функции всех библиотек будут в будущем мидлет паскале, то впринципе и ничего уже не надо:)

NetBuilding 30.07.2010 22:34

Ответ: Предложения для добавления функционала в MP
 
Просто надо отдельную утилиту к MP которая подгружала бы свежие библиотеки с описанием и примерами с единого сервера, ровно как и обновления самого MP.

PVD 14.11.2010 16:12

Ответ: Предложения для добавления функционала в MP
 
ну ничего нового не скажу напомню только про Case :) Уже руки отваливаются писать If'ы

Raven616 15.11.2010 18:01

Ответ: Предложения для добавления функционала в MP
 
Здаров,народ.Помоему, неплохо бы создать отдельные окна для функций и операций для МР:wild: .
Хотелось бы подсветку синтаксиса для функций из либ както выделить.

GRAY_WOLF 15.11.2010 19:21

Ответ: Предложения для добавления функционала в MP
 
Цитата:

Сообщение от Raven616 (Сообщение 168780)
Здаров,народ.Помоему, неплохо бы создать отдельные окна для функций и операций для МР:wild: .
Хотелось бы подсветку синтаксиса для функций из либ както выделить.

Все то, что Вы тут пишите, ни кто из разработчиков не читает. Все предложения писать нужно тут http://sourceforge.net/projects/midletpascal/

PacMan 15.11.2010 22:09

Ответ: Предложения для добавления функционала в MP
 
Добавить Result. Например:
PHP код:

function Func01:integer;
begin
  Result 
:= 135;
end


cherepets 16.11.2010 00:28

Ответ: Предложения для добавления функционала в MP
 
зачем?
func01:=135;

и всё

Trazzy 16.11.2010 03:04

Ответ: Предложения для добавления функционала в MP
 
Цитата:

Сообщение от PVD (Сообщение 168647)
..напомню только про Case :) Уже руки отваливаются писать If'ы

хорошо подметил!

Цитата:

Сообщение от cherepets (Сообщение 168843)
зачем?..

Result более привычен паскалевцам,
чем присвоение значения имени функции!:)

Цитата:

Сообщение от GRAY_WOLF (Сообщение 168798)
Все то, что Вы тут пишите, ни кто из разработчиков не читает..

зачем тогда вобще существует эта тема?.

Rumata 30.11.2010 11:14

Ответ: Предложения для добавления функционала в MP
 
Цитата:

Сообщение от 2Fake (Сообщение 168859)
Result более привычен паскалевцам,
чем присвоение значения имени функции!:)

Не согласен. Тут уж кого как учили. Я про Result долгое время даже не знал.


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

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