Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как выйти из программы [D7, XP]


Страницы:   1 2

Kusma ©   (2009-08-26 16:42:00) 

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


Сергей М.   (2009-08-26 20:57:00) [1]

i := 0;
if FindFirst(..) = 0 then
repeat
 Inc(i); // i-я итерация
.. // здесь твори с i-м файлом все что захочешь
 Application.ProcessMessages; // мышь и клава тоже хотят !
until (not Findnext(..) <> 0) or (NeedBreak = True) or Application.Terminated


Сергей М.   (2009-08-26 20:27:00) [2]


> Anatoly Podgoretsky ©   (26.08.09 20:22) [21]


Мне лень нагнуться.


Сергей М.   (2009-08-26 20:25:00) [3]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1251175537&n=5
Вы с Мамедовым случаем не знакомы ?

То ведь тоже заявил а-ля "ты мне не дал код, значит ты не знаешь, значит ты говновод, а я Д'Артьаньян"


Anatoly Podgoretsky   (2009-08-26 20:22:00) [4]

> Kusma  (26.08.2009 20:03:18)  [18]

А поцеловать?


Сергей М.   (2009-08-26 20:19:00) [5]

<
> Еслы бы это было не так то ты бы уже давно ответил.


Щас.
Разрешите бегом ?


Kusma   (2009-08-26 20:11:00) [6]

> да, проглядел.
> там в чем фишка-то? прокрутили все файлы в папке и опять пошли по новой?
> в любом случае, при бесконечном цикле без проверки какого-то флажка из программы не выйдешь.
> Ибо она на 100% занята циклом, а очередь сообщений не проверяет

Абсолютно с вами согласен, вот пример похожей программы, только зделаной по принцыпу смешивания цветов: http://kusmich0024.narod.ru/Pictopic.rar


Kusma   (2009-08-26 20:03:00) [7]

> Те. набор незнакомых тебе букоф ?

> Ну хорошо. а как вообще ты реагируешь на "остановки компилятора", когда нет морковки и не у кого спросить о причинах остановки ?

Ты сам не знаешь ответа на мой вопрос. Еслы бы это было не так то ты бы уже давно ответил.


Сергей М.   (2009-08-26 19:53:00) [8]

Те. набор незнакомых тебе букоф ?

Ну хорошо. а как вообще ты реагируешь на "остановки компилятора", когда нет морковки и не у кого спросить о причинах остановки ?


Kusma   (2009-08-26 19:48:00) [9]

> на строке  if key=#27 then Terminated := true; компилятор
> останавливается

>   А ты ему пучок морковки повесь перед носом.

>   У тебя слово "property" не вызвало никаких сомнений ?)

Чесно говоря нет.


clickmaker   (2009-08-26 19:30:00) [10]

> Ты на код посмотри внимательней.

да, проглядел.
там в чем фишка-то? прокрутили все файлы в папке и опять пошли по новой?
в любом случае, при бесконечном цикле без проверки какого-то флажка из программы не выйдешь.
Ибо она на 100% занята циклом, а очередь сообщений не проверяет


Сергей М.   (2009-08-26 19:26:00) [11]


> на строке  if key=#27 then Terminated := true; компилятор
> останавливается


А ты ему пучок морковки повесь перед носом.

У тебя слово "property" не вызвало никаких сомнений ?)


Сергей М.   (2009-08-26 19:04:00) [12]


> програмисты делал программу


Как- то даже не прилично)
Чуть ли не
Мы, божьей милостью Программист, делали программу..


Kusma   (2009-08-26 17:41:00) [13]

> while not Terminated do
> Begin
> ...
> Application.ProcessMessages;
> end;

> procedure TNewForm.NewFormKeyPress(Sender: TObject; var Key: Char);
> begin
> if key=#27 then Terminated := true;
> end;

За ответ спасиба. Но на строке  if key=#27 then Terminated := true; компилятор останавливается [Error] Unit1.pas(281): Cannot assign to a read-only property

> а вообще, цикл какой-то странный.
> Почему, чтобы "Надо найти еще один файл", опять вызывается FindFirst? а не FindNext? при этом patch не меняется.

Ты на код посмотри внимательней.


clickmaker   (2009-08-26 17:24:00) [14]

а вообще, цикл какой-то странный.
Почему, чтобы "Надо найти еще один файл", опять вызывается FindFirst? а не FindNext? при этом patch не меняется. Кстати, правильно Path


clickmaker   (2009-08-26 17:20:00) [15]

> Пробовал. Не выходит

да ладно.

while not Terminated do
 Begin
 ...
 Application.ProcessMessages;
 end;

procedure TNewForm.NewFormKeyPress(Sender: TObject; var Key: Char);
begin
 if key=#27 then Terminated := true;
end;


Kusma   (2009-08-26 17:18:00) [16]

> а что, выход из цикла вообще не предусмотрен?
> Application.ProcessMessage в цикл и какой-то флажок, его останавливающий

Пробовал. Не выходит.


Dennis I. Komarov   (2009-08-26 17:13:00) [17]


> Anatoly Podgoretsky ©   (26.08.09 17:08) [7]
>

Он тоже не всегда предусмотрен...


Anatoly Podgoretsky   (2009-08-26 17:08:00) [18]

> Dennis I. Komarov  (26.08.2009 17:05:06)  [6]

Но против лома нет приема, всегда можно выдернуть шнур из розетки.


Dennis I. Komarov   (2009-08-26 17:05:00) [19]


> Anatoly Podgoretsky ©   (26.08.09 17:03) [5]
>

Ну такая программа тоже...


Anatoly Podgoretsky   (2009-08-26 17:03:00) [20]

> Dennis I. Komarov  (26.08.2009 16:48:01)  [1]

Не предусмотрена


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо