BBS程序设计2---include目录

类别:软件工程 点击:0 评论:0 推荐:

发信人: loveyou (独梦人), 信区: Das_Room
标  题: BBS程序设计2--include目录
发信站: 锦城驿站 (Tue Apr 25 20:08:23 2000), 转信

(* 多说一句,本人由于水平有限,所以写出的东东也不一定很正确,请大家
   发现错误及时指正 *)


 我先说说include-->BBS库文件目录

 

 在FB7.0的版本里,include目录下一般有:

            bbs.h   chat.h    config.h    edit.h    permissions.h

            struch.h vote.h  bbsgopher.h  modes.h   screen.h

            tmachine.h

 

 对于初学,不需要你们全部了解.只要求你们懂几个常用的就可以了.下面我

 把几个常用到的讲解一下.其它的我在后面的章节再介绍.


 config.h -->  定义BBS各种设置,如:最大上站人数,缺省的BBS目录,BBS程

               序使用的最长的字符串长度,最长发呆时间,最长的密码位数

               以及各种标识等等...

 chat.h --> 是关于聊天室的一些设置.如:各种聊天室的名称,聊天室使用
            代号的最大长度,聊天室最多进入人数,最多可以开几个房间,
            代号的最大长度,聊天室最多进入人数,最多可以开几个房间,
            以及程序中所要使用到的全局定义.

 config.h --> 里面定义了BBS的站名,ID,IP地址,域名,BBS端口号,还有普通
              用户的最长发呆时间,高级用户的最长发呆时间,最多注册人数
              等等..


 edit.h --> 里面的内容很少.一些是定义MARK,都是程序中用到的了解就行.
            还有一个结构textline,这是用来保留您发表文章时所写的各行
            字符(说明:当你正在写文章时,其时你所写的没有保留到文件中,

            而是暂时放入缓冲区内,等你正式发表后,才保存到文件中)


 permissions.h --> 学过英语,您就知道这里是设置权限的,当然这里也就是
                   您最应该了解的.(*记住,您要仔细的看这里的设置,以后
                   的编程要经常的用到*)
                   BBS的权限定义,是用的数据标识(1,2,4),我详细讲一下:

             最前面你可以看到很多的数字如:

                         #define PERM_BASIC 000001
                         #define PERM_CHAT  000002
                         #define PERM_POST  000004
                         ........

            如果我(loveyou)只有基本权限那它的权限记录就是:

            loveyou.userlevel = 000001

(*其实这里只写1就行,前面加0也是为了容易看!写程序要养成良好的习惯*)
(* 对了,再说明一下,基本权限就是进站的权限,如没有就进不了站 *)

             如果我有基本权限和聊天权限,那就:

             loveyou.userlevel = 000003 (* 这里是000001+000002 *)


             这样定义,那我就有了这两样的权限.
             以下同,那是这样, 权限标识有: 1,2,4,10,20,40,100,200,400....
             设计者还为开发BBS留了些没有用到的权限: SPECIAL1,SPECIAL2...
             如果您想给BBS再加些权限功能,那就要先在这里设置,如我要加个聊天

             室的总管,那我就把PERM_SPECIAL1改成PERM_CHATGOD,然后我还要在后
             面您要加的权限名就是第一步,加上后还要在后面设定它的中文名:
             后面有这个设置的地方,都是汉字你一下就能找到,然后在SPECIAL1所
             在的那一行把"特殊权限 1"改成"聊天室总管"就可以了.
             这样,在BBS程序中您就可以使用PERM_CHATGOD权限了,如:
             有这个权限的人可以在聊天室内踢人,那你就在chat.c里踢人函数加
             上判断语句 HAS_PERM(PERM_CHATGOD) 就可以了,如果你不知道在哪
             里加,那就慢慢学,我以后在讲到chat.c文件时会说明的.

             上面讲了权限的定义,在这里还有就是用户参数的定义.基本意思同上.
             只不过您要填加一参数,可不要忘记改一下:

                   #define NUMDEFINES 26

             这一行,如果你加了一个参数,那就把26改为27.依此类推.

struct.h --> 这个库文件也很重要,所以您也要好好看一下,我也在这里多讲解一些.
             这里首先定义的是userec结构.这个结构是为每个用户保存各种记录用
             这里首先定义的是userec结构.这个结构是为每个用户保存各种记录用
             的.如,用户的代号,上次联线地址,上次进站时间,发表文章数,上站次
             数等,还有我前面提到的权限userlevel记录.
             下在还有一个结构,就是user_info也是用来记录用户信息的.它们记录

             的内容不同,而且user_info是在UTMP文件中使用的(* 如果您不懂,那
             就不管它了,反正您主要了解userec结构就可以了 *)

             在程序设计时,如果您要取某一用户的权限,那就这样:

                    loveyou.userlevel

             取上站次数就:   loveyou.numlogins
             等等等....您要用的时间可以到struct.h文件里查找,不用全记住.
             这个库文件里还定义了文件的结构树等一些东东,不用管了,等用到时
             再来看吧.:PP

modes.h --> 这个也是很重要的.
            里面定义的是用户的各种状态,只有在这里定义了状态,您才能在程序
            中使用.如果您想加一个状态,如下围棋,那就在后面依次加上:

                     #define GO 56

            这个56是依最后面一个数再依次加.
            定义后您就可以使用这个了,如在程序用户开始下围棋时写上:
                  modify_user_mode( GO );

            就可以了,您要是问,这是定义了哪位用户的状态是GO呀?
            BBS程序一般指当前用户(currentuser)
            (* 说到这里要说一句,这个currentuser您要一定一定一定要记住,
            定义后您就可以使用这个了,如在程序用户开始下围棋时写上:
               它在程序的任何角落里都可以使用,它是一个全局常量,指代当前
               用户.如您要得到当前用户的ID,就这样:currentuser.userid
               它得到的就是当前用户的ID *)
--
※ 来源:·梅陇客栈 bbs.ecust.edu.cn·[FROM: 211.144.72.160]

本文地址:http://com.8s8s.com/it/it32402.htm