Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.09.13;
Скачать: [xml.tar.bz2];

Вниз

Перегрузка оператора присваивания в структурах   Найти похожие ветки 

 
Кто б сомневался ©   (2009-07-15 20:30) [0]

Дано:

TSidRec = record                
   SID: PSID;
   SIDLength: integer;
   class operator Implicit(ANewSid: PSID): TSidRec;
 end;

class operator TSidRec.Implicit(ANewSid: PSID): TSidRec;
begin
Result.SID := ..
end;

Как получить ссылку на текущую структуру TSidRec?
Result - насколько я понял новая структура, которая будет поставлена на место старой. Если посмотреть Result в отладичке - то в ней будут рэндомные значения, поэтому я так понимаю это свежесозданный record,

Возможно ли это? В справке не написано об этом.
И что происходит со старой структурой? Она уничтожается по идее?


 
Игорь Шевченко ©   (2009-07-15 20:38) [1]


> Как получить ссылку на текущую структуру TSidRec?


Self ?


 
oxffff ©   (2009-07-15 20:42) [2]


>  Перегрузка оператора присваивания в структурах


По идеалогии Pascal перегрузка оператора присваивания недопустима.
В твоих примерах речь идет о явном и неявном преобразовании типов.


 
Кто б сомневался ©   (2009-07-15 20:43) [3]


> Self ?


Нет. Это record


 
Кто б сомневался ©   (2009-07-15 20:51) [4]


> В твоих примерах речь идет о явном и неявном преобразовании
> типов.


Верно. Но суть вопроса не меняется.


 
oxffff ©   (2009-07-15 20:58) [5]


> Кто б сомневался ©   (15.07.09 20:51) [4]


А почему тогда у тебя параметром стоит тип PSID?

RTFM. :)


 
Кто б сомневался ©   (2009-07-15 21:00) [6]

> В твоих примерах речь идет о явном и неявном преобразовании
> типов.

Кстати, нашел тут - возможна неявная перегрузка оператора присваивания.

http://www.realcoding.net/articles/delphinet-peregruzka-operatorov.html#IDAGQF2C


 
Кто б сомневался ©   (2009-07-15 21:03) [7]


> oxffff © [5]


Не гони, лошадей .. Там все ок. :)


 
oxffff ©   (2009-07-15 21:09) [8]


> Кто б сомневался ©   (15.07.09 21:03) [7]


Там врут и не стесняются. Я серьезно.


 
Кто б сомневался ©   (2009-07-15 21:18) [9]


> > Кто б сомневался ©   (15.07.09 21:03) [7]
>
>
> Там врут и не стесняются. Я серьезно.


Ниче не понял чес говоря.. Ты про статью?


 
oxffff ©   (2009-07-15 21:20) [10]


>
> Ниче не понял чес говоря.. Ты про статью?


Естественно.


 
Игорь Шевченко ©   (2009-07-16 00:57) [11]


> Нет. Это record


и че ?

type
 TFoo = record
 private
   FName: string;
 public
   procedure Bar (const AName: string);
   procedure Cry;
 end;

...

{ TFoo }

procedure TFoo.Bar(const AName: string);
begin
 FName := AName;
end;

procedure TFoo.Cry;
begin
 ShowMessage(" My name is "+Self.FName);
end;

....

var
 Foo: TFoo;
begin
 Foo.Bar("Foo");
 Foo.Cry;
end;


 
Пит   (2009-07-16 13:14) [12]

ЭЭЭЭ... Господа!!! Я подумал, что вчера перепил, тут так серьезно обсуждают все это...

А с каких это времен внутри рекорда можно объявлять методы?!


 
Кто б сомневался ©   (2009-07-16 13:42) [13]


> > Нет. Это record
>
>
> и че ?


Игорь, в таких методах как Implicit нелья его использовать. Матерится компилятор. Я self проверил в самом начале.


> ЭЭЭЭ... Господа!!! Я подумал, что вчера перепил, тут так
> серьезно обсуждают все это...
>
> А с каких это времен внутри рекорда можно объявлять методы?
> !


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


 
PEAKTOP ©   (2009-07-16 13:45) [14]

> А с каких это времен внутри рекорда можно объявлять методы?

С времен CGRS2009. Только вопрос: на куа ?

Да, есть в природе реальные и прикольные задачи (например, run-time дизайнер объектов или форм, a-la Delphi), где вся эта мощь новых расширений языка будет полезна и дает красивый, читабельный код.

А для задач по проще (а по сути - прикладных ежедневных вопросов) вполне спецификации Delphi7 хватает выше крыши.


 
Кто б сомневался ©   (2009-07-16 13:45) [15]


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

щас скажу точнее, еще 3-4  года назад, с Delphi 2006.


 
Кто б сомневался ©   (2009-07-16 13:49) [16]


> PEAKTOP ©   (16.07.09 13:45) [14]

> Только вопрос: на куа ?
> Да, есть в природе реальные и прикольные задачи (например,
>  run-time дизайнер объектов или форм, a-la Delphi), где
> вся эта мощь новых расширений языка будет полезна и дает
> красивый, читабельный код.
>
> А для задач по проще (а по сути - прикладных ежедневных
> вопросов) вполне спецификации Delphi7 хватает выше крыши.
>




Ты сам и ответил на этот вопрос.
У всех разные ведь задачи. ты занимаешся прикладными задачами попроще, а я  run-time дизайнером объектов или форм, посложнее.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2009.09.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.007 c
15-1247248175
Tirael
2009-07-10 21:49
2009.09.13
посоветуйте программу для просмотра видео с камеры наблюдения


2-1247300572
Igor2010
2009-07-11 12:22
2009.09.13
Проверка строки


2-1244310707
Pauk
2009-06-06 21:51
2009.09.13
Защита от копирования


1-1214477815
yaric
2008-06-26 14:56
2009.09.13
выгрузка chartobject-а в html


4-1217505298
demon
2008-07-31 15:54
2009.09.13
API и WM_MOUSEMOVE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский