Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
2-1238677951
Гарик
2009-04-02 17:12
2009.05.17
Изменить поведение MDIChild


15-1236871256
It's not me
2009-03-12 18:20
2009.05.17
Делимость бита


15-1236840903
PHProgger
2009-03-12 09:55
2009.05.17
MySQL - TRIM in function


15-1237197118
Немо2
2009-03-16 12:51
2009.05.17
Что имеется ввиду?


4-1209915823
тимохов
2008-05-04 19:43
2009.05.17
InvalidateRect + потоки




   Наверх