Форум программистов, компьютерный форум, киберфорум
mozgotron
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  

План ClickOnce-программы для работы с графическими файлами

Запись от mozgotron размещена 14.11.2019 в 00:15
Показов 1710 Комментарии 3

Благодаря замечаниям форумчан Usaga и Rius, удалил со своего компа Microsoft Visual Studio Ultimate 2012 v.11.0.50727.1 RTMREL и перешёл на Microsoft Visual Studio Community 2019 v.16.3.8.

Некоторые профессиональные программисты рекомендуют всем, кто программирует, даже дилетантам типа меня, перед кодированием в редакторе кода, сначала писать текстовые планы своих будущих программ. Они утверждают, что такие планы программ сильно облегчают кодирование, по планам легче проверять логику программы. Раньше я делал наброски пары своих программ шариковой ручкой в клеточной тетради размером A4. В этот раз "набросал" план инструкций в Ворде.
Вообще я ни разу не видел, как такие планы пишут те, кто это советует делать. Советуют, но не показывают. (Главную примочку планируемой программы не стал описывать. Секрет!!!)

План ClickOnce-программы в главной форме приложения для работы с графическими файлами

1. событие: запуск исполняемого файла
—a. читаем из реестра директорию предыдущего сеанса
—b. если директория предыдущего сеанса в реестре
——i. не прописана
———1. открываем форму с пользовательским соглашением (как при первом запуске; из формы соглашения прописываем в реестре рабочую папку приложения)
——ii. прописана — проверяем её наличие на диске — если директория
———1. существует — вызываем функцию сканирования файлов
———2. не существует — ничего не делаем
2. функция сканирования файлов
—a. выводим путь к папке в заголовок окна
—b. получаем названия файлов из выбранной папки
—c. фильтрация: если среди файлов есть графические — выводим их названия в список ListBox
—d. подсчитываем количество отобранных файлов и выводим в строку состояния
3. событие: выбор пользователем файла в списке файлов
—a. выводим изображение из выбранного файла в контрол PictureBox
—b. сохраняем в переменную расширение файла
—c. отображаем название файла без расширения в контроле переименований TextBox
4. событие: нажатие кнопки «удалить файл»
—a. удаляем файл в корзину
—b. если при удалении возникает ошибка — выводим сообщение об ошибке
5. событие: текст в TextBox изменён
—a. если длина текста > 0 — активируем кнопку «переименовать файл»
—b. если длина текста = 0 — блокируем кнопку «переименовать файл»
6. событие: нажатие кнопки «переименовать файл»
—a. проверяем название
——i. если длина названия файла вместе с длиной пути к нему больше 256 знаков — выводим сообщение с просьбой дать название покороче
——ii. если в имени есть запрещённый знак — выводим сообщение с перечнем запрещённых в названиях файлов знаков
——iii. если в папке уже есть файл с таким названием — добавляем в конец названия тайм-код (из функции-генератора тайм-кодов)
——iv. если ошибок в новом названии нет
———1. переименовываем файл (новое название & расширение)
———2. если при переименовании возникает ошибка — выводим сообщение об ошибке
7. событие: нажатие кнопки «выбрать папку»
—a. открываем диалоговое окно FolderBrowserDialog
8. событие: закрытие диалогового окна FolderBrowserDialog
—a. если папка выбрана
——i. вызываем функцию сканирования файлов
——ii. записываем в реестр путь к выбранной папке
—b. если папка не выбрана — ничего не делаем
9. событие: закрытие приложения
Размещено в разработка
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 3
Комментарии
  1. Старый комментарий
    Аватар для Rius
    • Зачем это нужно, если это умеет любой файловый менеджер?
    • ClickOnce зачем упомянут?
    • На форуме есть теги списков.
    Запись от Rius размещена 14.11.2019 в 04:22 Rius на форуме
  2. Старый комментарий
    Аватар для mozgotron
    Rius, там задумана такая примочка, которой нет ни в одном файловом менеджере. Если б этого не было, то естественно я не корпел бы на этой программой, а пользовался бы готовыми. Ну а в целом-то как, план нормально написан? Вы планы пишете, или сразу в ИСРе кодить начинаете.
    Запись от mozgotron размещена 14.11.2019 в 15:14 mozgotron вне форума
  3. Старый комментарий
    Аватар для Rius
    Какая примочка?
    Я не пишу, а продумываю.
    Запись от Rius размещена 14.11.2019 в 15:58 Rius на форуме
 
Новые блоги и статьи
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru