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

Вниз

где можно прочитать о:   Найти похожие ветки 

 
novai   (2009-04-03 05:37) [0]

есть примерный код:
...
type Tmy = class
 private
   x,y:integer;
public
   procedure SetXY(x,y:integer);
end;
...
procedureTmy.SetXY(x,y:integer);
begin
 как тут присвоить x,y из private к x,y из procedure?
end;
...
использовать self обязательно? где почитать по этому поводу?


 
MBo ©   (2009-04-03 05:49) [1]

нет, необязательно.


 
мимо   (2009-04-03 06:37) [2]

Обязательно. В противном случае компилятор использует то, что ближе (а ближе будут параметры процедуры). Лучше такого не допускать - можно легко запутаться.

Почитать - google + область видимости переменных


 
Skyle ©   (2009-04-03 06:46) [3]

Почитать о рекомендациях по именованию полей классов и параметров.

В коде типа

type
 TMy = class
 private
   FX : Integer;
   FY : Integer;
 public
   procedure SetXY(AX, AY : Integer);
 end;

.....
procedure TMy.SetXY(AX, AY : Integer);
begin
 FX := AX;
 FY := AY;
end;


такой проблемы не возникнет.


 
MBo ©   (2009-04-03 06:58) [4]

Э, да тут имена одинаковые, невнимательно вcмотрелся ;)


 
novai   (2009-04-03 06:58) [5]

а если так?
type
TMy = class
private
  FX : Integer;
  FY : Integer;
public
  procedure SetXY(AX, AY : Integer);
  property x: integer read fx write fx;
  property y: integer read fy write fy;
end;
.....

то что правильнее?
procedure TMy.SetXY(AX, AY : Integer);
begin
FX := AX;
FY := AY;
end;
или
procedure TMy.SetXY(AX, AY : Integer);
begin
X := AX;
Y := AY;
end;


 
novai   (2009-04-03 06:59) [6]


> область видимости переменных

что-то нашел для разных модулей, а для одного нет(


 
Skyle ©   (2009-04-03 07:42) [7]


> novai   (03.04.09 06:58) [5]

Правильнее будет второй вариант, он будет работать, даже если у свойств появятся сеттеры.


 
novai   (2009-04-03 08:26) [8]


> сеттеры.

это типа:
property x: integer read GetX write SetX;
property y: integer read GetY write SetY;
?


 
Skyle ©   (2009-04-03 08:32) [9]


> novai   (03.04.09 08:26) [8]

Да.


 
novai   (2009-04-03 08:34) [10]

спасибо, но можно по

> Почитать о рекомендациях по именованию полей классов и параметров.

ткнуть ссылкой?


 
Palladin ©   (2009-04-03 08:37) [11]

пост путешественник млин...


 
novai   (2009-04-03 08:42) [12]

я изначально в начинающих создал) суда и вернули


 
Palladin ©   (2009-04-03 08:52) [13]

Просто в прибалтике наступило 1 Апреля )


 
Skyle ©   (2009-04-03 09:24) [14]


> novai   (03.04.09 08:34) [10]

Да что-то типа
http://delphikingdom.com/asp/viewitem.asp?catalogid=802#02


 
novai   (2009-04-03 09:46) [15]

Спасибо!



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

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

Наверх





Память: 0.47 MB
Время: 0.004 c
2-1238737468
Roman88
2009-04-03 09:44
2009.05.17
Функция FileSize


15-1236677968
It's me
2009-03-10 12:39
2009.05.17
Восстановление БД по индексам?


2-1238744228
olegteacher
2009-04-03 11:37
2009.05.17
Очистка Image


15-1237121039
anton773
2009-03-15 15:43
2009.05.17
webbrowser и dll


3-1220820557
kaif
2008-09-08 00:49
2009.05.17
Автоинкрементные поля в MS SQL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский