[fpc-pascal] About reset(aFile, FileNameString)

David Emerson dle3ab at angelbase.com
Tue Sep 13 23:06:09 CEST 2005


I usually just make a wrapper function, and keep it in a utility unit with some other similarly useful stuff. Here's my code:

type reset_or_rewrite_enum_type = (resetit, rewriteit);

function open_file (var f : file; file_name : ansistring; whattodo : reset_or_rewrite_enum_type) : boolean;
	var
		io_result : integer;
	begin
		assign (f, file_name);
		if whattodo = resetit
			then {$I-} reset (f) {$I+}
			else {$I-} rewrite (f); {$I+}
		io_result := ioresult;
		if io_result = 0 then open_file := true
		else begin
			open_file := false;
			write ('Error: ');
			if whattodo = resetit
				then write ('Reset ')
				else write ('Rewrite ');
			writeln (file_name, ' returned ', io_result, ': ', error_description(io_result));
			end;
	end;

function reset_file (var f : file; file_name : ansistring) : boolean;
	begin
		reset_file := open_file (f, file_name, resetit);
	end;

function rewrite_file (var f : file; file_name : ansistring) : boolean;
	begin
		rewrite_file := open_file (f, file_name, rewriteit);
	end;


~David.



 -------- Original Message --------
> From: "Lance Boyle" <lanceboyle at cwazy.co.uk>
> Sent: Tuesday, September 13, 2005 2:39 AM
> To: "FPC-Pascal users discussions" <fpc-pascal at lists.freepascal.org>
> Subject: [fpc-pascal] About reset(aFile, FileNameString)
> 
> "Official" Pascal for opening a file and associating a name with it  
> (e.g., a disk file) goes like this:
> 
> assign(aFile, FileNameString);
> reset(aFile); {or rewrite, etc.}
> 
> All of the Pascals that I have used allowed the following shorthand,  
> an extension:
> 
> reset(aFile, FileNameString); {or rewrite, etc.}
> 
> At least one of these Pascals was not a Macintosh Pascal, so I never  
> considered it a "Mac" extension. Yet, I can find no possibility of  
> this in FPC, in spite of its various compatibility modes.
> 
> I tried overloading reset() (newbie alert on the overloading thing)  
> but it didn't work.
> 
> What say ye?
> 
> Lance
> 
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal 








More information about the fpc-pascal mailing list