Форум: "Прочее";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
ВнизА кто что думает про RemObjects Chrome? Найти похожие ветки
← →
vuk © (2006-02-16 11:50) [0]Я посмотрел документацию... Вроде ничё так... Оно, конечно, олько под .NET, но там есть многие возможности, которых от Borland просили давно, но так и не дождались. И есть подозрение, что не дождемся теперь...
← →
vuk © (2006-02-16 16:56) [1]Тэ-э-эк... Никто ничего не думает?
Ну тогда вот для затравки.
По синтаксису Chrome - это на 80% Delphi.
Но есть некоторые отличия и расширения.
То что бросилось в глаза.
1. Generics.
Выглядит примерно так:type
PersistentCollection<T> = public class(ArrayList, IPersistentCollection)
where T is PersistentObject, T has constructor;
private
method GetItem(aIndex: Integer): T;
protected
method GetItemName: String; virtual;
public
method LoadFromXml(aNode: XmlNode); virtual;
method SaveToXml(aNode:XmlNode); virtual;
property Items[aIndex: Integer]: T read GetItem;
method AddNew: T;
method AddNew(aName: String): T;
end;
Method - можно писать вместо procedure и function
2. Обработка исключений почти такая же, но есть доп. фичиtry
// :
except
on E: SocketException where E.Errorcode = 10054 do begin
// connection was closed gracefully
end;
end;
3. Делегаты. В Delphi - "of object"type
MyEvent = delegate (Sender: Object; Args: MyCustomArgs);
4. with до кучи имеет такой синтаксис:with p: Person := PersonArray[i] do begin
:
p.Name := "Klaus";
:
end;
with b: Button := new Button do
with c: Color := b.BackColor do begin
:
b.Text := "Hello World";
self.Text := c.ToString;
:
end;
end;
5. using. примерно как в C#using f := new FileStream(..) do begin
:
end;
6. contractsmethod MyObject.Add(aItem: ListItem);
require
assigned(aItem) : "List Item for MyObject cannot be nil";
begin
InternalList.Add(aItem);
ensure
Count = old Count +1 : "MyObject: Count logic error";
End;
7. Invariants. Привожу цитату из Help
> In contrast to pre and post
> conditions, Invariants are used to define a fixed state
> the object must
> fulfill at any given time. Invariants can be public or private.
> Public
> invariants will be checked at the end of every public method
> (after the
> method"s "ensure" block, if present, has been checked) and
> if an invariant
> fails, an assertion is raised. Private invariants will be
> checked at the end
> of every method call, public or private. The idea behind
> this separation is
> that public invariants must not be met by private methods,
> so theoretically
> a public method can defer work to several private worker
> methods, and public
> invariants would only be checked after the public method
> finishes
> Examples:type
MyClass = class
public
: some methods or properties
public invariants
fField1 > 35;
SomeProperty = 0;
SomeBoolMethod() and not (fField2 = 5);
private invariants
fField > 0;
end;
8. case по типу объектаcase somebody type of
Person: msg := msg_Person;
Employee: msg := msg_Employee;
end;
← →
Игорь Шевченко © (2006-02-16 17:24) [2]Все бы хорошо, еще бы документация на русском была - цены бы не было :)
← →
vuk © (2006-02-16 18:28) [3]>еще бы документация на русском была - цены бы не было
Это с каких это пор ты отказываешься доки на англицком читать? :)
← →
Игорь Шевченко © (2006-02-16 18:30) [4]vuk © (16.02.06 18:28) [3]
Да я не отказываюсь, просто настолько уже басурманский текст приелось читать, а главное, вникать в него :)
← →
Суслик © (2006-02-17 12:35) [5]Вопрос, а зачем он нужен?
Это для работы или для образования? (их сайт посмотрел, времени глубоко внимать нет).
← →
DrPass © (2006-02-17 13:36) [6]Для работы. В .NET компилятор существует не сам по себе, он пользуется общей средой и библиотеками. Так что вся мощь Visual Studio доступна и пользователям Chrome. В свете последних веяний есть вероятность, что любители Паскаля рано или поздно будут работать именно на Chrome :-)
← →
vuk © (2006-02-17 14:22) [7]Да, вот еще про исключения. В отличие от Delphi, где два типа блоков - try..except..end и try..finally..end, в Chrome только один - try..except..finally..end, что несколько удобнее, не нужно делать вложенных блоков для обработки исключений и финализации.
to Суслик © (17.02.06 12:35) [5]:
>Вопрос, а зачем он нужен?
Хороший вопрос. Зачем нужен компилятор? Компилировать, ясен пень! :o)
А вообще говоря, см DrPass © (17.02.06 13:36) [6]. Тут ведь в чем дело, большинство возможностей, отличающих Chrome от Delphi - это то, что давно просили у Борланд и на что были ответы в духе "идите на фиг" и "может быть в следующей пятилетке".
← →
Игорь Шевченко © (2006-02-17 14:26) [8]vuk © (17.02.06 14:22) [7]
> Да, вот еще про исключения. В отличие от Delphi, где два
> типа блоков - try..except..end и try..finally..end, в Chrome
> только один - try..except..finally..end, что несколько удобнее,
> не нужно делать вложенных блоков для обработки исключений
> и финализации.
Что несколько неудобнее, так как не каждый раз используются два блока вместе (try..except и try..finally вокруг него или наоборот, внутри). В моей практике чаще встречались либо try..finally, либо try..except
← →
Суслик © (2006-02-17 14:30) [9]
> Хороший вопрос. Зачем нужен компилятор? Компилировать, ясен
> пень! :o)
Т.е. это что-то типа компилятор delphiподобного языка в net?
← →
Igorek © (2006-02-17 14:41) [10]http://www.remobjects.com/testimonials/
← →
vuk © (2006-02-17 15:56) [11]to Игорь Шевченко © (17.02.06 14:26) [8]:
>Что несколько неудобнее, так как не каждый раз используются два блока
>вместе
Любой из блоков except и finally можно пропускать, что позволяет получать полные эквиваленты Delphi-шным.
to Суслик © (17.02.06 14:30) [9]:
>Т.е. это что-то типа компилятор delphiподобного языка в net?
Угадал. :o)
← →
Игорь Шевченко © (2006-02-17 16:00) [12]vuk © (17.02.06 15:56) [11]
> Любой из блоков except и finally можно пропускать, что позволяет
> получать полные эквиваленты Delphi-шным
Вот же сволочи.
Ну точно, осталось документацию на русском, и чтобы в VS Express Edition встраивался.
← →
Igorek © (2006-02-17 16:40) [13]> Игорь Шевченко © (17.02.06 16:00) [12]
> Вот же сволочи.
>
> Ну точно, осталось документацию на русском, и чтобы в VS
> Express Edition встраивался.
Попробую что-нибуть сделать. ;)
← →
Джо © (2006-02-17 16:54) [14]Хороший язык.
Мне очень понравились async methods. Многопоточность без лишней писанины и очень наглядная.
← →
jack128 © (2006-02-17 16:59) [15]Игорь Шевченко © (17.02.06 16:00) [12]
и чтобы в VS Express Edition встраивался
не знаю, как в EE, а в обычную студию встраивается http://www.chromesville.com/articles/?id={E7D39DFF-B0AE-4EE9-8C98-4F2BC22E5231}
← →
Игорь Шевченко © (2006-02-17 17:36) [16]jack128 © (17.02.06 16:59) [15]
Обычная денег стоит, ЕЕ в течение года вроде бесплатная.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.098 c