home *** CD-ROM | disk | FTP | other *** search
- (**************************************************
- *
- * CONNECT FILES PROGRAM
- *
- * Ray Penley put this togeather to make it
- * easier to open files. Add this to your library.
- *
- * Written by RAY PENLEY
- * Donated to the Pascal/Z Users Group, Sept 1980
- *
- *************************************************)
-
- TYPE
- BYTE: 0..255;
-
- FUNCTION length(x: str255): INTEGER; EXTERNAL;
- PROCEDURE setlength(VAR x: str0; y: INTEGER); EXTERNAL;
- FUNCTION index(x,y: str255): INTEGER; EXTERNAL;
-
- FUNCTION ConnectFiles: boolean;
- CONST
- dflt_extension = '.CCD';
- fid_len = 14; { Max length CP/M file names }
- TYPE
- FID = string fid_len;
- VAR
- File_ID,
- New_ID : FID;
- ix,jx : BYTE;
-
- PROCEDURE PAD(VAR ID: fid; required: BYTE);
- CONST
- space = ' ';
- BEGIN
- WHILE (length(ID)<required) DO append(ID,space);
- END;
-
- BEGIN{-GETID-}
- ConnectFiles := true;
- setlength(File_ID,0);
- WRITELN;
- WRITE('Enter <Drive:><File name> ');
- READLN(File_ID);
- IF (length(File_ID)>fid_len) THEN
- setlength(File_ID,fid_len)
- Else
- PAD(File_ID, fid_len);
- RESET(File_ID, TextFile);
- IF EOF(TextFile) THEN{ ABORT }
- BEGIN
- error(3);
- ConnectFiles := false;
- END
- ELSE
- BEGIN
- ix := index(File_ID,'.'); { search for an extension }
- jx := index(File_ID,' '); { search for the first space }
- IF (ix=0) THEN{ no extension was specified }
- setlength(File_ID,jx-1)
- Else
- setlength(File_ID,ix-1);
- setlength(New_ID,0);
- append(New_ID, File_ID);
- append(New_ID, dflt_extension);
- PAD(New_ID, fid_len);
- REWRITE(New_ID, Work_File);
- END;
- END; {of ConnectFiles}
-
- {++++++++++++++++++++++++++++++++++++++++++++++++}
-