home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 341.img / TCS161S.ZIP / MAILRET.PAS < prev    next >
Pascal/Delphi Source File  |  1989-09-03  |  2KB  |  91 lines

  1. {$R-,S-,I-,D-,F+,V-,B-,N-,L+ }
  2. {$M 65500,0,0 }
  3.  
  4. unit mailret;
  5.  
  6. interface
  7.  
  8. uses gentypes,gensubs,subs1,configrt,statret,textret;
  9.  
  10. function searchmail (startpt,usernum:integer):integer;
  11. procedure delmail (n:integer);
  12. procedure addmail (sentto:integer; line:integer; var me:message);
  13. function getnummail (un:integer):integer;
  14.  
  15. implementation
  16.  
  17. function searchmail (startpt,usernum:integer):integer;
  18. var cnt:integer;
  19.     m:mailrec;
  20. begin
  21.   searchmail:=0;
  22.   if startpt>=filesize(mfile)-1 then exit;
  23.   startpt:=startpt+1;
  24.   seek (mfile,startpt); che;
  25.   for cnt:=startpt to filesize(mfile)-1 do begin
  26.     read (mfile,m); che;
  27.     if m.sentto=usernum then begin
  28.       searchmail:=cnt;
  29.       exit
  30.     end
  31.   end
  32. end;
  33.  
  34. procedure delmail (n:integer);
  35. var m:mailrec;
  36.     c:integer;
  37. begin
  38.   seek (mfile,n);
  39.   read (mfile,m);
  40.   deletetext (m.line);
  41.   for c:=n to filesize(mfile)-2 do begin
  42.     seek (mfile,c+1);
  43.     read (mfile,m);
  44.     seek (mfile,c);
  45.     write (mfile,m)
  46.   end;
  47.   seek (mfile,filesize(mfile)-1);
  48.   truncate (mfile);
  49.   if filesize(mfile)=0 then begin
  50.     m.sentto:=0;
  51.     seek (mfile,0);
  52.     write (mfile,m)
  53.   end
  54. end;
  55.  
  56. procedure addmail (sentto:integer; line:integer; var me:message);
  57. var m:mailrec;
  58.     u:userrec;
  59. begin
  60.   m.sentby:=unam;
  61.   m.anon:=me.anon;
  62.   m.when:=now;
  63.   m.title:=me.title;
  64.   m.line:=line;
  65.   m.sentto:=sentto;
  66.   m.read:=false;
  67.   seek (mfile,filesize(mfile));
  68.   write (mfile,m);
  69.   seek (ufile,sentto);
  70.   read (ufile,u);
  71.   if match(u.handle,sysopname) then newmail:=newmail+1
  72. end;
  73.  
  74. function getnummail (un:integer):integer;
  75. var cnt:integer;
  76.     m:mailrec;
  77.     total:integer;
  78. begin
  79.   total:=0;
  80.   seek (mfile,0);
  81.   for cnt:=1 to filesize(mfile) do begin
  82.     read (mfile,m);
  83.     if m.sentto=un then total:=total+1
  84.   end;
  85.   getnummail:=total
  86. end;
  87.  
  88. begin
  89. end.
  90.  
  91.