Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.11;
Скачать: CL | DM;

Вниз

Немедленное завершение процедуры   Найти похожие ветки 

 
Alex-21   (2003-07-26 20:38) [0]

Как завершить немедленно процедуру, недожидая окончания цикла, когда в этой процедуре идёт какой-то процесс типа for i:=0 to ... ?


 
Anatoly Podgoretsky ©   (2003-07-26 20:44) [1]

exit, что переводится как выход


 
Alex-21   (2003-07-26 20:53) [2]

И где это пишется, внутри самой процедуры.
Если я нажму TButton "Закрыть окно", где происходит эта процедура, и она завершится?


 
Anatoly Podgoretsky ©   (2003-07-26 21:01) [3]

Где тебе удобнее, ты же знаешь свое место откуда хочешь выйти


 
Fenik ©   (2003-07-26 21:08) [4]

Немедленно завершить цикл - Break;


 
Anatoly Podgoretsky ©   (2003-07-26 22:37) [5]

Break не пойдет, ему надо выход из процедуры.


 
Fenik ©   (2003-07-27 00:15) [6]

2 Anatoly Podgoretsky © (26.07.03 22:37)

Читаю вопрос и вижу:
"Как завершить немедленно процедуру, недожидая окончания цикла, когда в этой процедуре идёт какой-то процесс типа for i:=0 to ... ?"


 
Юрий Зотов ©   (2003-07-27 10:46) [7]

> Fenik © (27.07.03 00:15)

Тоже читаю вопрос и вижу:
"Как завершить немедленно процедуру ..."

Т.е. - не цикл, а всю процедуру.


 
Anatoly Podgoretsky ©   (2003-07-27 11:33) [8]

А ты читай полностью "Как завершить немедленно процедуру," и тему тоже.


 
Fenik ©   (2003-07-27 12:20) [9]

Думаю и то и другое ему будет полезно узнать..


 
Anatoly Podgoretsky ©   (2003-07-27 12:36) [10]

Насчет полезности возражений нет, но я понимаю это как тонкий намек в сторону книг :-)


 
default ©   (2003-07-27 20:02) [11]

Exit - это просто jmp на конец подпрограммы(обычно на ret)
Halt по-моему завершает вообще всё и его не рекомендуют использовать(Halt-ом спец-но не интересовался)


 
cyberwolf ©   (2003-07-27 21:24) [12]

Break - прерывает выполнение цикла, переход на код после цикла
Continue - начинает новую итерацию цикла, переход на начало цикла


 
Alex-21   (2003-07-28 21:29) [13]

Пробовал halt, он завершает все процедуры и саму прогу.
А с Exit"ом не получается что-то.
Пишу так:
procedure Button1Click();
begin
for i:=0 to 100 do
ListView1.Items.Add(s);
Exit;
end;

procedure Button2Click();
begin
Close; {закрываем окно с ListView1}
end;

Почему-то невозможно завершить цикл и закрыть окно. Где я не так сделал?


 
Serginio   (2003-07-28 21:41) [14]

В процедуре Button1Click(); должен присутствовать параметр Sender. Если ты хочешь его закрыть приведи к соответствующему типу и вызови Close или Free.


 
Palladin ©   (2003-07-28 21:44) [15]

а exit в конце процедуры - это оригинально


 
Silla ©   (2003-07-28 22:45) [16]

procedure Button1Click();
begin
for i:=0 to 100 do begin
ListView1.Items.Add(s);
if 1 = 50 then // например по проверке
Exit;
end;
end;



 
Leshiy ©   (2003-07-29 11:27) [17]

Может что-то типа этого?

var stop:boolean

procedure Button1Click();
var i:integer;
begin
stop:=false;
for i:=0 to 100 do
begin
if stop then exit;
DoSomethink;
Application.ProcessMessages;
end;
end;

procedure Button2Click();
begin
stop:=true;
end;


 
default ©   (2003-07-29 17:19) [18]

умом Россию не понять...
P.S. всё уж давно проехали


 
Константин   (2003-07-29 20:32) [19]


> умом Россию не понять...
> P.S. всё уж давно проехали
</>
Согласен...

Тока чё вы паритесь:
sendmessage(application.handle,wm_destroy,0,0)
и все проблемы;)
Ни тебе процедур ни циклов, ни программы:)))))



Страницы: 1 вся ветка

Текущий архив: 2003.08.11;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.023 c
1-33200
AndDem
2003-07-29 10:07
2003.08.11
Закрыть экземпляр Excel


3-33062
Vovchik_A
2003-07-18 15:52
2003.08.11
no permission...


14-33327
Маратей
2003-07-25 10:55
2003.08.11
IExporer, Вызов окна


1-33148
Mishenka
2003-07-26 22:15
2003.08.11
Запуск программ.


6-33253
Def
2003-05-30 13:33
2003.08.11
Работа с модемом