Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 03.05.2013
Сообщений: 49

Отменить действия пользователя, если он воспользовался кнопкой закрыть

16.08.2013, 16:36. Показов 1349. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как отменить действия пользователя, если он воспользовался кнопкой закрыть(Кнопка "X").
На самом деле он должен делать так. Сохранить, потом закрыть
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.08.2013, 16:36
Ответы с готовыми решениями:

Невозможность отменить действия макроса
Здравствуйте! столкнулся с проблемой: после выполнения(запуска) макроса пропадает возможность отменить ранее сделанные действия. Как...

Отменить закрытие формы на крестик но закрыть на пользовательскую кнопку
Поиском искал решение вопроса, не нашел, вернее все описанные варианты почему-то отрабатывают не как хотелось бы... Мне необходимо...

Закрыть всплывающее окно кнопкой Esc
Есть всплывающее окно <div class="results_main_bg"> <div id="results"> <div class="titles">СПАСИБО ЗА ВАШЕ ОБРАЩЕНИЕ</div> ...

8
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33412 / 21522 / 8236
Регистрация: 22.10.2011
Сообщений: 36,922
Записей в блоге: 12
16.08.2013, 16:49
Это смотря какие действия, и как они производятся. Так и будем переливать из пустого в порожнее (сделать что-то вот такой как бы делающее вот так, если только не было этого сделано), или будет все-таки конкретика?

Конкретно - ты сам написал, что надо: сохранить, потом закрыть. Для чего просто отлови запрос на закрытие формы (OnCloseQuery), определи, есть ли несохраненное нечто, и если есть - думай, что тебе с этим делать дальше.
1
0 / 0 / 0
Регистрация: 03.05.2013
Сообщений: 49
17.08.2013, 07:01  [ТС]
Если вы помните, я работал с MS Access. И там вычисляется на какой вопрос, легче всего люди отвечают правильно. И может случится так, что юзер начнет отвечать на один и тот же вопрос, закрывать, а затем опять включать. Ну и я думаю, что это несправедливо. А с ADOTable автомат сохраняет инкремент еще до закрытия программы

Добавлено через 13 часов 39 минут
если использовать OnClose пользователь полюбому закроет.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.08.2013, 07:23
Цитата Сообщение от UI Посмотреть сообщение
OnCloseQuery
Путеводитель по книжкам про C++ Builder
Пример из примера RichEdit А.Я.Архангельского:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)
{
  if (RichEdit1->Modified) {
    int res = MessageDlg("Òåêñò â îêíå áûë èçìåíåí. Ñîõðàíèòü åãî?",
              mtConfirmation,
              TMsgDlgButtons() << mbYes<< mbNo << mbCancel,0);
    switch (res) {
      case mrYes: MSaveClick(Sender);  break;
      case mrCancel: CanClose = false;
    }
  }
}
1
0 / 0 / 0
Регистрация: 03.05.2013
Сообщений: 49
17.08.2013, 08:53  [ТС]
Но ведь может случится так, что пользователь нажмет кнопку Shutdown в системнике! это будет крах!1
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.08.2013, 10:02
вы здесь, похоже, просто балуетесь
1
0 / 0 / 0
Регистрация: 03.05.2013
Сообщений: 49
17.08.2013, 10:28  [ТС]
У меня каникулы, а по каникулам люди учатся новому!
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33412 / 21522 / 8236
Регистрация: 22.10.2011
Сообщений: 36,922
Записей в блоге: 12
17.08.2013, 11:44
Цитата Сообщение от Page Посмотреть сообщение
Но ведь может случится так, что пользователь нажмет кнопку Shutdown в системнике!
А может случиться так, что у твоего соседа - тоже каникулы. И он тоже захочет научиться чему-то новому, например, узнать, что будет, если на распределительном щитке (который у тебя в подъезде) сбросить для твоей квартиры все переключатели вниз... Ну, или не все, а только один, самый левый... И вот тогда - точно будет крах. Возможно, для твоего компьютера - навсегда. Этим тоже должна заниматься твоя программа? Или всё-таки ты будешь решать те проблемы, которые зависят от тебя, а не от прихоти пользователя понажимать всё, до чего руки достанут / стабильности энергосети?
2
0 / 0 / 0
Регистрация: 03.05.2013
Сообщений: 49
17.08.2013, 12:24  [ТС]
Кроче, я сделал так, создал типа массива, которая не сохраняется пока юзер не нажмет кнопку сохранить. И теперь все!11 уаще нормал стало.
Спасибо пацаны!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.08.2013, 12:24
Помогаю со студенческими работами здесь

Закрыть/открыть форму одной кнопкой
Привет всем, как закрыть и открыть ту же форму одной кнопкой. Собственно как открыть &quot;доехал&quot;. Вот как закрыть той же...

Создание всплывающего баннера с кнопкой закрыть
Как сделать всплывающий баннер с кнопкой закрыть его(вроде крестика). И так чтоб для каждого пользователя он показывался только раз пока он...

Как закрыть форму авторизации кнопкой Cancel?
В главном окне код на форму авторизации: procedure TfGlavnoe_okno.FormCreate(Sender: TObject); //Авторизация begin E:=0;...

Как отменить закрытие JFileChooser после выбора действия?
пробовал через accept(file f) - не вышло

Закрыть форму кнопкой которая находится на другой форме
Как сделать так чтобы одну открытую форму можно было закрывать батоном который находится на другой форме. Вторую форму я создал с помощью...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru