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

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

Запись от mozgotron размещена 14.11.2019 в 00:15
Показов 1722 Комментарии 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 вне форума
 
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru