home *** CD-ROM | disk | FTP | other *** search
- {%%%%%%%%%%%%%%%%%%% 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.
-
-