• New Mystic MPL - New File

    From GRYPHON@46:1/116 to ALL on Thursday, January 31, 2019 19:20:24
    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)