home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
ZCPR33
/
A-R
/
LISTCMD.PZS
/
LISTCMD.PAS
Wrap
Pascal/Delphi Source File
|
2000-06-30
|
3KB
|
114 lines
program list_cmd;
(*----------------------------------------------------------------------------
Ver 1.0 - Program to display internal ARUNZ commands from ARUNZ.CMD file on
current disk/user, or the alternate designated disk drive.
3/30/88 - Al Heynneman
70110,611 on Compuserve
HEYNNEMAN on Genie
CL0798 on the Source
----------------------------------------------------------------------------*)
const drive = 'M:';
version = '1.0';
var end_of_first_word : integer;
cmdcount : integer;
cmdfile : text;
cmdline : string[200];
command_is : string[20];
exist : boolean;
horz_pos : integer;
vert_pos : integer;
begin
if (paramcount > 0) then
begin
clrscr;
writeln('LIST_CMD Version ',version);
writeln;
writeln('LIST_CMD will display the internal ARUNZ commands that are found');
writeln('in ARUNZ.CMD in the currently logged in disk drive and user area,');
writeln('or alternatively on drive ',drive,' (current user area).');
writeln;
writeln('If commands are more than 18 characters long, they are truncated,');
writeln('shown in alternate video mode, and end in + to indicate truncation.');
writeln;
writeln('To change the default, alternate location of the ARUNZ.CMD file,');
writeln('you must first edit, and then recompile this program.');
exit;
end;
assign(cmdfile,'alias.cmd');
(*$I-*)
reset(cmdfile);
(*$I+*)
exist := (IOresult = 0);
if not exist then
begin
assign(cmdfile,drive + 'alias.cmd');
(*$I-*)
reset(cmdfile);
(*$I+*)
exist := (IOresult = 0);
end;
if not exist then
begin
writeln;
writeln(chr(7),'ALIAS.CMD file not found on current drive,');
writeln('or on alternate drive ',drive,' (current user area).');
exit;
end;
clrscr;
writeln('ARUNZ.CMD commands are:');
cmdcount := 0;
horz_pos := 1;
vert_pos := 3;
while not EOF(cmdfile) do
begin
repeat
readln(cmdfile,cmdline);
end_of_first_word := pos(chr(9),cmdline);
if (end_of_first_word = 0) then end_of_first_word := pos(' ',cmdline);
until (end_of_first_word > 1) and (not (ord(cmdline[1]) in [9,32]));
command_is := copy(cmdline,1,end_of_first_word - 1);
if (length(command_is) > 18) then
begin
command_is := copy(cmdline,1,18);
command_is[18] := '+';
end;
cmdcount := cmdcount + 1;
gotoxy(horz_pos,vert_pos);
if (command_is[18] = '+') then lowvideo;
write(command_is);
fillchar(command_is,20,32);
normvideo;
horz_pos := horz_pos + 20;
if (cmdcount = 4) then
begin
cmdcount := 0;
horz_pos := 1;
vert_pos := vert_pos + 1;
writeln;
if (vert_pos = 23) then
begin
gotoxy(1,24);
write('Hit RETURN to continue display...');
repeat until keypressed;
horz_pos := 1;
vert_pos := 1;
clrscr;
end;
end;
end;
close(cmdfile);
end.