home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-29 | 1006 b | 51 lines | [TEXT/CWIE] |
- unit MyFileIDs;
-
- interface
-
- uses
- Files;
-
- function CreateFileID(var spec: FSSpec; var id: longint): OSErr;
- function ResolveFileID(vrn: integer; id: longint; var spec: FSSpec): OSErr;
-
- implementation
-
- uses
- Errors,
- Mymemory;
-
- function CreateFileID(var spec: FSSpec; var id: longint): OSErr;
- var
- err: OSErr;
- pb: HParamBlockRec;
- begin
- MZero(@pb, SizeOf(pb));
- pb.ioVRefNum := spec.vRefNum;
- pb.ioSrcDirID := spec.parID;
- pb.ioNamePtr := @spec.name;
- err := PBCreateFileIDRefSync(@pb);
- if (err = fidExists) then begin
- err := noErr;
- end;
- id := pb.ioFileID;
- CreateFileID := err;
- end;
-
- function ResolveFileID(vrn: integer; id: longint; var spec: FSSpec): OSErr;
- var
- err: OSErr;
- pb: HParamBlockRec;
- begin
- MZero(@pb, SizeOf(pb));
- pb.ioVRefNum := vrn;
- pb.ioFileID := id;
- spec.name := '';
- pb.ioNamePtr := @spec.name;
- err := PBResolveFileIDRefSync(@pb);
- spec.vRefNum := pb.ioVRefNum;
- spec.parID := pb.ioSrcDirID;
- ResolveFileID := err;
- end;
-
- end.
-