Конференция "Прочее" » Тестовые задания по Delphi
 
  • Rouse_ © (14.06.16 23:19) [80]
    Иногда бывает другая ситуация, к примеру: я знаю ответ на вопрос Зотыча, но знаю и альтернативный - расширенный вариант. Что считать верным? ;)
  • DayGaykin © (15.06.16 00:11) [81]

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

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

    Ну и как на это отвечать?
  • Rouse_ © (15.06.16 00:20) [82]
    Обьекты
  • Германн © (15.06.16 01:02) [83]

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

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

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

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

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

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

    Мне вопрос зададут - а я на него отвечу. Мне будет приятно.
    На что не отвечу - буду знать куда рыть.
    По-моему, вполне нормальное желание.
  • Юрий Зотов © (15.06.16 09:58) [86]
    > Kerk ©   (14.06.16 22:44) [79]

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


    Не согласен.

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

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

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


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

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

    Ну и третья часть - практическая. Тоже говорит о понимании. Потому что надо не только знать о существовании метода Loaded, но и понимать, зачем он нужен и как работает. Кроме того, третья часть в какой-то степени проявляет практический уровень человека. Дело в том, что перекрытие Loaded прикладниками почти не используется, поэтому прикладник подумает. А для компонентщика со стажем  перекрытие Loaded - обычное дело, ему и думать не надо.
  • Игорь Шевченко © (15.06.16 10:34) [87]
    Я тоже знаю вопрос, на который без 100 грамм не ответить.

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

    Занимательно, что про Firemonkey никто не спрашивает. К чему бы это ?
  • Юрий Зотов © (15.06.16 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 нет, то унаследованные компоненты имеются, но нет новых свойств.

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

    Ответ: я не знаю ответа.
  • Юрий Зотов © (15.06.16 11:52) [89]
    > Игорь Шевченко ©   (15.06.16 10:34) [87]

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

    Все зависит от характера работы. Чистому прикладнику эти глубины действительно вряд ли нужны. Но работал я в одной конторе, в системной группе - так в этой группе без знания и понимания подобных глубин ну никак.
  • картман © (15.06.16 21:48) [90]

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

    глубоко, да, очень глубоко
  • iop © (15.06.16 22:05) [91]
    Вопрос: как добиться желаемого? Чтобы у рабочей формы были и новые свойства, и унаследованные компоненты.

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

    перед созданием наследника убедится что открыта форма с предком
  • NoUser © (15.06.16 22:12) [92]
  • Германн © (16.06.16 01:24) [93]

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

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

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

    Что тут занимательного? Кто тут хоть что-то знает о Firemonkey? Не говоря уже о специалистах в этой области, которые сюда заходить не желают.
  • Юрий Зотов © (16.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".

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

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


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


    Нисколько. Другое дело, что этих познаний обычно хватает для текущих задач. Любую программу можно написать на Фортране.
  • Rouse_ © (16.06.16 18:17) [99]

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

    Не любую :)
 
Конференция "Прочее" » Тестовые задания по Delphi
Есть новые Нет новых   [134432   +19][b:0.001][p:0.001]