Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Навскидку ответите? задачка на внимательность 
:(
    Опции темы
Medved
Дата 3.1.2005, 04:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Сможете ответить, без выполнения этого кода, что будет в диалоговом окошке при вызове процедуры Нажми_на_кнопку? Код простейший. В коде две подсказки.

Код

 TO1 = class
 private
   { Private declarations }
 public
   { Public declarations }
   I: string;

   constructor Create(); overload;
   constructor Create(i:string); overload;
   procedure show();
 end;

var
 O1 : TO1;
...

{ O1 }

constructor TO1.Create();
begin
 ShowMessage('TO1 Created');
end;

constructor TO1.Create(i:string);
begin
 I := i;
 ShowMessage('TO1 Created');
end;

procedure O1.show;
begin
 ShowMessage(self.i);
end;

....

procedure Нажми_на_кнопку;
begin
 O1 := TO1.Create('Ye vjkjltw? ye ghjxtk ''nj cjj,otybt? f njkre&');
 O1.show;
end;




Придумал сам, поэтому просьба сильно не пинать.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
p0s0l
Дата 3.1.2005, 04:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Ответить охото, но оставлю для других smile

Только вопрос про имена - так задумано или ты по невнимательности запутался ?...


--------------------
С уважением, г-н Посол.
PM   Вверх
RA
Дата 3.1.2005, 05:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 14
Всего: 115



Как только увидел
Цитата
'Ye vjkjltw? ye ghjxtk ''nj cjj,otybt? f njkre&
сразу понял в чём тут дело. smile

Напомнило принцип паролей у некоторых пользователей

Это сообщение отредактировал(а) RAdmin - 3.1.2005, 05:22
PM   Вверх
daboogietrance
Дата 3.1.2005, 07:53 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











TO1 Created

Ну молодец, ну прочел
то сообщение?
  Вверх
<Spawn>
Дата 3.1.2005, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Тут кажись буковки не хватаетsmile - procedure TO1.show;

П.С.
А вот тут,
Код

constructor TO1.Create(i:string);
begin
I := i;
ShowMessage('TO1 Created');
end;

мне кажется, параметру i будет происходить присваивание самого же себя. Т.е. нужно написать для верной работы:

Код

Self.i := i;


Это сообщение отредактировал(а) <Spawn> - 3.1.2005, 10:07


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Akella
Дата 3.1.2005, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



мне кажется, что будет 2 сообщения
1. 'TO1 Created'
2. 'Ye vjkjltw? ye ghjxtk ''nj cjj,otybt? f njkre&'


Но к чему все это? smile
PM MAIL   Вверх
J. Bravo
Дата 3.1.2005, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 23.10.2004

Репутация: нет
Всего: нет



Благодаря подсказкам <Spawn> имеем:
1. Такой код не будет компилироваться 8-)
2. Если всё же сделать так, чтобы компилировался (procedure TO1.show; вместо procedure O1.show;), то получим два сообщения:
Первое: 'TO1 Created'.
Второе: ''.
PM   Вверх
Medved
Дата 4.1.2005, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Цитата(p0s0l @ 3.1.2005, 07:39)
Только вопрос про имена - так задумано или ты по невнимательности запутался ?...


Специально, чтобы отвлечь. Человек начнет думать, что за имена такие дурацкие smile С ошибкой такая же бодяга. Для отвлечения внимания. И перегрузка конструкторов, тоже.

J. Bravo Правильно.
Добавлено @ 00:36
Просто это показательный пример, который учит использовать префиксы в именах параметров методов класса (да и в обычных процедурах и функциях тоже).


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Snowy
Дата 4.1.2005, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Совпадение внутреннего имени переменной и передаваемого параметра в конструкторе.
Выдать может все, что угодно, я думаю... Хотя, может пустоту...
Вобщем i: string не была инициализирована, поэтому выдаст то, что назначит дельфя. Наверное пустоту...
Оптимально другую буковку в параметре просто задать.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0576 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.