Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.17;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
2-1238783224
Enum
2009-04-03 22:27
2009.05.17
Перехват события


15-1237156549
Германн
2009-03-16 01:35
2009.05.17
Это интересно


15-1236796634
Petr V. Abramov
2009-03-11 21:37
2009.05.17
нифигасебе...


2-1238676821
f3nd3r
2009-04-02 16:53
2009.05.17
С++ DLL в Delphi


15-1236754505
Дмитрий С
2009-03-11 09:55
2009.05.17
Размер EXE в зависимости от версии dephi