Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как провернуть такую фишку

3.0K
12 августа 2003 года
ShuraX
7 / / 12.05.2003
Заработался мозги совсем не пашут, помогите!!!

Проблема таая:
Есть код


void __fastcall TForm1::Button2Click(TObject *Sender)
{

........// какой-то код

for(int j=0;j<10;j++)
{
........// какой-то код

if(!S1.AnsiCompareIC(S2)==0)
{
Edit1->Text=S1;
Edit2->Text=S2;
Button1->Enable=true;

//а здесь необходимо 1)дождаться пока user нажмет Button1 и 2) Необходимо вернууться именно в эту точку кода

}
}
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
........// какой-то код
}
4.8K
12 августа 2003 года
Zveruga
4 / / 06.08.2003
Цитата:
Originally posted by ShuraX
Заработался мозги совсем не пашут, помогите!!!

Проблема таая:
Есть код


void __fastcall TForm1::Button2Click(TObject *Sender)
{

........// какой-то код

for(int j=0;j<10;j++)
{
........// какой-то код

if(!S1.AnsiCompareIC(S2)==0)
{
Edit1->Text=S1;
Edit2->Text=S2;
Button1->Enable=true;

//а здесь необходимо 1)дождаться пока user нажмет Button1 и 2) Необходимо вернууться именно в эту точку кода

}
}
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
........// какой-то код
}


Попробуй через мьютексы.Юзверь нажимает кнопку выполняется код освобаждается
мьютекс и твой код начинает выполнятся дальше типо такого

460
12 августа 2003 года
Berg
261 / / 27.03.2003
По-моему, проще (и правильнее) изменить логику работы. Зачем возвращаться в ту же точку? Не проще код, который нужно выполнять после нажатия на кнопку Button1 выполнять в обработчике OnClick этой кнопки? Это между прочим основа событийно-ориентированного (или как его там) программирования. Вам не кажется странным, что нажатие на одну кнопку вы хотите обрабатывать обработчиком другой? Или объясните почему так...
270
13 августа 2003 года
Drew
265 / / 20.07.2000
Цитата:
Originally posted by Berg
По-моему, проще (и правильнее) изменить логику работы. Зачем возвращаться в ту же точку? Не проще код, который нужно выполнять после нажатия на кнопку Button1 выполнять в обработчике OnClick этой кнопки? Это между прочим основа событийно-ориентированного (или как его там) программирования. Вам не кажется странным, что нажатие на одну кнопку вы хотите обрабатывать обработчиком другой? Или объясните почему так...


ИМЕННО!
Просто надо перестроиться на объектно-ориентированное программирование и разбить код по событиям...
НУ можно круто написать типа ТРЕД (:D люди это просто прикол) и в ТО САМОЕ место вставить
CreateEvent(тра-та-та... - с событиями наверное попроще...
__beginthread(тред)
WaitForSingleObject(событие,INFINITE)

но это извращение...:D

293
14 августа 2003 года
SEDEGOFF
586 / / 06.10.2002
Если нет необходимости ждать пока пользователь сооброзит что необходимо нажать какуюто кнопку то в нужном месте нпиши Button1->Click();
А вообще лучше сделать как сказал Berg
3.0K
14 августа 2003 года
ShuraX
7 / / 12.05.2003
Цитата:
Originally posted by Berg
По-моему, проще (и правильнее) изменить логику работы. Зачем возвращаться в ту же точку? Не проще код, который нужно выполнять после нажатия на кнопку Button1 выполнять в обработчике OnClick этой кнопки? Это между прочим основа событийно-ориентированного (или как его там) программирования. Вам не кажется странным, что нажатие на одну кнопку вы хотите обрабатывать обработчиком другой? Или объясните почему так...



спасибо чуваки за помощь!!!

мне нужно вернуться именно в эту точка потому что там, как видите, у меня цикл, т.е. надо его продолжить (!!!)
событие Button1Click() выполняет то, что нужно (проблем нет)

но кажеться я нашел решение, надо цикл for() оформить ввиде отдельной функции, индекс-переменную j объявить как глобальную
и передовать как параметр в функцию. ну как?

попробую раскажу чем дело закончилось(или не закончиться)

270
14 августа 2003 года
Drew
265 / / 20.07.2000
Цитата:
Originally posted by ShuraX


спасибо чуваки за помощь!!!

мне нужно вернуться именно в эту точка потому что там, как видите, у меня цикл, т.е. надо его продолжить (!!!)
событие Button1Click() выполняет то, что нужно (проблем нет)

но кажеться я нашел решение, надо цикл for() оформить ввиде отдельной функции, индекс-переменную j объявить как глобальную
и передовать как параметр в функцию. ну как?

попробую раскажу чем дело закончилось(или не закончиться)


Эй-Эй ПОЛЕГЧЕ С ГЛОБАЛЬНЫМИ!!! :D
Может, ограничится Static или на худой конец рамками класса формы?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог