1 / 1 / 0
Регистрация: 23.03.2014
Сообщений: 79
1

Остановка выполнения кода и ожидание реакции пользователя

22.05.2014, 16:01. Показов 1360. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет!

Такой вопрос. У меня есть некоторая функция Foo1, которая выполняется при возникновении Event1. Во время выполнения этой функции мне нужно ее прервать, вывести на экран окошко, где пользователь должен будет сделать определенные манипуляции и нажать кнопку "OK". Или нажать кнопку "Отмена". В случае нажатия кнопки "ОК" данные введенные в окошко передаются в Foo1, в случае "Отмена", выходим из Foo1.

Как это реализовать?

P.S. И еще... надо, чтобы все остальные окна программы становились при этом неактивными. Т.е. пользователь обязан нажать ОК или Отмена.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.05.2014, 16:01
Ответы с готовыми решениями:

Остановка выполнения php при отсутствии ответа от пользователя.
Вот такой вопрос, если скрипт начал работать, а пользователь закрыл страницу не дождавшись...

Остановка и возобновление выполнения кода
Здравствуйте! Подскажите пожалуйста, а может посоветуйте или даже дадите ссылку. Дело в том что...

Остановка выполнения кода программы на N сек.
Вообщемс сабж. Например у меня программа выдает окошко,и вот надо условие,когда она выдала...

Include ожидание выполнения кода
Доброго времени. Не буду углубляться в подробности, вот что я творю: У меня есть некий скрипт...

4
return (true);
1976 / 1111 / 221
Регистрация: 19.04.2011
Сообщений: 2,345
22.05.2014, 16:17 2
Сделать новую форму (для определенных манипуляций) с кнопками, показывать её Form->ShowModal();
0
518 / 306 / 58
Регистрация: 30.07.2008
Сообщений: 607
22.05.2014, 16:22 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//---------------------------------------------------------------------------
void Foo1()
{
    for(int i = 0; i < 1000; i++)
    {
        Sleep(1);
        Application->ProcessMessages();
        if(i == 555)
        {
            int msg = MessageBoxA(Application->Handle, "Stop function?", "Caption", MB_YESNO);
            if(msg == ID_YES)
            {
                // YES
                return;
            }
            else if(msg == ID_NO)
            {
                // NO
            }
            else
            {
                // [X]
            }
        }
        Form1->Caption = i;
    }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Foo1();
}
//---------------------------------------------------------------------------
Добавлено через 2 минуты
Цитата Сообщение от Harb Посмотреть сообщение
где пользователь должен будет сделать определенные манипуляции
недоглядел...
mimicria - прав, тут только отдельную форму делать
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
22.05.2014, 16:30 4
Цитата Сообщение от mimicria Посмотреть сообщение
Form->ShowModal();
Этот метод возвращает результат ( mrOk,mrCancel и другие)
У кнопок на этой форме нужно установить соответствущие значение свойству ModalResult.

C++
1
2
3
4
if(Form->ShowModal()==mrOk)
{
//...
}
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32830 / 21168 / 8147
Регистрация: 22.10.2011
Сообщений: 36,428
Записей в блоге: 8
22.05.2014, 16:32 5
InputQuery в помощь:
C++
1
2
3
4
5
6
7
8
9
    String value = "Default";
    if(InputQuery("Caption", "Prompt", value))
    {
        // Нажали Ok, value содержит ввод пользователя
    }
    else
    {
        // Нажали Cancel
    }
0
22.05.2014, 16:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2014, 16:32
Помогаю со студенческими работами здесь

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

Ожидание выполнения Event, а затем продолжение выполнения
Ребят, не знаю как красиво реализовать механизм, есть у меня основной цикл с перебором данных, как...

Остановка выполнения
Написал программу, которая постоянно шлёт информацию по сокету на сервер и получает какой-то ответ....

Фиксирование времени реакции пользователя
Здравствуйте! Помогите, пожалуйста. Мне необходимо вычислить среднее время реакции пользователя....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru