• 'Fixed' header and scrolling User Listing Menu

    From Indrid Cold@21:1/165 to All on Monday, October 03, 2016 19:29:00
    Hi! Always here editing ANSI menu and headers...

    I'm searching for a way to keep my 'User Listing Menu' new header fixed,
    while the list of users scrolls on the bottom - can't find the right pipe
    code, or maybe it doesn't exist for this case. I can only get the header
    paused without nothing on the bottom, or going outside the screen with list scrolling down. This week I'm going to lower my sight, with all this ANSI coding and default.txt... thanks.

    ¯¯ ÅndçŒd Cíld ®®

    "What do you look like?"
    "It depends on who is looking."

    --- Mystic BBS v1.12 A31 (Raspberry Pi)
    * Origin: Miskatonic BBS | telnet://rasppi.servebbs.org (21:1/165)
  • From Gryphon@21:1/120 to Indrid Cold on Monday, October 03, 2016 12:51:00
    On 10/03/16, Indrid Cold said the following...

    Hi! Always here editing ANSI menu and headers...

    I'm searching for a way to keep my 'User Listing Menu' new header fixed, while the list of users scrolls on the bottom - can't find the right pipe code, or maybe it doesn't exist for this case. I can only get the header paused without nothing on the bottom, or going outside the screen with list scrolling down. This week I'm going to lower my sight, with all
    this ANSI coding and default.txt... thanks.

    You can do what I did an write an MPL to do it.

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

    --- Mystic BBS v1.12 A31 (Raspberry Pi)
    * Origin: Cyberia BBS | Cyberia.Darktech.Org | Kingwood, TX (21:1/120)
  • From Indrid Cold@21:1/165 to Gryphon on Monday, October 03, 2016 23:37:00
    You can do what I did an write an MPL to do it.

    More simpler to say that to do :P

    Hey Gryphon, I don't have your master skill in MPLin' ;)

    Is simple to build as script for my need? I'm interested in MPL language, but I've never gone deeper in the subject, but I know well your great script and those of a few other people.

    ¯¯ ÅndçŒd Cíld ®®

    "What do you look like?"
    "It depends on who is looking."

    --- Mystic BBS v1.12 A31 (Raspberry Pi)
    * Origin: Miskatonic BBS | telnet://rasppi.servebbs.org (21:1/165)
  • From bcw142@21:1/145 to Indrid Cold on Tuesday, October 04, 2016 10:02:00
    On 10/03/16, Indrid Cold said the following...
    I'm searching for a way to keep my 'User Listing Menu' new header fixed, while the list of users scrolls on the bottom - can't find the right pipe code, or maybe it doesn't exist for this case. I can only get the header paused without nothing on the bottom, or going outside the screen with list scrolling down. This week I'm going to lower my sight, with all
    this ANSI coding and default.txt... thanks.
    ¯¯ ÅndçŒd Cíld ®®
    --- Mystic BBS v1.12 A31 (Raspberry Pi)
    * Origin: Miskatonic BBS | telnet://rasppi.servebbs.org (21:1/165)

    Not sure but Gryphon may have been hinting that he has an answer, it's his gfiles MPL. That uses .ini files to customize the setup and you can scroll starting from any line to any line. With some work you should be able to use
    it to do what you want. Look for gy-gfls12.zip over on Gryphon's Cyberia
    BBS files, or it's in my uploads as well. It can be slow when updating and sorting (alphabetically), but fine after that's done. I haven't found the
    edit feature to work for me so I use use a normal editor on the files if I
    want to edit them, then do an update.

    --- Mystic BBS v1.12 A31 (Raspberry Pi)
    * Origin: Mystic Pi BBS bcw142.zapto.org (21:1/145)
  • From Gryphon@21:1/120 to Indrid Cold on Tuesday, October 04, 2016 09:23:00
    On 10/03/16, Indrid Cold said the following...

    You can do what I did an write an MPL to do it.

    More simpler to say that to do :P

    Hey Gryphon, I don't have your master skill in MPLin' ;)

    Is simple to build as script for my need? I'm interested in MPL
    language, but I've never gone deeper in the subject, but I know well
    your great script and those of a few other people.

    I wrote an MPL to do it. It's very similar to the message area or file area light bar changer app that g00r00 initially did. However, I added a twist.
    My MPL will sort the users too. I had intended to use it as a browser so
    that when you select a user, you can do things like send an email, or request
    a chat, or just get more info about them.

    Here is my app. You will need an ANSI screen to fill your needs. All it
    would need to be is something that would put a frame around the list.

    Just download this with the 'X' command, then edit the message between the
    cut lines. You may have to fix up some long lines, since the editor likes to wrap them at inopportune places.

    -------------8<---------------------------------------------------------
    Uses Cfg
    Uses User

    Type
    UserXRec = Record
    Name : String[40]
    Idx : Integer
    End

    Var TotUsers : Integer
    Var TheUsers : Array [1..500] of UserXRec

    Procedure ShowUserInfo
    Begin
    GoToXy(9,17)
    Write('|16|11 Gender : |07'+PadRt(UserSex,25,' '))
    Write('|15|11 Calls : |07'+PadRt(Int2Str(UserCalls),25,' '))
    GoToXy(9,18)
    Write('|15|11 FirstOn: |07'+PadRt(DateStr(UserFirstOn,1),25,' '))
    Write('|15|11 LastOn : |07'+PadRt(DateStr(UserLastOn,1),25,' '))
    End

    Function GetAge(BD:LongInt):Integer
    Var Ret : Integer=0
    Begin
    Ret:=DaysAgo(Date2Julian(DateStr(BD,1)))/365
    GetAge:=Ret
    End

    Procedure ListUsers(I,C:Integer)
    Var A,J,M,R : Byte
    Begin
    For J:=1 To 12 Do Begin
    M:=J+I-1
    GetUser(TheUsers[M].Idx)
    GoToxy(08,J+3)
    If M = C Then Begin
    TextColor(30)
    Write(' '+PadRt(UserAlias+'|17|14#'+Int2Str(UserIndex),30,' '))
    Write(PadRt(UserCity,30,' '))
    Write(PadRt(DateStr(UserLastOn,1),10,' '))
    End Else Begin
    Write('|14|16 '+PadRt(UserAlias+'|16|06#'+Int2Str(UserIndex),30,'
    '))
    Write('|08|16'+PadRt(UserCity,30,' '))
    Write('|11|16'+PadRt(DateStr(UserLastOn,1),10,' '))
    End
    End
    End

    Procedure DoUserList
    Var Ch : Char
    Var Bar : Byte
    Var T,U : Integer
    Var Done : Boolean = False
    Begin
    T:=1
    Bar:=1
    Repeat
    U:=Bar+T-1
    ListUsers(T,U)
    Ch:=ReadKey
    If IsArrow Then Begin
    Case Ch Of
    #72: Begin
    Bar:=Bar-1
    If Bar < 1 Then Begin
    If T > 1 Then
    T:=T-1
    Bar:=1
    End
    End
    #80: Begin
    Bar:=Bar+1
    If Bar > 12 Then Begin
    T:=T+1
    Bar:=12
    End
    If U >= TotUsers Then Begin
    Bar:=12
    T:=T-1
    End
    End
    End
    End Else Begin
    Ch:=Upper(Ch)
    Case Ch Of
    #27 : Done:=True
    End
    End
    Until Done
    End

    Procedure SortUsers
    Var X,Y : Integer
    var UX : UserXRec
    Begin
    For X:=1 To TotUsers Do Begin
    For Y:=1 To TotUsers Do Begin
    If X <> Y Then Begin
    If Upper(TheUsers[X].Name) < Upper(TheUsers[Y].Name) Then Begin
    UX:=TheUsers[X]
    TheUsers[X]:=TheUsers[Y]
    TheUsers[Y]:=UX
    End
    End
    End
    End
    End

    Procedure Init
    Begin
    TotUsers:=1
    While GetUser(TotUsers) And TotUsers < 500 Do Begin
    TheUsers[TotUsers].Name:=UserAlias
    TheUsers[TotUsers].Idx:=TotUsers
    TotUsers:=TotUsers+1
    End
    TotUsers:=TotUsers-1
    SortUsers
    DispFile('userlist')
    End

    Procedure Main
    Begin
    DoUserList
    End

    Begin
    ClrScr
    Init
    Main
    TextColor(11)
    End
    ---------------------------------------------------------------------------

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

    --- Mystic BBS v1.12 A31 (Raspberry Pi)
    * Origin: Cyberia BBS | Cyberia.Darktech.Org | Kingwood, TX (21:1/120)
  • From Gryphon@21:1/120 to Indrid Cold on Tuesday, October 04, 2016 09:25:00
    On 10/03/16, Indrid Cold said the following...

    You can do what I did an write an MPL to do it.

    More simpler to say that to do :P

    Hey Gryphon, I don't have your master skill in MPLin' ;)

    Is simple to build as script for my need? I'm interested in MPL
    language, but I've never gone deeper in the subject, but I know well
    your great script and those of a few other people.

    Another thought I had was that you can write an MPL that outputs all the user information into a text file, then use the GV menu command. I can whip up a quick MPL for that if you wish.

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

    --- Mystic BBS v1.12 A31 (Raspberry Pi)
    * Origin: Cyberia BBS | Cyberia.Darktech.Org | Kingwood, TX (21:1/120)
  • From Gryphon@21:1/120 to Indrid Cold on Tuesday, October 04, 2016 11:15:00
    On 10/03/16, Indrid Cold said the following...

    You can do what I did an write an MPL to do it.

    More simpler to say that to do :P

    Hey Gryphon, I don't have your master skill in MPLin' ;)

    Is simple to build as script for my need? I'm interested in MPL
    language, but I've never gone deeper in the subject, but I know well
    your great script and those of a few other people.


    Ok,I did a quick and dirty MPL that I think does exactly what you want.

    You can find it at:
    cyberia.darktech.org:8080/free/mpl/ulist.mps

    Make sure you also get the ansi file at: cyberia.darktech.org:8080/free/text/ulheader.ans

    You will have to modify the mpl to have the fields you want. You'll also
    want to modify the ansi file to fit your needs.

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

    --- Mystic BBS v1.12 A31 (Raspberry Pi)
    * Origin: Cyberia BBS | Cyberia.Darktech.Org | Kingwood, TX (21:1/120)
  • From Indrid Cold@21:1/165 to Gryphon on Tuesday, October 04, 2016 22:33:00
    I wrote an MPL to do it. It's very similar to the message area or file area light bar changer app that g00r00 initially did. However, I added

    Thanks Gryphon, I appreciate your help - I'll try to find the right way to implement this in my case.

    ¯¯ ÅndçŒd Cíld ®®

    "What do you look like?"
    "It depends on who is looking."

    --- Mystic BBS v1.12 A31 (Raspberry Pi)
    * Origin: Miskatonic BBS | telnet://rasppi.servebbs.org (21:1/165)
  • From Indrid Cold@21:1/165 to Gryphon on Tuesday, October 04, 2016 22:36:00
    Another thought I had was that you can write an MPL that outputs all the user information into a text file, then use the GV menu command. I can

    Really kind by your side, don't worry - let's see how things will be going
    with the first possibility you told me about, I'm a little sleepy at the moment, but I'll try to get a look.

    ¯¯ ÅndçŒd Cíld ®®

    "What do you look like?"
    "It depends on who is looking."

    --- Mystic BBS v1.12 A31 (Raspberry Pi)
    * Origin: Miskatonic BBS | telnet://rasppi.servebbs.org (21:1/165)
  • From Indrid Cold@21:1/165 to Gryphon on Tuesday, October 04, 2016 22:40:00
    Ok,I did a quick and dirty MPL that I think does exactly what you want.

    Thanks friend, I appreciate your help - I'll try it as soon as possible.

    ¯¯ ÅndçŒd Cíld ®®

    "What do you look like?"
    "It depends on who is looking."

    --- Mystic BBS v1.12 A31 (Raspberry Pi)
    * Origin: Miskatonic BBS | telnet://rasppi.servebbs.org (21:1/165)