回精華區
作者itoc, 信區: itoc
標題[功能] edit.c banner 立志小格言
時間03/08/01
作者: itoc (風調雨順,國泰民安) 看板: plan
標題: [功能] banner 立志小格言
時間: Fri Aug  1 23:14:00 2003                          Updated: 2005/05/17

  偷學 pighouse.twbbs.org 的豬言豬語 :p

  文章最後的 banner 加上一句立志格言


: etc/proverb 範例檔,可以加 ASCII 或彩色

# 井號開頭的的是註解
天才是 1 分的天份加上 99 分的努力
偶爾發發牢騷, 是健康的, 只要找對的傾倒垃圾的地方
用祝福來封緘, 讓思念去投遞
別把自己的快樂, 建築在別人的痛苦上
所謂男女之間的純友誼, 不過是長時間持續的互相錯過
最可厭的人, 如果細加研究, 結果發現他不過是個可憐人
世界之大, 兩顆塵埃的相遇, 是自然也是幸運
當人類只想到追求勝利的時候, 就會變得極其卑劣
人的性命只有一條, 不容你去試探
腦袋就是最好的記事本, 覺得重要的, 自然會記住
別一味地稱讚別人的成就, 試著學習他人的努力
愛像風車一樣轉啊轉, 如同我對你的愛戀轉啊轉
完美的假想敵就是通往勝利之路的垃圾
別把自己的快樂, 建築在別人的痛苦上
你不能控制生命的長短, 但你可以控制它的寬度
人類因為有夢想而偉大, 卻因為現實而殘酷
假做真時真亦假, 無為有處有還無
這一秒, 我只希望你過的很好
賢的是他, 愚的是我, 爭什麼!
愛情就像等公車一樣, 你無法知道她什麼時候來
凡是達不到的就叫完美
用昨天來警惕, 用今天來盡力, 用明天當目標
人不染風塵, 風塵自染人
吃不到的葡萄, 永遠都覺得是酸的
最可厭的人, 如果細加研究, 結果發現他不過是個可憐人
只看樹葉, 就看不見樹; 只看見樹, 就看不見樹林

: struct.h:FCACHE

typedef struct
{
  int shot[MOVIE_MAX];          /* Thor.980805: 合理範圍為 0..MOVIE_MAX - 1 */
  char film[MOVIE_SIZE];
  char today[16];
+ int pronum;                   /* 有幾句格言 */
+ char proverb[100][STRLEN];    /* 最多 100 句格言 */
} FCACHE;

: camera.c:main()

+ do_proverb(fshm);

  exit(0);
}

: camera.c:do_proverb() 加入 main() 前面

/* ----------------------------------------------------- */
/* 載入格言佳句                                          */
/* ----------------------------------------------------- */


static void
do_proverb(fshm)
  FCACHE *fshm;
{
  int num;
  char msg[STRLEN], *str;
  FILE *fp;

  if (!(fp = fopen("etc/proverb", "r")))
  {
    fshm->pronum = 1;
    strcpy(fshm->proverb[0], "錯誤!沒有格言檔");
    return;
  }

  for (num = 0; num < 100;)
  {
    if (!fgets(msg, STRLEN, fp))
      break;
    if (*msg == '#' || *msg == '\n')
      continue;
    if (str = strchr(msg, '\n'))
      *str = '\0';
    strcpy(fshm->proverb[num], msg);
    num++;
  }

  fclose(fp);

  if (num)
  {
    fshm->pronum = num;
  }
  else
  {
    fshm->pronum = 1;
    strcpy(fshm->proverb[0], "錯誤!格言檔裡沒有格言");
  }
}

: edit.c:ve_banner() 版面的設計請參考 pighouse.twbbs.org

  else
  {
+   extern FCACHE *fshm;
    fprintf(fp, "\n--\n...一長串,各站不同\n");
+   fprintf(fp, "格言:%s\n", fshm->proverb[time(0) % fshm->pronum]);
  }

: visio.c:vmsg() 如果不想加在文章最後 banner 話,也可以取代 vmsg(NULL);

int
vmsg(msg)
  char *msg;                    /* length <= 54 */
{
  extern FCACHE *fshm;

  if (!msg)
    msg = fshm->proverb[time(0) % fshm->pronum];

#ifdef POPUP_MESSAGE
  return pmsg(msg);
#else
  move(b_lines, 0);
  clrtoeol();
  prints(COLOR1 " ◆ %-55s " COLOR2 " [請按任意鍵繼續] \033[m", msg);
  return vkey();
#endif
}

--
□ 本文章由 itocitoc.Dorm11.NCTU.edu.tw 發表
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻