荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jjk (keep learning, keep running...), 信区: InstallBBS
标  题: [转寄] 加入类nju的Ctrl+a功能update
发信站: 荔园晨风BBS站 (Sat Oct 19 15:59:17 2002), 站内信件

【 以下文字转载自 jjk 的信箱 】
【 原文由 jjk@feeling.smth.org 所发表 】
发信人: Czz. (Czz.bbs@bbs.nju.edu.cn), 信区: InstallBBS
标  题: [转寄] 加入类nju的Ctrl+a功能update
发信站: 温馨小屋 (Wed Oct  9 00:07:41 2002), 站内信件
来  源: from bbs.nju.edu.cn (bbs.nju.edu.cn [202.119.32.102])

发信人: Haishion (Dog), 信区: BBSDev
标  题: 加入类nju的Ctrl+a功能update
发信站: 南京大学小百合站 (Mon Oct  7 11:57:46 2002), 站内信件

fb2kv1219。

这个功能我自己觉得经常需要用到。有时看了某篇文章后想给对方发信息,
按S再按对方ID很不方便,所以就加入了这个功能。
应用在:看文章或者看信时按Ctrl+a查询作者,最后一行有
聊天[t] 送信息[s] 寄信[m] 加朋友[o] 个人文集[x] 任意键离开[ ]
其中tsx根据判断显示。
也就是最小可能为
寄信[m] 加朋友[o] 任意键离开[ ]

代码如下
在talk.c的t_query里面加入
变量定义
    struct user_info Haishionuin;
在这里后面加入,因为uin后面被t_search_ulist改变了,这里保存下来
    search_ulist(&uin, t_cmpuids, getuser(lookupuser.userid));
    Haishionuin = uin;

    if (uinfo.mode != LUSERS && uinfo.mode != LAUSERS
        && uinfo.mode != FRIEND && uinfo.mode != GMENU) {
        pressanykey();
    }
改为
        if (uinfo.mode != LUSERS && uinfo.mode != LAUSERS
                && uinfo.mode != FRIEND && uinfo.mode != GMENU) {
//Haishion add 20021002 begin
                int ch;
                int modetemp;
                extern int friendflag;
                char fnPersonal[STRLEN];

                move(t_lines - 1, 0);
                clrtoeol();
                sprintf(fnPersonal, "%s/%c/%s",
                        PERSONALCORPUSPATH, toupper(lookupuser.userid[0]),
                        lookupuser.userid);
                prints("*[0;1;37m%s%s%s%s*[m",
                        (num)? "聊天[;32mt7m] 送信息[;32ms7m] ": "",
                        "寄信[;32mm7m] 加朋友[;32mo7m] ",
                        dashd(fnPersonal)? "个人文集[;32mx7m] ": "",
                        "任意键离开[ ]");

                ch = egetch();
                switch (ch) {
                case 't':
                case 'T':
                        if (!num)
                                break;
                        if (!HAS_PERM(PERM_PAGE))
                                break;
                        if ((Haishionuin.uid == usernum))
                                break;
                        modetemp = uinfo.mode;
                        uinfo.mode = LUSERS;
                        ttt_talk(&Haishionuin);
                        uinfo.mode = modetemp;
                        break;
                case 's':
                case 'S':
                        if (!num)
                                break;
                        if (!strcmp("guest", currentuser.userid))
                                break;
                        if (!HAS_PERM(PERM_MESSAGE))
                                break;
                        if (!canmsg(&Haishionuin))
                                break;
                        do_sendmsg(&Haishionuin, NULL, 0, Haishionuin.pid);
                        break;
                case 'm':
                case 'M':
                        if (!HAS_PERM(PERM_POST))
                                break;
                        modetemp = uinfo.mode;
                        uinfo.mode = LUSERS;
                        m_send(lookupuser.userid);
                        uinfo.mode = modetemp;
                        break;
                case 'o':
                case 'O':
                        if (!strcmp("guest", currentuser.userid))
                                break;
                        friendflag = YEA;
                        sprintf(buf, "确定要把 %s 加入好友名单吗",
                                lookupuser.userid);
                        clear();
                        move(t_lines - 1, 0);
                        if (askyn(buf, NA, NA) == NA)
                                break;
                        if (addtooverride(lookupuser.userid) == -1) {
                                sprintf(buf, "");
                        } else {
                                sprintf(buf, "%s 列入好友名单",
                                        lookupuser.userid);
                        }
                        prints(buf);
                        pressanykey();
                        break;
                case 'x':
                case 'X':
                        if (!dashd(fnPersonal))
                                break;
                        Personal(lookupuser.userid);
                        break;
                }
//Haishion add 20021002 end
//              pressanykey();
        }


--
※ 来源:.南京大学小百合站 bbs.nju.edu.cn.[FROM: a.Whole.New.World]

※ 来源:.南京大学小百合站 bbs.nju.edu.cn.[FROM: 210.34.218.160]
--
※ 转寄:.南京大学小百合站 bbs.nju.edu.cn.[FROM: 166.111.176.221]

--
※ 转寄:.温馨小屋 bbs.feeling.smth.org.[FROM: freebsd.szu.edu.]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.234]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店