Модераторы: THandle, bems
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> А знаете ли вы, ЧТО... новые возможности языка 
:(
    Опции темы
AlekXL
Дата 22.11.2012, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.5.2008

Репутация: 0
Всего: 0



книг о Дельфи сейчас очень мало, а возможности языка растут.
Да не охота читать 10 страниц текста, описывающие особенность языка, которая интуитивно понятна разработчику на примере.
итак, для затравки: 


PM MAIL   Вверх
AlekXL
Дата 22.11.2012, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.5.2008

Репутация: 0
Всего: 0



в Delphi можно получить доступ к приватным, и строго приватным полям, методам посредством class helper
Код

unit unit1;
type
  TSomeClass=class(TObject)
     strict private
     mPrivateField:integer;
     private
     mpriv2:integer;

  end;
---------------------
unit unit2;

type
 TSomeHelper=class helper for TSomeClass
  public
    function setPrivate(value:integer):integer;

  end;

implementation

function TSomeHelper.setPrivate(value: integer): integer;
begin
  result:=self.mPrivateField;
  self.mPrivateField:=value;
  self.mpriv2:=2;
end;




Добавлено @ 21:37
свойство массив могут быть перегружены по типу индексатора, но только если оно является свойством по умолчанию

Код

type
  tSomeClass=class
    protected
      function getProp(ix:integer):string;overload;
      function getProp(str:string):string;overload;
    public
    property Prop[ix:integer]:string read getProp; default;
    property Prop[ix:string]:string   read getProp;  default;

  end;


implementation

{ tSomeClass }

function tSomeClass.getProp(ix: integer): string;
begin
 result:=intTostr(ix);
end;

function tSomeClass.getProp(str: string): string;
begin
 result:=str;
end;

то же верно и для интефейсов.

Это сообщение отредактировал(а) AlekXL - 22.11.2012, 21:43
PM MAIL   Вверх
AlekXL
Дата 22.11.2012, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 2.5.2008

Репутация: 0
Всего: 0



----
В XE3 можно определять хелперы для встроенных типов: integer, string и т.д.
подробнее
PM MAIL   Вверх
DarkProg
Дата 23.11.2012, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: нет
Всего: 19



Эммм... вообще-то это появилось ещё в более ранних версиях делфи...


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
Akella
Дата 27.11.2012, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



только в XE3
PM MAIL   Вверх
Akella
Дата 27.11.2012, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 7
Всего: 329



PM MAIL   Вверх
DarkProg
Дата 28.11.2012, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: нет
Всего: 19



Цитата(Akella @  27.11.2012,  22:26 Найти цитируемый пост)
только в XE3 

Хэлпер для класса можно юзать ещё с XE. Другое дело скажем для целых чисел.

Второе так я вообще думаю было очень давно...


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle

Добро пожаловать в форум группы "Delphi".

В разделе разрешается:

  • Флудить (в приемлемых величинах)
  • Обсуждать модерирование данного раздела (но не его модератора)
  • Добавлять свои правила если они не противоречат существующим
  • Делать наезды на пешеходов***

Строго запрещено:

  • Размещать рекламу
  • Совершать оскорбления личностей
  • Материться
  • *** Пешеходами не являются (ко)модераторы, админы, участники клуба.

Если Вам понравилась атмосфера форума, заходите к нам чаще! Люблю, целую, вечно Ваш, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Форум группы: delphi | Следующая тема »


 




[ Время генерации скрипта: 0.1140 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.