Страница 2 из 8
Вопрос про курсор
Добавлено: 18 Апрель 2023, 13:21
kreator
Игорь Столяров писал(а): 18 Апрель 2023, 11:46
SergioRaguzini писал(а): 18 Апрель 2023, 11:40
должен сказать пользователю, что идет некий процесс обработки
Правильно.
У Вас когда загружается какой-нибудь файл, то ведь этот процесс идёт в конкретной программе или сразу во всём компьютере ?
Вы же можете переключится на другую программу и там нет загрузки файла. Так же и в MDI приложении с окнами (потоками).
Если Вы запустили в одном MDI-окне какую-нибудь обработку (без yield), сможете комфортно работать в другом MDI-окне?
Вопрос про курсор
Добавлено: 18 Апрель 2023, 13:37
finsoftrz
kreator писал(а): 18 Апрель 2023, 13:21
Игорь Столяров писал(а): 18 Апрель 2023, 11:46
SergioRaguzini писал(а): 18 Апрель 2023, 11:40
должен сказать пользователю, что идет некий процесс обработки
Правильно.
У Вас когда загружается какой-нибудь файл, то ведь этот процесс идёт в конкретной программе или сразу во всём компьютере ?
Вы же можете переключится на другую программу и там нет загрузки файла. Так же и в MDI приложении с окнами (потоками).
Если Вы запустили в одном MDI-окне какую-нибудь обработку (без yield), сможете комфортно работать в другом MDI-окне?
Там и с прогрессором не особо поработаешь. Если две обработки одновременно запустить в разных mdi окнах, программа начинает сильно тормозить. Можно только что-то ненапряжное во втором окне делать, например, вводить данные.
Вопрос про курсор
Добавлено: 18 Апрель 2023, 14:55
Игорь Столяров
finsoftrz писал(а): 18 Апрель 2023, 13:14
В чем проблема возникла на несколько секунд показать курсор ожидания?
Нет проблем. Смотрю старый код - 15-20 лет назад так и делали. Сейчас не делаем.
Пытаюсь понять почему перестали и надо ли вообще ...
finsoftrz писал(а): 18 Апрель 2023, 13:37
Можно только что-то ненапряжное во втором окне делать, например, вводить данные
Конкретный пример.
Программа по таймеру раз в 10 сек. проверяет папку или если в ней народился файл с пакетом заказа - то загружает его.
В этот момент может происходить что угодно, например ввод данных. Нужно ли как-то курсором обозначать, что где-то
глубоко в недрах идёт процесс или не нужно ...
Вопрос про курсор
Добавлено: 18 Апрель 2023, 15:31
finsoftrz
Игорь Столяров писал(а): 18 Апрель 2023, 14:55
finsoftrz писал(а): 18 Апрель 2023, 13:14
В чем проблема возникла на несколько секунд показать курсор ожидания?
Нет проблем. Смотрю старый код - 15-20 лет назад так и делали. Сейчас не делаем.
Пытаюсь понять почему перестали и надо ли вообще ...
finsoftrz писал(а): 18 Апрель 2023, 13:37
Можно только что-то ненапряжное во втором окне делать, например, вводить данные
Конкретный пример.
Программа по таймеру раз в 10 сек. проверяет папку или если в ней народился файл с пакетом заказа - то загружает его.
В этот момент может происходить что угодно, например ввод данных. Нужно ли как-то курсором обозначать, что где-то
глубоко в недрах идёт процесс или не нужно ...
В данном случае не надо, это фоновый процесс, который пользователь не видит. В данной ситуации, ИМХО, лучше выдавать сообщение оператору о приходе новых заказов, чтобы он мог нажать кнопку и осмысленно принять заказы. Я так делаю...
Вопрос про курсор
Добавлено: 18 Апрель 2023, 15:47
kreator
Игорь Столяров писал(а): 18 Апрель 2023, 14:55
Конкретный пример.
Программа по таймеру раз в 10 сек. проверяет папку или если в ней народился файл с пакетом заказа - то загружает его.
В этот момент может происходить что угодно, например ввод данных. Нужно ли как-то курсором обозначать, что где-то
глубоко в недрах идёт процесс или не нужно ...
Я чего-то сомневаюсь, что можно комфортно что-то делать, если в соседнем потоке загружается файл (допустим, в очередь). Если реально ничего делать невозможно, то хорошо бы пользователю сообщить о состоянии. По конкретному примеру. Наверно лучше запускать программу второй раз для отработки этого файла. Это уже частности, отдельный разговор.
Вопрос про курсор
Добавлено: 18 Апрель 2023, 15:49
Дед Пахом
Игорь Столяров писал(а): 18 Апрель 2023, 14:55
Конкретный пример.
Программа по таймеру раз в 10 сек. проверяет папку или если в ней народился файл с пакетом заказа - то загружает его.
Вот он прошлый век во всей красе, есть же api ReadDirectoryChanges, которая срабатывает, если в папке что-то изменилось.
Вопрос про курсор
Добавлено: 18 Апрель 2023, 16:11
finsoftrz
Дед Пахом писал(а): 18 Апрель 2023, 15:49
Игорь Столяров писал(а): 18 Апрель 2023, 14:55
Конкретный пример.
Программа по таймеру раз в 10 сек. проверяет папку или если в ней народился файл с пакетом заказа - то загружает его.
Вот он прошлый век во всей красе, есть же api ReadDirectoryChanges, которая срабатывает, если в папке что-то изменилось.
Мысль, что в папке могут быть не только заказы, не рассматривается в новом веке?

Вопрос про курсор
Добавлено: 18 Апрель 2023, 16:19
Дед Пахом
finsoftrz писал(а): 18 Апрель 2023, 16:11
Мысль, что в папке могут быть не только заказы, не рассматривается в новом веке?
Я смотрю, любители таймеров слегка обиделись.
Вопрос про курсор
Добавлено: 18 Апрель 2023, 16:20
finsoftrz
Дед Пахом писал(а): 18 Апрель 2023, 16:19
finsoftrz писал(а): 18 Апрель 2023, 16:11
Мысль, что в папке могут быть не только заказы, не рассматривается в новом веке?
Я смотрю, любители таймеров слегка обиделись.
Не, просто слегка стебемся над модными дедушками.

Вопрос про курсор
Добавлено: 18 Апрель 2023, 16:53
Игорь Столяров
Дед Пахом писал(а): 18 Апрель 2023, 15:49
Вот он прошлый век во всей красе, есть же api ReadDirectoryChanges
Честно скажу, что про ReadDirectoryChanges я не знал ... но наверно и не подойдёт.
Там переключается источник пакетов: папка, FTP раздел, IMAP раздел, HTTP, а сама
процедура проверки наличия и загрузки пакетов унифицирована.
Софтина старая, но востребованая (не валяется по нескольку лет без обновлений).

Вопрос про курсор
Добавлено: 18 Апрель 2023, 17:18
Дед Пахом
Игорь Столяров писал(а): 18 Апрель 2023, 16:53
Там переключается источник пакетов: папка, FTP раздел, IMAP раздел, HTTP,
Мы решали это просто - отдельная программа-сервис мониторит FTP, HTTP и копирует в локальную папку, а дальше уже ReadDirectoryChanges.
Вопрос про курсор
Добавлено: 18 Апрель 2023, 17:22
Игорь Столяров
Наверно можно решать эту задачу по разному.
За давностью лет, я даже не могу сказать почему было выбрано конкретное решение.
Скорее всего была какая-то программа и расширили её функционал добавлением костылей.

Вопрос про курсор
Добавлено: 18 Апрель 2023, 19:14
SergioRaguzini
Игорь Столяров писал(а): 18 Апрель 2023, 14:55
...Программа по таймеру раз в 10 сек. проверяет папку или если в ней народился файл с пакетом заказа - то загружает его....
Дед Пахом писал(а): 18 Апрель 2023, 17:18
...мы решали это просто - отдельная программа-сервис мониторит FTP, HTTP и копирует....
Именно так - делаю отдельную программку в Tray с анимируемой для красоты иконкой во время процесса и нет никаких тормозов
Вопрос про курсор
Добавлено: 19 Апрель 2023, 13:29
Губин Игорь
Игорь Столяров писал(а): 17 Апрель 2023, 20:40
Подскажите пожалуйста, а кто-нибудь сейчас юзает в современных приложениях SetCursor(...)
Я использую и достаточно интенсивно.
Моргать окошками на каждую операцию в несколько секунд не очень красиво, а как-то ограничить желание пользователя истерично тыкать

курсором мышки в неотзывающиеся кнопки надо.
Оффтопик: номер сообщения совпадает с датой моего дня рождения. Это символично!

Вопрос про курсор
Добавлено: 19 Апрель 2023, 13:56
RaFaeL
Губин Игорь писал(а): 19 Апрель 2023, 13:29
Моргать окошками на каждую операцию в несколько секунд не очень красиво, а как-то ограничить желание пользователя истерично тыкать курсором мышки в неотзывающиеся кнопки надо.
Неплохо работает вывод прогресс-бара в панель задач Windows, выкладывали такой шаблон пару лет назад, по нему сразу видно что процесс идёт даже если приложение не очень отзывается