home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d537 / cross.lha / Cross / Source / FileReq.mod < prev    next >
Text File  |  1991-08-26  |  1KB  |  75 lines

  1. IMPLEMENTATION MODULE FileReq;
  2.  
  3.  
  4.  
  5. FROM ARP
  6.  IMPORT  FileRequest,FileRequester,FileRequesterPtr,WindowPtr,ReqFlags,
  7.          ReqFlagSet,ReqFlags2,ReqFlagSet2,longFsize,longDsize;
  8.  
  9. FROM ASCII
  10.  IMPORT nul;
  11.  
  12. FROM String
  13.  IMPORT Insert,Length,last;
  14.  
  15. FROM SYSTEM
  16.  IMPORT ADDRESS,ADR,CAST;
  17.  
  18. TYPE
  19.  FileStringPtr=POINTER TO FileString;
  20.  
  21.  
  22.  
  23. PROCEDURE MakeFRD(    header,deffile,defdir: FileString;
  24.                       reqwindow: ADDRESS; x,y: INTEGER;
  25.                   VAR frd: FileRequestData);
  26.  BEGIN
  27.   WITH frd DO
  28.    h:=header;
  29.    f:=deffile;
  30.    d:=defdir;
  31.    fr.hail:=ADR(h);
  32.    fr.file:=ADR(f);
  33.    fr.dir:=ADR(d);
  34.    fr.window:=reqwindow;
  35.    fr.funcFlags:=ReqFlagSet{doColor};
  36.    fr.flags2:=ReqFlagSet2{longPath};
  37.    fr.function:=NIL;
  38.    fr.leftEdge:=x;
  39.    fr.topEdge:=y;
  40.   END;
  41.  END MakeFRD;
  42.  
  43.  
  44.  
  45. PROCEDURE FileReq(VAR frd: FileRequestData;
  46.                   VAR name: FileString);
  47.  VAR
  48.   fsp: FileStringPtr;
  49.   len: INTEGER;
  50.  BEGIN
  51.   fsp:=CAST(FileStringPtr,FileRequest(ADR(frd.fr)));
  52.   IF (fsp=NIL) OR (Length(fsp^)=0) THEN
  53.    name:="";
  54.   ELSE
  55.    fsp:=CAST(FileStringPtr,frd.fr.dir);
  56.    name:=fsp^;
  57.  
  58.    len:=Length(name);
  59.    IF (len>0) AND (name[len-1]#":") AND (name[len-1]#"/") THEN
  60.     name[len]:="/";
  61.     name[len+1]:=nul;
  62.    END;
  63.    fsp:=CAST(FileStringPtr,frd.fr.file);
  64.    IF Length(fsp^)>0 THEN
  65.     Insert(name,last,fsp^);
  66.    ELSE
  67.     name:="";
  68.    END;
  69.   END;
  70.  END FileReq;
  71.  
  72.  
  73.  
  74. END FileReq.
  75.