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)

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 и работу с файлами...
Но на си который тоже надо, по нем отлаживать генератор будем...


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

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