[Back to COPYMOVE SWAG index] [Back to Main SWAG index] [Original]
Hello Matthew!
Answering a msg of <Monday April 12 1993>, from Matthew Staikos to All:
The Norton-like bar along with the copying won't compile,
but you get the idea, no?
{$I-}
function __copyfil(
show: boolean; x1,x2,y,f,b: byte; fs: longint; src, targ: string
): byte;
{
return codes:
0 successful
1 source and target the same
2 cannot open source
3 unable to create target
4 error during copy
5 cannot allocate buffer
}
const
bufsize = 16384;
type
fbuf = array[1..bufsize] of char;
fbf = ^fbuf;
var
source,
target : file;
bread,
bwrite : word;
filebuf : ^fbf;
tr : longint;
nr : real;
begin
if memavail > bufsize then new(filebuf) else begin
__copyfil := 5; exit
end;
if src = targ then begin __copyfil := 1; exit end;
assign(source, src); reset(source,1);
if ioresult <> 0 then begin __copyfil := 2; exit end;
assign(target, targ); rewrite(target,1);
if ioresult <> 0 then begin __copyfil := 3; exit end;
if show then __write(x1+2,y,f,b,__rep(x2-x1-3,'°')); tr := 0;
repeat
blockread(source,filebuf^,bufsize,bread);
tr := tr + bread; nr := tr/fs;
nr := nr * (x2-x1-3);
if show then __write(x1+2,y,f,b,__rep(trunc(nr), 'Û'));
blockwrite(target,filebuf^,bread,bwrite);
until (bread = 0) or (bread <> bwrite);
if show then __write(x1+2,y,f,b,__rep((x2-x1-3),'Û'));
close(source); close(target);
if bread <> bwrite then __copyfil := 4 else __copyfil := 0;
end;
{$I-}
Floor
--- GoldED 2.40
* Origin: UltiHouse/2 5 Years! V32b/HST/16k8: x31,13,638709 (2:512/195)
[Back to COPYMOVE SWAG index] [Back to Main SWAG index] [Original]