[Back to EXEC SWAG index] [Back to Main SWAG index] [Original]
{===========================================================================
Date: 09-18-93 (23:25)
From: MIKE DICKSON
Subj: EXEC ()
---------------------------------------------------------------------------
[MM] ± I've written my own EXEC function that performs an FSearch() on the
[MM] Well, that's great. (Why don't you post it!).
Okay...here's an illustrative little program... }
{$M $4000,0,0 }
Program JohnMajorHadBetterResignPrettyDamnedShortly;
Uses DOS;
FUNCTION FileExists (FileName: String):Boolean;{ Checks if file
exists } var
Attr : Word;
f : file;
begin
Assign (f, Filename);
GetFAttr(f, attr);
FileExists := (DOSError = 0);
end;
FUNCTION SearchExec (ProgramName, Parameters : String) : Integer;
var
Result : Integer;
begin
{ If the program doesn't exist then search on the %PATH for it }
If Not FileExists(ProgramName) then
ProgramName := FSearch(ProgramName, GetEnv('PATH'));
{ If it's a batch file then call it through the command processor }
If Pos('.BAT', ProgramName) <> 0 then begin
Parameters := '/C '+ProgramName+' '+Parameters;
ProgramName := GetEnv('COMSPEC');
end;
{ Now call the program...if it didn't exist the set DOSError to 2 }
If ProgramName <> '' then begin
SwapVectors;
Exec (ProgramName, Parameters);
Result := DOSError;
SwapVectors;
SearchExec := Result;
end else SearchExec := 2;
end;
begin
If SearchExec ('AUTOEXEC.BAT', '/?') <> 0
then writeln ('Execution was okay!')
else writeln ('Execution was NOT okay!');
end.
[Back to EXEC SWAG index] [Back to Main SWAG index] [Original]