Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.97/30: Рейтинг темы: голосов - 30, средняя оценка - 4.97
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5

Создать окно "пожалуйста, подождите" с возможностью отмены

31.03.2012, 07:47. Показов 6074. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите реализовать. Имеется форма, на ней происходит длительный процесс при нажатии на кнопку, требуется создать, я думаю, messagebox(MB_OKCANCEL);, в отдельном потоке, который при нажатии на отмену завершает выполнение процедуру на форме, а при нажатии ни ОК просто скрывается или ничего не делает. В идеале нужно чтобы появлялось окошко только с надписью "Отмена", но для этого надо целую форму писать и выравнивать, что не очень нравится
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2012, 07:47
Ответы с готовыми решениями:

Окно "подождите пожалуйста"
Здравствуйте. Нужно при нажатие на кнопку показать юзеру сообщение "подождите пожалуйста" и когда все вычисления пройдут, убрать его....

Создать окно QMessageBox с одной кнопкой для отмены дальнейшей работы программы
Необходимо, чтобы окно MessageBox открывалось на 5 сек, на нём была одна кнопка для отмены автозапуска программы, если кнопка не была...

Выключение ПК с возможностью отмены
Всем доброго времени, прошу у вас помощи дорогие форумчане в так сказать обыденной проблеме:Нужен скрипт на VBA-VBS "Выключение ПК с...

29
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.04.2012, 13:46  [ТС]
Студворк — интернет-сервис помощи студентам
Andretti, XE2. В принципе могу переделать на D7, там всего пару мест переписать.
Вот:
Вложения
Тип файла: rar MergeD7.rar (501.2 Кб, 12 просмотров)
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.04.2012, 17:06  [ТС]
Ну так что, поможете?
0
 Аватар для Andretti
252 / 138 / 45
Регистрация: 19.03.2012
Сообщений: 314
Записей в блоге: 2
01.04.2012, 22:52
Вот твоя программа с изменненной кнопкой "Случайная" с перенесенной процедурой заполнения таблицы в отдельный поток. Теперь хоть окна программы не виснут и пользователь не испугается что они не отвечают на нажатия мыши. Теперь все откликается. Но из-за того что заполение вынесено в поток, то большие заполнения таблицы (300000 или 3000000) требующие память до 3мб при первом выполнении будут выполняться дольше, так как поток постепенно заполняет память под себя, а так же из-за частых пересохранений кэша. А затем уже при остальных прогонах идет при старых скоростях как и в твоей программе без потоков. Думаю на примере этой кнопки ты сможешь разобраться, как остальное переделать.
Вложения
Тип файла: rar MergeD7modeBYANDR.rar (1.60 Мб, 13 просмотров)
1
 Аватар для Andretti
252 / 138 / 45
Регистрация: 19.03.2012
Сообщений: 314
Записей в блоге: 2
01.04.2012, 22:55
Вот тут еще тоже поднята твоя тема - Показывать форму пользователю с информацией о выполнении длительной задачи
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.04.2012, 23:07  [ТС]
Andretti, спасибо, только там не 3мб, а 300 (посмотрите в диспетчере), откуда такие затраты я не знаю, но это факт...
0
 Аватар для Andretti
252 / 138 / 45
Регистрация: 19.03.2012
Сообщений: 314
Записей в блоге: 2
01.04.2012, 23:28
Цитата Сообщение от Psilon Посмотреть сообщение
Andretti, спасибо, только там не 3мб, а 300 (посмотрите в диспетчере), откуда такие затраты я не знаю, но это факт...
Откуда откуда.. )) Простая математика ) Таблица состоит например из 30 000 000 чисел, каждое число занимает один байт памяти (8бит кодировки для символа по таблице ANSCII). Делим 30 000 000 на 1024 и получаем 29 297 кбайт, еще раз делим на 1024 и получается 29 мбайт памяти на хранение одной только этой таблицы )) Плюс накрутка всякой фигни компонетом VCL (stringgrid) для каждой ячейки.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.04.2012, 23:45  [ТС]
Andretti, вот и я о том же. Если в стринггриде хранится строка максимум из двух элементов, то 2 байта,ну пусть будет 4(юникод) на 30млн, это примерно 4*30мб=120мб, но не 300 же...
0
 Аватар для Andretti
252 / 138 / 45
Регистрация: 19.03.2012
Сообщений: 314
Записей в блоге: 2
02.04.2012, 01:20
Вот посмотри, тут советуют выход из ситуации это использовать сторонний компонент Virtual TreeView, вроде как кторый отлично работает без таких ущербностей как в stringgrid.
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
02.04.2012, 19:47  [ТС]
Andretti, пробовал поставить VirtualTrees, он начинает ругаться на компоненты в модулях, пробовал GExperts, он поставился, но в моей XE2 ничего нового не добавилось из компонент... мб я что-то делаю не так, но разобраться не могу...
0
 Аватар для Andretti
252 / 138 / 45
Регистрация: 19.03.2012
Сообщений: 314
Записей в блоге: 2
03.04.2012, 13:15
Psilon, я с VirtualTrees не игрался ни разу, так что про него ничего сказать не могу. (
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.04.2012, 13:15

Построение графика с возможностью отмены и возврата линий
Всем привет! проблема в следующем: не могу понять как заставить работать механизм Redo на одноименной кнопке. Прошу помощи и подробного...

Создать Окно с RichTextBox с возможностью изменять в нём шрифт
Создайте приложение WPF. В верхней части приложения расположите элемент управления ToolBar, а в нижней элемент RichTextBox. В элемент...

Подождите пожалуйста
Сам впервый раз увидел, может уже давно такое практикуется) з.ы. админам - при попытке прикрепить фотку в сообщение пишет -...

Конфигурирование statistica 6 Подождите пожалуйста
Доброе время суток, может кто то уже сталкивался с проблемой установки Статистики 6 на windows х64. Вроде все делаю по гайду, в процессе...

Долго включается виндов на моменте "пожалуйста подождите"
после установки программы с вирусом стал долго включаться.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Жара жесть.
kumehtar 18.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). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru