作者guessi.bbs@cpu.tfcis.org (沒) 看板: itoc
標題Re: [功能] 使用文章代碼(AID)快速尋文
時間動力核心 (2010/01/09 Sat 03:57:28)
PTT的AID顯示方式不錯~ M3也可以仿照處理 (請配合本篇原文做修改)
亮白色顯示游標位置文章標題, 其餘地方做灰白處理, 並清除前後行文字以示區格
效果如下:
5 05/01 ijliao. □ [FAQ] 申請成立 tw.bbs.* 討論區, 怎麼做?
6 05/01 ijliao. □ 2006/05/01 tw.bbs.* 討論區列表
> 8 05/16 ijliao. □ 2006/05/16 tw.bbs.* 討論區列表
┌─────────────────────────────────────┐
│文章代碼(AID): #A126H9LF 看板名稱: config │
│文章作者: ijliao@csie.nctu.edu.tw │
└─────────────────────────────────────┘
14 07/01 ijliao. □ 2006/07/01 tw.bbs.* 討論區列表
15 08/01 ijliao. □ [FAQ] 申請成立 tw.bbs.* 討論區, 怎麼做?
: src/maple/post.c:post_aid_query() 整隻換掉
/* guessi.090610 顯示文章代碼(AID) refined version */
int
post_aid_query(xo)
XO *xo;
{
screenline slp[T_LINES];
char buf[ANSILINELEN];
HDR *hdr;
int cur;
hdr = (HDR *) xo_pool + (xo->pos - xo->top);
cur = xo->pos - xo->top + 3;
vs_save(slp);
str_ansi(buf, slp[cur].data, slp[cur].width + 1);
grayout(GRAYOUT_DARK); /* 若沒有做grayout 請拿掉這行 */
/* 根據游標位置決定顯示格式 */
if (cur <= 15)
{
move(cur- 1, 0);
clrtoeol();
prints("\n");
prints("\033[1;37;40m%s\033[m\n", buf);
move(cur + 1, 0);
}
else
{
move(cur - 5, 0);
clrtoeol();
prints("\n");
}
prints("┌─────────────────────────────────────┐\n");
prints("│文章代碼(AID): #%s%-*s看板名稱: %-13s│\n", hdr->xname, 27, "", currboard);
prints("│文章作者: %s%-*s│\n", hdr->owner, 64 - strlen(hdr->owner), "");
prints("└─────────────────────────────────────┘\n");
if (cur > 15)
prints("\033[1;37;40m%s\033[m\n", buf);
clrtoeol();
vmsg(NULL);
return XO_HEAD;
}
--
=[﹎:�摃�◣��:﹎Origin ]|[ ���O���� cpu.tfcis.org ]|[�搟說�﹎:]=
=[﹊:�摃�╱��:﹊Author ]|[118-161-210-251.dynamic.hi]|[���插�﹊:]=