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

Вниз

Тестовые задания по Delphi   Найти похожие ветки 

 
Rouse_ ©   (2016-06-14 23:19) [80]

Иногда бывает другая ситуация, к примеру: я знаю ответ на вопрос Зотыча, но знаю и альтернативный - расширенный вариант. Что считать верным? ;)


 
DayGaykin ©   (2016-06-15 00:11) [81]


> Rouse_ ©   (14.06.16 23:19) [80]
>

А иногда бывает так:
"В чем основное отличие Java и JavaScript?"

Ну и как на это отвечать?


 
Rouse_ ©   (2016-06-15 00:20) [82]

Обьекты


 
Германн ©   (2016-06-15 01:02) [83]


> Kerk ©   (14.06.16 22:44) [79]
>
>
> > Юрий Зотов ©   (14.06.16 21:34) [74]
>
>
> > Совершенно согласен и скажу даже сильнее: любой технический
> > вопрос на собеседовании - из этой серии. Поскольку ответ
> > спрашивающий всегда знает заведомо.
>
> Не любой :)
>
> Я потому и ополчился на вопрос про OnCreate, а не на вопрос
> про конвертацию. Потому что первый вопрос - это вопрос телевикторины
> на знание фактов

Не совсем так. Это вопрос на знание основ Дельфи для разработчика классов. Вопрос про конвертацию вообще имеет очень слабое отношение именно к Дельфи. Там только вопрос алгоритмов и грамотного их применения.
P.S. Вот тут хочется ещё раз спросить с какой целью ТС задал свой вопрос "Хочу узнать свой скилл"?
Для оценки "кодера" вопрос про OnCreate явно не подходит.


 
DayGaykin ©   (2016-06-15 01:23) [84]


> Rouse_ ©   (15.06.16 00:20) [82]
> Обьекты

Вопрос оказался провокацией.


 
KSergey ©   (2016-06-15 07:45) [85]

> Германн ©   (15.06.16 01:02) [83]
> Не совсем так. Это вопрос на знание основ Дельфи для разработчика
> классов. Вопрос про конвертацию вообще имеет очень слабое
> отношение именно к Дельфи. Там только вопрос алгоритмов
> и грамотного их применения.
> P.S. Вот тут хочется ещё раз спросить с какой целью ТС задал
> свой вопрос "Хочу узнать свой скилл"?
> Для оценки "кодера" вопрос про OnCreate явно не подходит.
>

на мой взгляд как у конкретного вопроса в конкретном месте было неудачное ограничение: "никуда не подглядывая". В таком варианте - именно телевикторина.
А вот если убрать это ограничение - это уже отличный вопрос по всем параметрам. Один фик ответ на ту часть, где уточняется "почему" и "чем заменить" напрямую нигде не содержится и тут-то и можно выбирать по ответам.
Я бы не догадался даже с подглядыванием. В отличии.

> Германн ©   (15.06.16 01:02) [83]
> P.S. Вот тут хочется ещё раз спросить с какой целью ТС задал свой вопрос "Хочу узнать свой скилл"?
> Для оценки "кодера" вопрос про OnCreate явно не подходит.

Мне вопрос зададут - а я на него отвечу. Мне будет приятно.
На что не отвечу - буду знать куда рыть.
По-моему, вполне нормальное желание.


 
Юрий Зотов ©   (2016-06-15 09:58) [86]

> Kerk ©   (14.06.16 22:44) [79]

> первый вопрос - это вопрос телевикторины на знание фактов,


Не согласен.

Первый вопрос (про OnCreate) состоит из трех взаимосвязанных частей. Можно сказать, что первая часть - действительно на знание фактов. Для ответа достаточно назвать TForm и TDataModule. И если человек отвечает именно так, то он показывает свои знания, но не более того. Но если он отвечает так:

"Событие OnCreate имеют компоненты, которые:"
- являются контейнерами других компонентов;
- при создании грузят себя и свое содержимое из DFM или иного ресурса;
- после полной загрузки генерируют событие OnCreate.

На сегодня это TForm и TDataModule. Но завтра могут появиться и другие.


И если человек отвечает именно так, то он показывает не только свои знания, но и понимание того, что до полного окончания загрузки обращаться к другим компонентам и генерить события нельзя.

Хорошо, допустим, что человек все это понимает, но не придал этой части вопроса особого значения, поэтому просто назвал TForm и TDataModule. Для того, чтобы уточнить, служит вторая часть вопроса - почему так сделано? Вот тут уже надо думать, голым знанием фактов тут не обойдешься.

Ну и третья часть - практическая. Тоже говорит о понимании. Потому что надо не только знать о существовании метода Loaded, но и понимать, зачем он нужен и как работает. Кроме того, третья часть в какой-то степени проявляет практический уровень человека. Дело в том, что перекрытие Loaded прикладниками почти не используется, поэтому прикладник подумает. А для компонентщика со стажем  перекрытие Loaded - обычное дело, ему и думать не надо.


 
Игорь Шевченко ©   (2016-06-15 10:34) [87]

Я тоже знаю вопрос, на который без 100 грамм не ответить.

Другое дело, что знание ответа на него применять, также, как и OnCreate у иных компонентов делать, дело настолько не распространенное, что польза от ответа на подобный вопрос без интернета чуть менее, чем никакая. Да, понимание VCL, но нахрен оно нужно - это понимание до таких глубин, чтобы сходу ответить на нетривиальные вопросы - я тоже не знаю.

Занимательно, что про Firemonkey никто не спрашивает. К чему бы это ?


 
Юрий Зотов ©   (2016-06-15 11:16) [88]

> KSergey ©  
> All

Вопрос, ответа на который я не знаю.

Пишем базовую форму, от которой потом будем наследовать рабочие формы.

1. На базовой форме лежат компоненты, которые должны автоматически появляться и у рабочих форм-потомков. С этой целью базовая форма помещена в репозиторий.

2. У базовой формы есть добавленные нами новые published-свойства. Чтобы эти свойства были доступны в design-time, базовая форма  зарегистрирована в IDE через RegisterCustomModule.

3. Базовая форма лежит в run-time пакете. Еще есть design-time пакет, который в required ссылается на run-time пакет и инсталлирован в IDE. Design-time пакет содержит процедуру register и все остальное, что нужно только в design-time. Это эксперт, помещающий базовую форму в репозиторий, а также (если надо) редакторы свойств и компонентов.

4. Что ожидаем. Жмем New-Other, в репозитории выбираем базовую форму и получаем ее наследника (рабочую форму) со всеми компонентами и добавленными нами свойствами - причем эти свойства доступны для правки в design-time.

5. Что имеем на самом деле. Жмем New-Other, в репозитории выбираем базовую форму и получаем ее наследника (рабочую форму) БЕЗ ВСЯКИХ КОМПОНЕНТОВ, АБСОЛЮТНО ПУСТУЮ. Но добавленные нами свойства есть и они действительно доступны для правки в design-time.

6. Убираем RegisterCusomModule. Жмем New-Other, в репозитории выбираем базовую форму и, само собой, получаем ее наследника (рабочую форму) со всеми компонентами. Но добавленных нами свойств в инспекторе объектов мы, естественно, не видим.

7. Получили противоречие. Если RegisterCustomModule есть, то у рабочей формы есть новые свойства, но нет унаследованных компонентов. Если же RegisterCustomModule нет, то унаследованные компоненты имеются, но нет новых свойств.

Вопрос: как добиться желаемого? Чтобы у рабочей формы были и новые свойства, и унаследованные компоненты.

Ответ: я не знаю ответа.


 
Юрий Зотов ©   (2016-06-15 11:52) [89]

> Игорь Шевченко ©   (15.06.16 10:34) [87]

> Да, понимание VCL, но нахрен оно нужно - это понимание до
> таких глубин, чтобы сходу ответить на нетривиальные вопросы

Все зависит от характера работы. Чистому прикладнику эти глубины действительно вряд ли нужны. Но работал я в одной конторе, в системной группе - так в этой группе без знания и понимания подобных глубин ну никак.


 
картман ©   (2016-06-15 21:48) [90]


>  понимание того, что до полного окончания загрузки обращаться
> к другим компонентам и генерить события нельзя

глубоко, да, очень глубоко


 
iop ©   (2016-06-15 22:05) [91]

Вопрос: как добиться желаемого? Чтобы у рабочей формы были и новые свойства, и унаследованные компоненты.

создать проджект груп в которую входит проджект с дизайном предка и текущий проджект использующий предка.

перед созданием наследника убедится что открыта форма с предком


 
NoUser ©   (2016-06-15 22:12) [92]

>[87]
Firemonkey ???
http://images.popmatters.com/reviews_art/m/monkey_island_column_swordfighting.jpg ))


 
Германн ©   (2016-06-16 01:24) [93]


> KSergey ©   (15.06.16 07:45) [85]
>
> > Германн ©   (15.06.16 01:02) [83]
> > Не совсем так. Это вопрос на знание основ Дельфи для разработчика
> > классов. Вопрос про конвертацию вообще имеет очень слабое
> > отношение именно к Дельфи. Там только вопрос алгоритмов
> > и грамотного их применения.
> > P.S. Вот тут хочется ещё раз спросить с какой целью ТС
> задал
> > свой вопрос "Хочу узнать свой скилл"?
> > Для оценки "кодера" вопрос про OnCreate явно не подходит.
>
> >
>
> на мой взгляд как у конкретного вопроса в конкретном месте
> было неудачное ограничение: "никуда не подглядывая". В таком
> варианте - именно телевикторина.

Неудачное сравнение. Тут более подходит анекдот о том как кто-то отвечает на вопрос "чему равно дважды два/ сколько будет два умножить на два". Кто-то сразу отвечает - четыре. Кто-то хватается за логарифмическую линейку (уст.)/калькулятор. Кто-то сразу отвечает что он не обязан помнить все формулы. :)


 
Германн ©   (2016-06-16 01:59) [94]


>  Игорь Шевченко ©   (15.06.16 10:34) [87]
>
> Занимательно, что про Firemonkey никто не спрашивает. К
> чему бы это ?

Что тут занимательного? Кто тут хоть что-то знает о Firemonkey? Не говоря уже о специалистах в этой области, которые сюда заходить не желают.


 
Юрий Зотов ©   (2016-06-16 09:23) [95]

> iop ©   (15.06.16 22:05) [91]

Надо же, как все просто, оказывается. Но вот Erik Berry (это разработчик GExperts) почему-то так не считает. Вот что он говорит по этому поводу:

"Note that the IDE will not allow you to add both published properties and components to a custom module at the same time".

Значит, либо он неправ, либо Вы не в теме.


 
Юрий Зотов ©   (2016-06-16 09:40) [96]

Есть, правда, обходной путь, но он именно обходной.


 
KSergey ©   (2016-06-16 14:06) [97]

> Германн ©   (16.06.16 01:59) [94]
> Что тут занимательного? Кто тут хоть что-то знает о Firemonkey?
>  Не говоря уже о специалистах в этой области, которые сюда заходить не желают.

Вот это, кстати, в самом деле удивительно мне лично.
С одной стороны, Борланд в своей реинкарнации выпускает всё новые версии, куда включает как изменения в языке, так и переписанные библиотеки.
При этом изменения языка явно используются и изучаются (это видно по ответам на форуме), то изменения в стандартных библиотеках (опять же судя лишь по форуму) игнорируются чуть более, чем полностью (на мой личный взгляд). Фактически все познания - на уровне Дельфи 5/7 плюс те грабли, на которые наступали при использовании этих познаний в более новых версиях. Как так?
Или я ошибаюсь?


 
Игорь Шевченко ©   (2016-06-16 18:04) [98]

KSergey ©   (16.06.16 14:06) [97]


> Или я ошибаюсь?


Нисколько. Другое дело, что этих познаний обычно хватает для текущих задач. Любую программу можно написать на Фортране.


 
Rouse_ ©   (2016-06-16 18:17) [99]


> Игорь Шевченко ©   (16.06.16 18:04) [98]
> Любую программу можно написать на Фортране.

Не любую :)


 
ttUser ©   (2016-06-16 21:38) [100]

>Обьекты

ооп как раз в javascript покруче любого дельфового. Только основано на прототипировании, а не на классическом наследовании классов. Возможностей больше, но понимать сложнее )


 
Kerk ©   (2016-06-16 21:50) [101]

А ты и TUser, который тут был - это разные люди?


 
ttUser ©   (2016-06-16 23:19) [102]

разные


 
Германн ©   (2016-06-17 01:35) [103]


> KSergey ©   (16.06.16 14:06) [97]
>
> > Германн ©   (16.06.16 01:59) [94]
> > Что тут занимательного? Кто тут хоть что-то знает о Firemonkey?
>
> >  Не говоря уже о специалистах в этой области, которые
> сюда заходить не желают.
>
> Вот это, кстати, в самом деле удивительно мне лично.
> С одной стороны, Борланд в своей реинкарнации выпускает
> всё новые версии, куда включает как изменения в языке, так
> и переписанные библиотеки.
> При этом изменения языка явно используются и изучаются (это
> видно по ответам на форуме), то изменения в стандартных
> библиотеках (опять же судя лишь по форуму) игнорируются
> чуть более, чем полностью (на мой личный взгляд). Фактически
> все познания - на уровне Дельфи 5/7 плюс те грабли, на которые
> наступали при использовании этих познаний в более новых
> версиях. Как так?
> Или я ошибаюсь?

Да просто мало кто пишет программы на FMX.


 
Юрий Зотов ©   (2016-06-17 12:43) [104]

> Kerk ©   (16.06.16 21:50) [101]
> А ты и TUser, который тут был - это разные люди?

> ttUser ©   (16.06.16 23:19) [102]
>разные


Ну очевидно же:

TUser - это class(...)
ttUser - это class of TUser

:o)



Страницы: 1 2 3 вся ветка

Текущий архив: 2017.10.15;
Скачать: CL | DM;

Наверх




Память: 0.67 MB
Время: 0.012 c
15-1466285401
Юрий
2016-06-19 00:30
2017.10.15
С днем рождения ! 19 июня 2016 воскресенье


15-1465855893
Тимохов Дима
2016-06-14 01:11
2017.10.15
TXMLDocument


15-1466242285
ВладОшин
2016-06-18 12:31
2017.10.15
админский вопрос, FileZilla , периодически не видит сервер из cmd


2-1448036373
gedevan
2015-11-20 19:19
2017.10.15
TScrollBar дергается при наведении или убирании мышки с него


15-1466367185
NailMan
2016-06-19 23:13
2017.10.15
Читать COM-порт, передавать в RRD-Tools и генерировать HTML