1. Pascal / Говнокод #5629

    +102

    1. 1
    while dlg_SmplSpk.ShowModal = mrOk do ;

    Узрел такое! Срочно к себе в рецепты прогрессивного программирования!
    Сделано это для того, чтобы окно не закрывалось при подтверждении всех сделанных действий.
    Закрываться должно только при нажатии кнопочки "Закрыть".
    Отсюда непонятен ход мыслей автора сия творения.

    Запостил: Grizzly, 11 Февраля 2011

    Комментарии (39) RSS

    • спорно. В целом код православный, только вместо mrOK лучше б юзал mrCancel.
      хотя нет. нахуй тогда ее закрывать ваще, внутри формы надо обрабатывать в OnCloseQuery
      Ответить
      • Фишка в том, что модальная форма и так не закроется, если убрать из обработчика кнопочки "Принять" строку ModalResult := mrOk, и закрываться будет только по кнопочке "Закрыть".

        З.Ы. Забыл сказать, что результат ModalResult в дальнейшем, кроме как в этом цикле, больше нигде не нужен.

        Ну да, можно и так как вы предложили.
        Ответить
        • та, шо ви гоните, диалог еще как закрывается
          Ответить
          • А кто говорил о диалоге?
            И что вы подразумеваете под словом "диалог"?

            Читайте внимательнее "модальная форма"
            Ответить
            • facepalm.dfm
              дельфисты, как всегда, не бачут разницы между типами окон, но называют их всех "формами"
              Ответить
              • Всегда найдутся люди, которые некомпетентны в вопросе, но лезут со своими неуместными высказываниями. А когда лажают, пытаются показать какие они умные, играя в капитана очевидность, либо неся какой-нибудь несуразный бред.
                Ответить
                • киса, ты действительно хочешь померятся со мной интеллектом?
                  так вот, няша, ShowModal() не вернет управление пока юзер не закроет диалог, нажав кнопку с ModalResult <> 0, а цикл покажет его снова, если для той кнопки ModalResult <> mrOk
                  Ответить
                  • Он изначально сказал, что если в обработчике кнопки нету ModalResult, то окно не закроется.
                    Это правда.
                    Какие предъявы?
                    Ответить
                    • еще один... закрыть можно, но ModalResult сбросит в mrCancel

                      девочки-блондиночки, вы действительно считаете, что быстро повторно открытое окно эквивалентно незакрытому?
                      Ответить
                      • а может в окне написано "ХУЙ ЗАКРОЕШЬ" [ОК]

                        по нажатии ОК оно снова открывается, задумка блять такая
                        Ответить
                        • ))) Да тут, в чем мне периодически приходится копаться, таких задумок, хоть ...опой ешь!
                          Ответить
                        • Да просто он считает такой подход к решению нормальным. А этот код даже уместным в каких-то случаях.
                          Видимо он один из тех кто так же сделал бы.
                          А то, что подобный код явно говорит (нет, даже кричит!) нам о том, что в программе точно что-то неверно задумано/сделано/реализовано, его это мало волнует.
                          Такие работнички как он, решают проблемы поверхностно, так сказать делают заплатки или избавляются от симптомов, а вот глянуть глубже и узреть, что можно избавиться от излишней путаницы в коде (гавнокод одним словом) ему наверно просто лень.
                          Ответить
                      • >девочки-блондиночки, вы действительно

                        Открываем по-шире глазки и вчитываемся в описание ->
                        "...Сделано это для того, чтобы окно не закрывалось..."
                        Об эквивалентности тут никто не говорит. Опять вернулись к методу придумывания неуместного.
                        Ответить
                  • >киса, ты действительно хочешь померятся со мной интеллектом?
                    Было-тон - еще один показатель ваших умственных способностей.

                    Ой на смешили! Может это вы писали этот код? Признавайтесь!
                    Ну вот теперь вы выбрали стратегию капитана очевидность!

                    Конечно цикл его откроет, об это изначально и идет речь.
                    Так скажите мне, пожалуйста, зачем закрывать-то это окно?!!

                    Вы уже показали, что в Delphi опыта у вас нет, а по вашим высказываниям о "дельфистах" можно догадаться, что вы вовсе не относитесь к программистам Delphi. Так если вы не разбираетесь в этом, зачем лезть со своими граблями в чужой огород?!
                    Да бы пополнить ваш запас знаний, могу посоветовать вам заглянуть в исходники класса TForm и там хорошенько всмотреться в метод Close. По умолчанию для класса TForm статуса fsModal всегда будет возвращаться ModalResult = 2.
                    Так что не надо тут ни цикла, ни ModalResult = mrOk в обработчике кнопки "Принять". Результат в виде Незакрытого модального Окна (надеюсь так вам понятнее?) при нажатии кнопки "Принять" будет достигнут.
                    Ответить
                    • высер выше не читал, многа букав
                      > программистам Delphi
                      но заметил, что дельфисты опять начали считать себя программистами, LOL
                      Ответить
                      • нельзя быть таким толстым. Займитесь фитнессом, перестаньте жрать макбургеры и заведите наконец женщину
                        Ответить
                      • Ничего умнее придумать вы не смогли.
                        Поздравляю вы настоящий ТРОЛЬ!
                        Считаю дальней разговор с вами не имеет смысла.
                        Признать свою тупость вы все равно не сможете.
                        Зато читающие оценят ваши "умственные" способности.
                        Ответить
                        • > ТРОЛЬ
                          Конечно, чтобы визуально кликать по формочками и копипастить код вам этого знать не нужно; но слово "тролль" пишется с двумя л.
                          Ответить
                          • :) Я знаю, что у кого любимое занятие от безысходности искать грамматические ошибки, даже зная, что это опечатка, но вам не скажу, а то обидитесь.
                            Я даже знаю как вы это делаете. Загоняете все в какой-нибудь редактор и смотрите где подчеркнуто красненьким. И свои сообщения видимо там же пишете, жаль редактор не подсказывает где запятые ставить надо, а вам его как раз стоит подучить.

                            З.Ы. Вы просто недостойны второй Л
                            Ответить
                            • OMG, я ввязался в спор с безграмотным имбеци молодым специалистом, не знающим разницы между орфографическими и грамматическими ошибками и работающим в Delphi!

                              в ужасе покидает тред
                              Ответить
                          • троЛЛЛЛЛЛЛЛЛЛЛЛЛЛЛЛЛЛь

                            так будет правильнее. толщину какбэ символизирует
                            Ответить
              • Коллега, а вот нахуй нам в Delphi эти подробности насчет типов окон?
                Ответить
        • вобщем, вариантов более9000
          Ответить
          • Варианты всегда есть, даже гавнокод сам по себе тоже вариант :)
            Ответить
    • Тупые дельфины...
      Ответить
    • жестко. приговор такой проге - taskkill
      Ответить
    • Хех, быдлодельфяшечка снова блистает
      Ответить

    Добавить комментарий