Вниз
Скачать: CL | DM;

Не успевает отрабатывать внешняя программа   Найти похожие ветки 

← →
YuriyTLT   (2006-11-04 02:50) [0]

Доброго уже утра. Парни, есть код:

 CopyFile ("m:\sys\tag.dat", "e:\chasovoi\tag.dat", true);
 CopyFile ("m:\sys\tag.dat", "e:\chasovoi\tag.dat", false);
 WinExec("e:\chasovoi\tagi.exe",SW_SHOWMINNOACTIVE);
 Sleep (2000);
Вот этот последний Sleep (2000) делаю для того, чтобы успела отработать программа tagi. Может как нибудь можно отслеживать завершение её работы?


← →
Palladin ©   (2006-11-04 03:54) [1]

Зачем два раза CopyFile?


← →
YuriyTLT   (2006-11-04 04:43) [2]

Это для того, что файла может не существовать в каталоге, типа перестраховка. Если труе - значит меняется, если фальш - значит копируется заново


← →
Palladin ©   (2006-11-04 05:13) [3]

чушь


← →
YuriyTLT   (2006-11-04 05:19) [4]

чушь, зато работает. А ладно, сам разберусь. Спасибо


← →
RASkov   (2006-11-04 05:37) [5]

if FileExist then CopyFile ("m:\sys\tag.dat", "e:\chasovoi\tag.dat", false)
else CopyFile ("m:\sys\tag.dat", "e:\chasovoi\tag.dat", true);
ExecuteAndWait("e:\chasovoi\tagi.exe", True);

function ExecuteAndWait(FileName: string; HideApplication: boolean): boolean;
var
 StartupInfo: TStartupInfo;
 ProcessInfo: TProcessInformation;
 exitc: cardinal;
begin
 FillChar(StartupInfo, sizeof(StartupInfo), 0);
 with StartupInfo do begin
   cb := Sizeof(StartupInfo);
   dwFlags := STARTF_USESHOWWINDOW;
   wShowWindow := SW_SHOW;
 end;
 if not CreateProcess(nil, PChar(FileName), nil, nil, false,
   CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil,
   StartupInfo, ProcessInfo) then result := false
 else begin
   if HideApplication then begin
     Application.Minimize;
     ShowWindow(Application.Handle, SW_HIDE);
     WaitforSingleObject(ProcessInfo.hProcess, INFINITE);
   end else
     while WaitforSingleObject(ProcessInfo.hProcess, 100) =
       WAIT_TIMEOUT do begin
       Application.ProcessMessages;
       if Application.Terminated
         then TerminateProcess(ProcessInfo.hProcess, 0);
     end;
   GetExitCodeProcess(ProcessInfo.hProcess, exitc);
   result := (exitc = 0);
   if HideApplication then begin
     ShowWindow(Application.Handle, SW_SHOW);
     Application.Restore;
     Application.BringToFront;
   end;
 end;
end;


← →
Anatoly Podgoretsky ©   (2006-11-04 10:42) [6]

> YuriyTLT  (04.11.2006 2:50:00)  [0]

А ты справку по WinExec читал и откуда вы только беретесь, Win 3.0 уже не
существует более 10 лет а программисты все ее помнят.
Ну а про чушь с CopyFile тебе уже сказали.


← →
Орион ©   (2006-11-04 12:35) [7]

> [5] RASkov   (04.11.06 05:37)

> if FileExist then CopyFile ("m:\sys\tag.dat", "e:\chasovoi\tag.dat",
> false)
> else CopyFile ("m:\sys\tag.dat", "e:\chasovoi\tag.dat",
> true);


))

CopyFile ("m:\sys\tag.dat", "e:\chasovoi\tag.dat", not FileExist("m:\sys\tag.dat"))



← →
Leonid Troyanovsky ©   (2006-11-04 12:56) [8]


YuriyTLT   (04.11.06 05:19) [4]
чушь, зато работает. А ладно, сам разберусь. Спасибо

RASkov   (04.11.06 05:37) [5]
if FileExist then CopyFile ("m:\sys\tag.dat", "e:\chasovoi\tag.dat", false)
else CopyFile ("m:\sys\tag.dat", "e:\chasovoi\tag.dat", true);

Орион ©   (04.11.06 12:35) [7]
> CopyFile ("m:\sys\tag.dat", "e:\chasovoi\tag.dat", not FileExist("m:
> \sys\tag.dat"))


Чушь.

--
Regards, LVT.


← →
Орион ©   (2006-11-04 13:00) [9]

> [8] Leonid Troyanovsky ©   (04.11.06 12:56)

а, ну да)) хватит просто True.


← →
Орион ©   (2006-11-04 13:04) [10]

сначала написал, потом подумал (ну как обычно :) )
хватит просто False


← →
Leonid Troyanovsky ©   (2006-11-04 13:05) [11]


> Орион ©   (04.11.06 13:00) [9]

> а, ну да)) хватит просто True.


False.

--
Regards, LVT.



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.027 c
15-1164625630
Rule
2006-11-27 14:07
2006.12.17
Ктонить пользуется джабером ???


2-1164648067
pathfinder
2006-11-27 20:21
2006.12.17
Tray Icon colors..


15-1164707060
dolmat
2006-11-28 12:44
2006.12.17
Убрать пароль биоса


11-1141501027
Zhilkin Serg
2006-03-04 22:37
2006.12.17
Удаленные контролы в MCK


15-1164283232
Yegorchic
2006-11-23 15:00
2006.12.17
Создание нового подключения к Интернету




   Наверх