![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Последовательно выполнить процедуры [WinXP]
dumb © (2009-05-31 12:55:00)Здравствуйте!
Хочу сделать последовательное выполнение десяти процедур:
procedure procedura1;
begin
...
end;
procedure procedura2;
begin
...
end;
и так до десяти.
Но если запустить их все сразу, то они начнутся в раз, а мне нужно дождаться выполнения предыдущей процедуры и перейти к следующей. Как это можно организовать, уважаемые мастера?
Dennis I. Komarov (2009-06-02 11:56:00) [1]
> Фима (02.06.09 11:37) [19]
а если еще про IF почитать, то вообще все в строчку уместить можно...
Andy BitOff (2009-06-02 11:42:00) [2]
> Фима (02.06.09 11:37) [19]
Твой вариант бесмыленный. Он бы еще мог иметь право на существование, если бы;
result:=false;
try
//твой код....
result:= true;
finally
...
end;
Фима (2009-06-02 11:37:00) [3]используй функции
function procedure1:boolean
begin
result:=false;
try
//твой код....
finally
result:= true;
end;
как запускать последовательно ?
if procedure1 then
if procedure2 then
if procedure3 then
if procedure4 then
if procedure5 then
if procedure6 then
if procedure7 then
if procedure8 then
if procedure9 then
procedure10;
это один из вариантов..
......
Palladin (2009-06-01 08:45:00) [4]
> dumb (31.05.09 21:47) [14]
Что значит надеюсь? Что это за слово? Почему у тебя не возникает сомнений в том что:
WriteLn('Hello');
WriteLn('Word');
напишет слова точно последовательно, а не наоборот? А тут вдруг они возникли. Почему не возникает сомнений, что после:
a:=5;
b:=a+6;
b будет равно 11?
В чем твоя причина этих сомнений? Ты можешь обосновать? надеется он... программист...
Anatoly Podgoretsky (2009-06-01 06:54:00) [5]10 кнопок надо убрать, оставить только одну. Эти 10 кнопок провоцируют еще одну беду - непоследовательность.
Германн (2009-06-01 01:08:00) [6]
> {RASkov} © (31.05.09 22:48) [15]
>
> > [14] dumb (31.05.09 21:47)
> > ну надеюсь
>
> Не нужно надеятся, нужно знать точно...
Эх! Был бы я волшебником - знал бы всё точно!
:)
{RASkov} (2009-05-31 22:48:00) [7]> [14] dumb (31.05.09 21:47)
> ну надеюсь
Не нужно надеятся, нужно знать точно... Иначе копейки тебе цена, программист.... :)
dumb (2009-05-31 21:47:00) [8]ну надеюсь не запорю программу и все будет идти один за другим дожидаясь выполнения предыдущей процедуры
{RASkov} (2009-05-31 13:28:00) [9]> [11] Palladin © (31.05.09 13:23)
имел в виду каждую строку SpeedButton NClick(Self); выполнять в отдельном потоке )
Anatoly Podgoretsky (2009-05-31 13:28:00) [10]
> Если я сделаю так:
Не делай так.
Palladin (2009-05-31 13:23:00) [11]
> псевдораспаралелить потоками
ну эт ты поспешил )
{RASkov} (2009-05-31 13:19:00) [12]> [6] dumb (31.05.09 13:11)
Код выполняется всегда последовательно... Можно конечно псевдораспаралелить потоками или сообщениями, но все равно код будет выполнен последовательно....
Т.е.:
> SpeedButton1Click(Self);
> SpeedButton2Click(Self);
> ...
> SpeedButton10Click(Self);
выполнятся одна за другой и никак вместе....
Palladin (2009-05-31 13:14:00) [13]
> {RASkov} © (31.05.09 13:11) [5]
:))
Palladin (2009-05-31 13:13:00) [14]да еще неизвестно на чем основанную...
Palladin (2009-05-31 13:12:00) [15]
> Palladin, предположение. А что разве не так?
Ты бы попробовал прежде чем ерунду всякую предполагать.
dumb (2009-05-31 13:11:00) [16]{RASkov}, есть Application.ProcessMessages;
Palladin, предположение. А что разве не так?
{RASkov} (2009-05-31 13:11:00) [17]Хм... [3] не читать :)
Palladin (2009-05-31 13:09:00) [18]
> то они же начнут все в раз работать, не дожидаясь выполнения
> предыдущей
это продположение или факт?
{RASkov} (2009-05-31 13:08:00) [19]> [2] dumb (31.05.09 12:58)
> то они же начнут все в раз работать, не дожидаясь выполнения
> предыдущей
Нет ли в их коде ProcessMessage?
dumb (2009-05-31 12:58:00) [20]у меня десять кнопок SpeedButton. Если я сделаю так:
SpeedButton1Click(Self);
SpeedButton2Click(Self);
...
SpeedButton10Click(Self);
то они же начнут все в раз работать, не дожидаясь выполнения предыдущей