Subj : New Mystic MPL - New File
To   : ALL
From : GRYPHON
Date : Thu Jan 31 2019 07:20 pm

Hello All!

I have a tiny, little MPL utility that you all might find useful.  I call it,
"Files Since Last Call".   It's a little utility that I use to announce to
callers how many files have been uploaded, and in which directories, since
their last call.  I place this in my prelogin menu.

MCI codes may, or may not show up correctly, so you may need to do some
editing on that front.

Just download with the 'X' command, take out all this unwanted text, and
compile it.

fslc.mps
-----8<--------------------
Uses Cfg
Uses User
Uses FBase

Type
 RecFileList = Record
       FileName  : String[70];
       Size      : LongInt;
       DatTim    : LongInt;
       Uploader  : String[30];
       Flags     : Byte;
       Downloads : LongInt;
       Rating    : Byte;
       DescPtr   : LongInt;
       DescLines : Byte;
End;

Var Files        : RecFileList
Var TotFiles        : Integer
Var Ok2,Ok        : Boolean = True

Function ReadListEntry(FN:String;I:Integer):Boolean
Var Ret        : Boolean=False
Var Fp        : File
Begin
       fAssign(Fp,CfgDataPath+FN+'.dir',66)
       fReset(Fp)
       If IoResult = 0 Then Begin
               fSeek(Fp,(I-1)*SizeOf(Files))
               If Not fEof(Fp) Then Begin
                       fRead(Fp,Files,SizeOf(Files))
                       Ret:=True
               End
               fClose(Fp)
       End
       ReadListEntry:=Ret
End

Procedure Main
Var Done        : Boolean = False
Var I,H        : Integer
Var S                : String
Begin
       H:=1
       While GetFBase(H) Do Begin
               If ACS(FBaseACS) Then Begin
                       I:=0
                       TotFiles:=0
                       While ReadListEntry(FBaseFN,I+1) Do Begin
                               If Files.DatTim >= UserLastOn Then Begin
                                       TotFiles:=TotFiles+1
                               End
                               I:=I+1
                       End
                       If TotFiles > 0 Then Begin
                               If Ok Then Begin
                                       WriteLn('|CR ::: There are new files
si ce your last visit:|CR')
                                       Ok:=False
                                       Ok2:=Ok
                               End
                       WriteLn(''+PadLt(Int2Str(TotFiles),5,' ')+ ' new file(s
in ' + FBaseName)
                       End

               End
               H:=H+1
       End
End

Begin
       GetThisUser
       Main
       If Not Ok Then Write('|CR |PA')
End
-----8<------------------------

"No matter where you go, there you are!" - B. Bonzai

--- Mystic BBS v1.10 A51 (Linux)
* Origin: Cyberia BBS | Cyberia.Darktech.Org | Kingwood, TX (46:1/116)
� Synchronet � thePharcyde_ >> telnet://bbs.pharcyde.org (Wisconsin)