Категория: Программы | Автор: admin | Просмотров: 1918 |
Новий засіб розробки додатків.
Якщо попередні три версії Delphi виходили з інтервалом близько року, то на створення Tiburon’а (у перекладі з іспанського означає Акула) Codegear витратив майже два. І схоже, що нововведень в черговому, дванадцятому після рахунку, продукті лінії Delphi, буде набагато більше, ніж, скажімо, їх було в Delphi 2007. Змін торкнулися практично всі складові IDE, включаючи засоби відладки додатків і мову Delphi.
Якщо поглянути на скріншот, то можна побачити, що зовні середовище розробки особливо не змінилося. Залишився той же Visual Studio подібний інтерфейс і схоже розташування панелей.
Найбільш чудовим нововведенням, на яке звертають увагу Девід Інтерсаймон (технічний керівник команди розробників) і його колеги, стане розширена підтримка юникода. При цьому наголошується, що починаючи з 2002-го року, за даними регулярних опитів, подібне нововведення було найбільш очікуваним і затребуваним серед користувачів Delphi. Юникод це схема кодування символів, яке фактично надає можливість закодувати будь-який алфавіт в єдиний набір символів. Простіше кажучи, юникод дає можливість використовувати будь-який алфавіт незалежно від того, які регіональні налаштування є базовими.
У відмінності від Delphi 2007, де мова розробки практично не еволюціонувала, Tibuon привніс істотні зміни в Delphi Language (про чергове перейменування мови мова поки не ведеться).
Доданий новий строковою типUnicodestring.
Анонімні методи і шаблони(Generics). Анонімні методи, по суті своїй, це процедури і функції, за якими не закріплюється ім'я.
type
// опис методу
Tproc = reference to procedure(x: Integer);
procedure Call(const proc: Tproc);
begin
proc(42);
end;
var
proc: Tproc;
begin
// anonymous method
proc := procedure(а: Integer)
begin
Writeln(a);
end;
Call(proc);
readln
end.
Якщо подивитися приклад коду, то можна зрозуміти, що фактично анонімний метод це змінна, значенням якої може бути будь-яка підпрограма. Цю підпрограму ми можемо перевизначати в коді і навіть передавати як параметр іншій підпрограмі.
Концепція шаблонів так само інтуїтивно зрозуміла з коду. Це рішення було взято з .Net. Найбільш очевидне застосування цієї конструкції - робота із списками. Проте, найімовірніше, можуть знайтися і інші точки її застосування.
Опис:
Tlist<t> = class
private
Fitems: array of T;
Fcount: Integer;
procedure Grow(Acapacity: Integer);
function Getitem(Aindex: Integer): T;
procedure Setitem(Aindex: Integer; Avalue: T);
public
procedure Add(const Aitem: T);
procedure Addrange(const Aitems: array of T);
procedure Removeat(Aindex: Integer);
procedure Clear;
property Item[Aindex: Integer]: T
read Getitem write Setitem; default;
property Count: Integer read Fcount;
end;
Використання:
var
ilist: Tlist<integer>;
slist: Tlist<string>;
procedure Printlistinteger;
var
i: Integer;
begin
for i := 0 to ilist.Count - 1 do
Write(ilist[i] ' ');
Writeln;
end;
procedure Printliststring;
var
i: Integer;
begin
for i := 0 to slist.Count - 1 do
Write(slist[i] ' ');
Writeln;
end;
begin
ilist := Tlist.Create;
try
ilist.AddRange([1, 2, 3]); // ['1', 'second', 'third']);
Printlistinteger;
ilist.RemoveAt(1);
Printlistinteger;
ilist.Clear;
Printlistinteger;
finally
ilist.Free;
end;
slist := Tlist.Create;
try
slist.AddRange(['one', 'two', 'three']); // ['first', 'second', 'third']);
Printliststring;
slist.RemoveAt(1);
Printliststring;
slist.Clear;
Printliststring;
finally
slist.Free;
end;
Readln;
end.
Ще одне, хай і не таке масштабне, нововведення в синтаксисі - нова конструкція процедури Exit:
function Dosomething(ainteger: integer): string;
begin
if ainteger < 0 then
begin
Exit(‘Negative’);
end;
Result := ‘Positive’;
end;
Аналогічно наступному коду:
function Dosomething(ainteger: integer): string;
begin
if ainteger < 0 then
begin
Result := ‘Negative’;
Exit;
end;
Result := ‘Positive’;
end;
Панель компонентів досить істотно розширилася. Додалися досить багато, хай не ключових, але досить зручних компонентів (Category panel, link label, buttoned edit і так далі), відомих по розробках сторонніх виробників. А також расширятся можливості багатьох класів. Наприклад, підтримуватимуться PNG-зображення. Багато візуальних елементів управління будуть адаптовано під Vista стиль. Так для Teditз'явиться Error Box (хінт, з повідомленням про помилку), додаткові набори стилів для Tbutton і багатьох інших нововведень. Все це працюватиме і під Windows XP, хоча, природно, виглядати буде декілька простіше.
Відмінна новина чекає любителів красивого і модного інтерфейсу. Тепер же на палітрі компонентів Tiburon з'явилася вкладка Ribbon Controls. Вона містить наступні компоненти:
- Tribbon;
- Tribboncombobox;
- Tribbonspinedit;
- Tscreentipsmanager;
- Tscreentipspopup.
Окрім інтерфейсних нововведень в VCL з'явилися і деякі зміни, зв'язані з технологіями доступу до даних. Зокрема, новий компонент, заснований на технології Datasnap server.
Істотно оновилися багато діалогів і візарди. Зокрема, став наочнішим візард створення COM об'єктів. Змінився і майстер створення нових компонентів.
Офіційна сторінка:
Додаткова інформація:
Тріал RAD Studio 2009:
[http://altd.codegear.com/download/Delphi_C++Builder2009/Delphi_C++Builder2009.iso]Codegear[/url]
Розмір: 1,9 GB
Slip-файл (окремо):
Буде видалений: 2008-12-12
Пароль: dumpz.ru
Розмір: 544 КБ
Установка:
1. Розпакувати iso-образ в окрему папку.
2. Скопіювати slip-файли в папку install студії.
3. Встановити студію.
4. Замінити bds.exe в папці bin встановленої студії.
5. Користуватись.
Перевірено. Працює.
SetupX-файл (окремо):
Буде видалений: 2008-12-12
Пароль: dumpz.ru
Розмір: 1,13 МБ