分享
 
 
 

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

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

发信人: 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]

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有