home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
USCX
/
TURBO-02.ZIP
/
ALLFILES.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1984-12-19
|
2KB
|
76 lines
{%%%%%%%%%%%%%%%%%%% copyright 1984 by Neil J. Rubenking %%%%%%%%%%%%%%%%%%%
driver for procedure ALLFILES. Pass upper left and lower right corners
of a window to ALLFILES, along with a template of the required files.
ALLFILES returns the selected fileNAME, or an error code.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%}
{$I filename.typ}
{$I regpack.typ}
{$I getkeys.lib}
{$I monitor.lib}
{$I screen.lib}
{$I getfile.lib}
{$I allfiles.lib}
var
error_return,
x1,y1,x2,y2 : byte;
FullPath,
template : filename_type;
{@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}
function lastPos(C: char; S:filename_type):byte;
var
temp, holder : byte;
begin
temp := 0;
while pos(C,S) <> 0 do
begin
temp := temp + pos(C,S);
delete(S,1,pos(C,S));
end;
lastPos := temp;
end;
{@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}
begin
CheckColor; {in order to use the procedures in SCREEN.LIB, you must
first set the value of SCREENSEG by doing CheckColor}
Write('Enter the upper left column for choice window (2 to 43): ');
read(x1);WriteLn;
Write('Enter the upper left row for choice window (3 to 20) : ');
read(y1);WriteLn;
Write('Enter the lower right column for choice window: (');
Write(x1+36,' to 79)');
read(x2);WriteLn;
Write('Enter the lower right row for choice window: (');
Write(y1+3,' to 23)');
read(y2);WriteLn;
if (x1 < x2) and (y1 < y2) and (x1 in [2..43]) and ( y1 in [3..22]) and
(x2 in [(x1+36)..79]) and (y2 in [(y1+3)..23]) then
begin
ClrScr;
WriteLn('Enter the template for files from which you want to select.');
WriteLn('Full PathNames are fine. e.g., d:\accounts\overdue\*.*,');
WriteLn('C:\programs\*.bas, and so on.');
Write('->');ReadLn(template);
FullPath := template;
if lastPos('\',FullPath) <> 0 then
FullPath := copy(FullPath,1,lastPos('\',FullPath))
else
if pos(':',FullPath) <> 0 then
FullPath := copy(FullPath,1,2)
else FullPath := '';
ClrScr;
AllFiles(x1,y1,x2,y2,template,error_return);
GotoXY(1,1);
if error_return = 0 then
WriteLn(FullPath,template,' has been selected.')
else WriteLn('Error--no such files available.');
end
else WriteLn('Invalid set of coordinates. Try again.');
end.