Giter VIP home page Giter VIP logo

nosmoking's Introduction

Анти-Курение EASY

License Version

Эта программа призвана помочь бросить курить тем, кто хочет бросить курить, но всё никак не решается и, возможно, нуждается в некоторой поддержке.

Установка

Данная программа работает в portable-режиме, поэтому место установки не имеет значения. Однако, для работы программы в той же папке, что и exe-файл, должны быть файлы "sound_click.wav" и "Вред курения.mp4". Второй файл - это фильм, который программа воспроизводит во внешнем проигрывателе при нажатии на кнопку (о навигации позже). При необходимости фильм может быть удалён, но в этом случае нужно запретить его воспроизведение (об этом позже). Приложенное к программе видео имеет название "Жданов В.Г. - Правда о табаке" - информативный и ёмкий фильм про вред курения.

Навигация

При самом первом запуске выскакивает окно, где надо принять помощь от программы, после чего выбрать дату начала процедуры отказа от курения (процедура эта длится 365 дней).

При следующем запуске программы возникает заставка, заполняющая экран и основное окно, в котором. Все окна можно закрыть, закрыв основное окно. В этом окне находится теоретическая информация об актуальности программы, вреде курения и вашей стадии отказа. Для перехода к следующему разделу нажимайте "ОК". Между разделом о вреде и разделом о стадии отказа, вам будет предложено оценить успехи в отказе по шкале от 1 до 6. Весьма желательно придерживаться графика отказа, который предлагает программа. После нажатия "ОК" в разделе стадий отказа (раздел текущих задач), программа покажет количество дней до окончания процесса отказа и закроется.

Независимо от раздела, внизу окна будут кнопки: "Почеу 1 год?", "О программе", "График", "Оценить", "ОК". ПРо кнопку "OK" я говорил выше.

  • "Почеу 1 год?" открывает дополнительное окно, в котором находится картинка, разъясняющая причину столь большого срока. В новом окне есть кнопка Почему нужно бросать курить?, при на жатии на которую в окне будет выведен список из 55 причин для отказа от курения, и так же появится кнопка Просмотр фильма, которая запускает стандартный проигрыватель для воспроизведения файла Вред курения.mp4.

  • "О программе" открывает окно о программе, где помимо информации об авторе есть кнопка открытия настроек для модератора (РМ). После нажатия на кнопку РМ будет нужно ввести PIN-код (по умолчанию 4 нуля). В открывшемся окне настроек вы можете деактивировать разделы главного окна, запретить воспроизведение фильма "Правда о табаке", перезапустить цикл Анти-Курение, изменить дату окончания цикла, изменить PIN-код и посмотреть журнал. Сразу скажу, что журнал лучше не очищать т.к. в этом случае сотрутся и оценки самочвуствия, из которых программа строит график. По-сути, сам журнал нужен для сбора статистики, но из всей собранной статистики программа анализирует только оценки самочувствия. Остальная статистика может быть скопирована и проанализирована другими средствами.

  • "График" открывает окно, в котором после хотя бы 2 оценок самочуствия строится график. В этом окне лучше всё "потыкать" самостоятельно. Кстати, обращайте внимание на всплывающие подстказки - они в этом окне есть у каждого элемента.

  • "Оценить" открывает окно оценки программы. Поставленная оценка записывается в журнал и никуда больше не идёт. Я не собирал никакого фидбэка с этой программы (мне высказывали лично:smile:).

Ну вот и всё! Попробуйте сами!

Предыстория

Раскройте этот spoiler

Это довольно старая, но весьма интересная программа. Создана она была мной, когда ещё осваивал .NET Framework. Написал Анти-Курение по той причине, что один из членов семьи много курил, что не слишком хорошо сказывалось на всех. Увы, беседы были бесполезны, и я перешёл к более решительным мерам: создал специальную программу, которая пропогандировала отказ (кстати, программу писал быстро, поэтому не судите строго за именование классов/переменных и грамматические ошибки в некоторых местах).

Находящаяся в репозитории версия не спроста дополнена словом EASY. Когда-то существовала полная версия программы, которая более агрессивно пропогандировала отказ. На самом деле, она не столь сильно отличалась от EASY-версии (например, отличие было в том, что, "полная версия" запусказась при запуске системы, не давала себя закрыть, пока пользователь не даст ответы). Версия "EASY" - мирная.

К сожалению, от полной версии до нынешних дней дожили только воспоминания, а от EASY-версии дожил только установочный файл, который я обнаружил на флешке. Исходники были восстановлены мной при помощи программы ILSpy (пробовал несколькими, но результат ILSpy мне показался лучшим, хоть и не идеальным). Помогло то, что использованный в установочном пакете exe-файл имел редакцию debug (но, несомтря на это, имеющийся exe-шник замечательно работает на ПК с российским форматом даты), что облегчило работу декомпиляторов (в частности, сохранились имена локальных переменных). Однако, не весь код был восстановлен корректно, по причине чего скомпилировать из исходников программу на данный момент нельзя.

К тем, кому эта программа будет интересна и кто возьмётся восстановить код, огромная просьба: сделайте Pull Request в этот репозиторий с восстановленным кодом.

Ах, да, ещё кое что: у некоторых может возникнуть вопрос: "Как же, если у него нет пригодных для компиляции исходников, он отредактировал строки в окне "О программе"?". Ответ таков: ildasm.

nosmoking's People

Contributors

averov90 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.