BBS: Inland Empire Archive Date: 03-20-93 (21:11) Number: 130 From: OLIVIER MASSE Refer#: NONE To: STEVE PERRY Recvd: NO Subj: MAXIMUS BBS Conf: (2) Quik_Bas
SP> Has anyone out there done any Quickbasic programming with SP> Maximus BBS? Here's some code to read the USERS.BBS of Maximus BBS that was taken from here not so long ago. Thanks to Mysterious Stan for this! ----- Cut Here ----- DEFINT A-Z TYPE UserRec Name AS STRING * 36 ' 36 City AS STRING * 36 ' 72 Alias AS STRING * 21 ' 93 Phone AS STRING * 15 ' 108 LastRead AS INTEGER ' 110 TimeRemain AS INTEGER ' 112 Password AS STRING * 16 ' 128 TimesCalled AS INTEGER ' 130 Help AS STRING * 1 ' 131 Rsvd1 AS STRING * 2 ' 133 Video AS STRING * 1 ' 134 Nulls AS STRING * 1 ' 135 Bits1 AS STRING * 1 ' 136 Rsvd2 AS STRING * 2 ' 138 Bits2 AS STRING * 2 ' 140 Priv AS STRING * 1 ' 141 Rsvd3 AS STRING * 19 ' 160 StructLen AS STRING * 2 ' 162 OnLineTime AS INTEGER ' 164 DelFlag AS INTEGER ' 166 Rsvd4 AS STRING * 8 ' 174 ScrWidth AS STRING * 1 ' 175 ScrLength AS STRING * 1 ' 176 Credit AS INTEGER ' 178 Debit AS INTEGER ' 180 XPriv AS STRING * 2 ' 182 XPDate AS INTEGER ' 184 Need Date to INT Routine XPTime AS INTEGER ' 186 Need Time to INT Routine XMins AS STRING * 4 ' 190 XFlags AS STRING * 1 ' 191 XReserved AS STRING * 1 ' 192 LUDate AS INTEGER ' 194 Need Date to INT Routine LuTime AS INTEGER ' 196 Need Time to INT Routine UserKeys AS STRING * 4 ' 200 /\ Language AS STRING * 1 ' 201 || Protocol AS STRING * 1 ' 202 Available in Tom KUpload AS LONG ' 206 Hanlin's PBCLONE KDnload AS LONG ' 210 Library KDnloadTdy AS LONG ' 214 LMsgArea AS STRING * 10 ' 224 LFilArea AS STRING * 10 ' 234 Compress AS STRING * 1 ' 235 Rsvd5 AS STRING * 1 ' 236 Extra AS STRING * 4 ' 240 END TYPE DIM User AS UserRec 'Be sure to test this on a COPY of your USER.BBS file OPEN "USER.BBS" FOR RANDOM AS #1 LEN = LEN(User) MaxRec = LOF(1) / LEN(User) X = 1 GetRec: CLS GET #1, X, User PRINT "User ===============> "; User.Name; PRINT " "; PRINT "Record " + STR$(X) + " of " + STR$(MaxRec) PRINT "User City ==========> "; User.City PRINT "User Alias==========> "; User.Alias PRINT "User Phone =========> "; User.Phone PRINT "LastRead =========> "; STR$(User.LastRead) PRINT "Time Remaining =====> "; STR$(User.TimeRemain) PRINT "Password ===========> "; User.Password PRINT "Times Called =======> "; STR$(User.TimesCalled) PRINT "Help Level =========> "; ASC(User.Help) IF ASC(User.Video) = 0 THEN Video$ = "TTY" ELSEIF ASC(User.Video) = 1 THEN Video$ = "ANSI" ELSEIF ASC(User.Video) = 2 THEN Video$ = "AVATAR" END IF PRINT "Video ==============> "; Video$ PRINT "Nulls ==============> "; ASC(User.Nulls) PRINT "Bits1 ==============> "; ASC(User.Bits1) PRINT "Bits2 ==============> "; ASC(User.Bits2) PRINT "Access Level =======> "; ASC(User.Priv) PRINT "StructLen ==========> "; ASC(User.StructLen) PRINT "Time On Line =======> "; STR$(User.OnLineTime) PRINT "Delete Flag ========> "; STR$(User.DelFlag) PRINT "Screen Width =======> "; ASC(User.ScrWidth) PRINT "Screen Length ======> "; ASC(User.ScrLength) PRINT "Credit =============> "; STR$(User.Credit) PRINT "Debit ==============> "; STR$(User.Debit) PRINT "XPriv ==============> "; User.XPriv PRINT "XPDate =============> "; User.XPDate PRINT "XPMins =============> "; User.XMins; GOSUB WaitKey CLS PRINT "XFlags =============> "; User.XFlags PRINT "XReserved ==========> "; User.XReserved PRINT "LuDate =============> "; User.LuDate PRINT "UserKeys ===========> "; User.UserKeys PRINT "Language ===========> "; User.Language PRINT "Protocol ===========> "; User.Protocol PRINT "KUpload ============> "; STR$(User.KUpload) PRINT "KDnload ============> "; STR$(User.KDnload) PRINT "KDnloadTdy =========> "; STR$(User.KDnloadTdy) PRINT "Last Message Area ==> "; User.LMsgArea PRINT "Last File Area =====> "; User.LFilArea PRINT "Compress ===========> "; User.Compress Bits1% = ASC(User.Bits1) IF Bits1% AND 1 THEN HotKey$ = "Yes" ELSE HotKey$ = "No" IF Bits1% AND 2 THEN ChatAvail$ = "Yes" ELSE ChatAvail$ = "No" IF Bits1% AND 4 THEN Maxed$ = "Yes" ELSE Maxed$ = "No" IF Bits1% AND 8 THEN Nerd$ = "Yes" ELSE Nerd$ = "No" IF Bits1% AND 16 THEN InUserList$ = "Yes" ELSE InUserList$ = "No" PRINT "Hotkeys ============> "; HotKey$ PRINT "ChatAvail ==========> "; ChatAvail$ PRINT "Maxed ==============> "; Maxed$ PRINT "Nerd ===============> "; Nerd$ PRINT "InUserList =========> "; InUserList$ PRINT "" GOSUB WaitKey X = X + 1 ' Get the next record IF X > MaxRec THEN CLOSE : END GOTO GetRec CLOSE:END WaitKey: A$ = INKEY$: IF A$ = "" THEN GOTO WaitKey IF A$ = CHR$(27) THEN CLOSE : END RETURN ___---------------------------CUT HERE------------------------------- This will get you a bit closer to the USER.BBS struct....... As mentioned, should have something quite solid for you to FREQ by this weekend. Have a good one! Stan ----- Cut Hereý ----- Here you go. Hope this helps, -=> Olivier <TagAdd 1.0P> ...Eat Crap! 10 Trillion flies can't be wrong. --- FMail 0.92 * Origin: /³/ NewSoft BBS, Sherbrooke, QC. (819)565-5343 (1:257/20)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET