Главная страница
    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.005 c
2-1238930346
jonin
2009-04-05 15:19
2009.05.17
Диспечер задачь - > Сеть


15-1237192051
test
2009-03-16 11:27
2009.05.17
Орешник


15-1236893401
Юрий
2009-03-13 00:30
2009.05.17
С днем рождения ! 13 марта 2009 пятница


15-1237388071
Denis__
2009-03-18 17:54
2009.05.17
Переопределение ввода/вывода CMD Windows


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





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