home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fish 'n' More 2
/
fishmore-publicdomainlibraryvol.ii1991xetec.iso
/
dirs
/
cross_464.lzh
/
Cross
/
txt
/
FileReq.mod
< prev
next >
Wrap
Text File
|
1991-03-09
|
1KB
|
71 lines
IMPLEMENTATION MODULE FileReq;
FROM ARP
IMPORT FileRequest,FileRequester,FileRequesterPtr,WindowPtr,ReqFlags,
ReqFlagSet,ReqFlags2,ReqFlagSet2,longFsize,longDsize;
FROM ASCII
IMPORT nul;
FROM Strings
IMPORT Insert,Length,last;
FROM SYSTEM
IMPORT ADDRESS,ADR,CAST;
TYPE
FileStringPtr=POINTER TO FileString;
PROCEDURE MakeFRD( header,deffile,defdir: FileString;
reqwindow: ADDRESS;
VAR frd: FileRequestData);
BEGIN
WITH frd DO
h:=header;
f:=deffile;
d:=defdir;
fr.hail:=ADR(h);
fr.file:=ADR(f);
fr.dir:=ADR(d);
fr.window:=reqwindow;
fr.funcFlags:=ReqFlagSet{newIDCMP,doColor};
fr.flags2:=ReqFlagSet2{longPath};
fr.function:=NIL;
fr.leftEdge:=100;
fr.topEdge:=30;
END;
END MakeFRD;
PROCEDURE FileReq(VAR frd: FileRequestData;
VAR name: FileString);
VAR
fsp: FileStringPtr;
len: INTEGER;
BEGIN
fsp:=CAST(FileStringPtr,FileRequest(ADR(frd.fr)));
IF Length(fsp^)=0 THEN
name:="";
ELSE
fsp:=CAST(FileStringPtr,frd.fr.dir);
name:=fsp^;
len:=Length(name);
IF (len>0) AND (name[len-1]#":") AND (name[len-1]#"/") THEN
name[len]:="/";
name[len+1]:=nul;
END;
fsp:=CAST(FileStringPtr,frd.fr.file);
IF Length(fsp^)>0 THEN
Insert(name,last,fsp^);
ELSE
name:="";
END;
END;
END FileReq;
END FileReq.