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

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

Последовательно выполнить процедуры [WinXP]


Страницы:   1 2

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);

то они же начнут все в раз работать, не дожидаясь выполнения предыдущей


Страницы:   1 2

Наверх

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