Главная страница
    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.007 c
4-1208885015
Dmitry
2008-04-22 21:23
2009.05.17
Прочитать UNICODE файл с китайским текстом


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


15-1237120041
Юрий Зотов
2009-03-15 15:27
2009.05.17
Почтовый клиент перестал работать на отправку...


2-1238960438
Дмитрий
2009-04-05 23:40
2009.05.17
Столкнулся с проблемой в простой програмке.Помогите пожалуйста !


11-1200417395
LazyBob
2008-01-15 20:16
2009.05.17
Result.Form.CenterOnParent; и ошибка приложения





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