Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.08.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.016 c
1-33140
deadcdrom
2003-07-28 08:15
2003.08.11
Поиск


3-33076
TankMan
2003-07-13 02:34
2003.08.11
Проблема хранения....


1-33218
alexander_ua
2003-07-29 13:44
2003.08.11
---|Ветка была без названия|---


1-33135
Alex-21
2003-07-22 22:26
2003.08.11
SetFocus и скролл


1-33221
chs2r
2003-07-29 12:41
2003.08.11
Каким способом рисуется курсор в TWinControl ах?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский