+ Ответить в теме
Показано с 1 по 17 из 17

Тема: Загадка программерам

  1. #1
    Кандидат в умники JiF Включаюсь JiF Включаюсь JiF Включаюсь
    Регистрация
    20.05.2005
    Сообщений
    420
    Поблагодарил(а)
    0
    Получено благодарностей: 14 (сообщений: 9).

    По умолчанию Загадка программерам

    Есть у нас форма. Hа форме две радиокнопки: rbOn и rbOff. Также есть
    таймер: Timer1. Больше ничего нету.

    Код:

    procedure TForm1.rbOnClick(Sender: TObject);
    begin
    Timer1.Enabled := true;
    end;

    procedure TForm1.rbOffClick(Sender: TObject);
    begin
    Timer1.Enabled := false;
    end;

    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    rbOff.Checked := true;
    MessageBox(Handle, 'Prosto tak', nil, 0);
    end;

    Изначально Таймер выключен, помечена rbOff.

    Что будет, если включить rbOn? По идее, она запустит таймер, через
    секунду событие таймера начнет выполняться - включится rbOff, таймер
    будет остановлен, выведется текстовое сообщение. Система придет в
    начальное состояние.

    А на самом деле не так
    ЗЫ:http://piter.pechora.org/other/Zagadka.zip (1 KByte) - только вы сначала подумайте, а потом в ответы смотрите
    ЗЫЫ я отгадал с первого раза. :cool: ... ответ дам потом...

  2. #2
    SpeculAt0r
    Guest

    По умолчанию

    По-моему, rbOff пометится, но таймер не остановится, ведь процедура сделана на нажатие по rbOff. Ответ пока не смотрел.

  3. #3
    Кандидат в умники JiF Включаюсь JiF Включаюсь JiF Включаюсь
    Регистрация
    20.05.2005
    Сообщений
    420
    Поблагодарил(а)
    0
    Получено благодарностей: 14 (сообщений: 9).

    По умолчанию

    событие ОнКлик происходит при пометке... так что ответ не верный

  4. #4
    s4SSn
    Guest

    По умолчанию

    будут вываливаться messagebox'ы пока ты процесс не заврешишь.. ну или система повснет от этого бесконечнооо цикла... имхо...

  5. #5
    Кандидат в умники JiF Включаюсь JiF Включаюсь JiF Включаюсь
    Регистрация
    20.05.2005
    Сообщений
    420
    Поблагодарил(а)
    0
    Получено благодарностей: 14 (сообщений: 9).

    По умолчанию

    хых.... цикл почти не бесконечный => ответ неверен

  6. #6
    s4SSn
    Guest

    По умолчанию

    MessageBox(Handle, 'Prosto tak', nil, 0);

    ==
    что означают параметры Handle, nil и 0??
    а check равносилен click??
    а если в то время, когда таймер выполняется задать timer.enabled:=true, то его выполение начнется заново или пофик??

  7. #7
    Кандидат в умники JiF Включаюсь JiF Включаюсь JiF Включаюсь
    Регистрация
    20.05.2005
    Сообщений
    420
    Поблагодарил(а)
    0
    Получено благодарностей: 14 (сообщений: 9).

    По умолчанию

    Что такое Handle ? у-у-у .... это дескриптор или как его там по научному (в моем мозгу просто хендл) окна, nil - пустой параметр , не помню на что он влияет у Мессадж бокса, 0 - тип МессаджБокса....
    ===
    Всё это никоем образом не влияет на саму суть ....

    чек НЕ равносилен клику - как можно сравнивать свойство с событием ума не приложу ...

    насчет timer.enabled - гон, то есть всё также и будет .... смысла нету писать лишнее...

  8. #8
    s4SSn
    Guest

    По умолчанию

    Цитата Сообщение от _jf_
    Что такое Handle ? у-у-у .... это дескриптор или как его там по научному (в моем мозгу просто хендл) окна, nil - пустой параметр , не помню на что он влияет у Мессадж бокса, 0 - тип МессаджБокса....
    ===
    Всё это никоем образом не влияет на саму суть ....

    чек НЕ равносилен клику - как можно сравнивать свойство с событием ума не приложу ...

    насчет timer.enabled - гон, то есть всё также и будет .... смысла нету писать лишнее...
    ну уж звиняйте дяденька... мы web-кодеры вас системных программистов... не совсем в струю вливаемся....
    ЗЫ: имхо ваще ничего не должно выводится... никаких сообщений. как он off включит, так таймер и завешится...

  9. #9
    Кандидат в умники JiF Включаюсь JiF Включаюсь JiF Включаюсь
    Регистрация
    20.05.2005
    Сообщений
    420
    Поблагодарил(а)
    0
    Получено благодарностей: 14 (сообщений: 9).

    По умолчанию

    Цитата Сообщение от WasP
    ну уж звиняйте дяденька... мы web-кодеры вас системных программистов... не совсем в струю вливаемся....
    ЗЫ: имхо ваще ничего не должно выводится... никаких сообщений. как он off включит, так таймер и завешится...
    Извиняем...
    ЗЫ: Скачай эти чертовы 1,4 Кб и .... там увиишь...

  10. #10
    s4SSn
    Guest

    По умолчанию

    Цитата Сообщение от _jf_
    Извиняем...
    ЗЫ: Скачай эти чертовы 1,4 Кб и .... там увиишь...
    ага... инет тратить, а потом еще и делфю ставить??? неееееет... я уж лучше ответов подожду тут...

  11. #11
    Кандидат в умники JiF Включаюсь JiF Включаюсь JiF Включаюсь
    Регистрация
    20.05.2005
    Сообщений
    420
    Поблагодарил(а)
    0
    Получено благодарностей: 14 (сообщений: 9).

    По умолчанию


    Оффтопик

  12. #12
    s4SSn
    Guest

    По умолчанию

    Цитата Сообщение от _jf_
    Оффтопик
    ну так я же говорю... чтоб web кодер... php... щас потихоньку perl...
    а ваще paskal хорошо... так что делфи знаю тока по тому, что знаю в паскале... и по тому, что методом тыка определил... просто нет желания вдаваться в системное программирование...

  13. #13
    Кандидат в умники JiF Включаюсь JiF Включаюсь JiF Включаюсь
    Регистрация
    20.05.2005
    Сообщений
    420
    Поблагодарил(а)
    0
    Получено благодарностей: 14 (сообщений: 9).

    По умолчанию


    Оффтопик


    Да знаю что pasCal... - а шо пишешь pasKal ?
    Дык пишется... ну так получается, меня уже информатичка сто раз ругала... говорит, нефиг перед людьми позоритя... а у меня все равно так пишется... эх...нечАЙно...

  14. #14
    Banned Vanda Включаюсь Vanda Включаюсь Vanda Включаюсь Vanda Включаюсь Аватар для Vanda
    Регистрация
    03.07.2005
    Адрес
    страна мухомория
    Сообщений
    743
    Поблагодарил(а)
    16
    Получено благодарностей: 51 (сообщений: 34).

    По умолчанию

    Ответ еще не смотрела, но по логике так: при запуске таймера rbOff пометится, и каждую секунду будут выводиться сообщения, до тех пор, пока не щелкните на rbOff, т.к. остановка таймера происходит именно при событии Click, а изменение свойств радиокнопки не подтверждает нужное событие.

  15. #15
    Кандидат в умники JiF Включаюсь JiF Включаюсь JiF Включаюсь
    Регистрация
    20.05.2005
    Сообщений
    420
    Поблагодарил(а)
    0
    Получено благодарностей: 14 (сообщений: 9).

    По умолчанию

    Цитата Сообщение от Vanda
    Ответ еще не смотрела, но по логике так: при запуске таймера rbOff пометится, и каждую секунду будут выводиться сообщения, до тех пор, пока не щелкните на rbOff, т.к. остановка таймера происходит именно при событии Click, а изменение свойств радиокнопки не подтверждает нужное событие.
    не-а.....
    Ладно не буду вас мучить ... качайте исходник, у кого инета нету, или копеек жалко, делаем так :
    пускаем делфю, бросаем таймер и два TRadioButton , пишем код (см первый пост) ... и компилим. (главное условие, чтобы RadioButtonы находились на одном контроле !)
    И что же мы видим ? А вот: как только нажмем на rbOn, запуститься таймер, выдаст сообщение..... всё.... то есть никаких бесконечных сообщений не будет ! при нажатии на кнопку мессаги, снова пометиться rbOn , и теперь уже пойдет бесконечный цикл, в котором придется жать кнопку мессадж бокса .... если не понятно объяснил, скачайте (или сами накодьте) эту прогу и посмотрите!
    И кто как думает, почему это происходит? Подсказка : это не глюк

  16. #16
    Banned Vanda Включаюсь Vanda Включаюсь Vanda Включаюсь Vanda Включаюсь Аватар для Vanda
    Регистрация
    03.07.2005
    Адрес
    страна мухомория
    Сообщений
    743
    Поблагодарил(а)
    16
    Получено благодарностей: 51 (сообщений: 34).

    По умолчанию

    ээээээ....наверное, я неточно выразила свою мысль. Что ж, дополню: когда выдается сообщение, работа приложения приостанавливается, и, естесственно, других сообщений никаких не будет до тех пор, пока мы не закроем данное. Это верно?:rolleyes:

  17. #17
    Кандидат в умники JiF Включаюсь JiF Включаюсь JiF Включаюсь
    Регистрация
    20.05.2005
    Сообщений
    420
    Поблагодарил(а)
    0
    Получено благодарностей: 14 (сообщений: 9).

    По умолчанию

    Это верно.... но тут главное само действие радиобаттонов - фокус с месадж бокса передается rbOn и соответственно вызывается событие onclick, пускающий таймер.

+ Ответить в теме

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

     

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru
Администрация сайта не выражает согласия
с высказыванием участников форума и не несет
ответственности за их содержание.

Копирование любого материала возможно только
при наличии ссылки на сайт.