回精華區
作者itoc, 信區: itoc
標題[修正] menu.c 將選單下面狀態列的日期和節日分開
時間05/05/28
作者: itoc (站上人數:802) 看板: plan
標題: [修正] 將選單下面狀態列的日期和節日分開
時間: 2005/05/28 Sat 14:40:48                           Updated: 2005/06/09

  將主選單下面狀態列的日期和節慶分開
  若沒有節慶,就每個小時秀不同的字樣

  改 struct FCACHE 要重開 bbsd

: struct.h:FCACHE

typedef struct
{
  int shot[MOVIE_MAX];  /* Thor.980805: 合理範圍為 0..MOVIE_MAX - 1 */
  char film[MOVIE_SIZE];
  char today[16];
+ char feast[16];
} FCACHE;

: camera.c:do_today()

  time_t now;
  struct tm *ptime;

+ char Hour[24][16] =       /* 在沒有節慶時,每個小時秀不同的字樣 */
+ {
+   // 這裡隨便你想怎麼寫都可以 
+   "白羊時", "金牛時", "雙子時", "巨蟹時", "獅子時", "處女時",
+   "天秤時", "天蠍時", "射手時", "摩羯時", "水瓶時", "雙魚時",
+   "此一時", "彼一時", "鐘乳石", "貓眼石", "金瓜石", "惡魔果實",
+   "比利時", "盧森堡", "匈牙利", "葡萄牙", "西班牙", "斯洛維尼亞",
+ };

  ...
  ...

- sprintf(today, "%s %.2s",
+ sprintf(today, "%s 星期%.2s"
    key1, "日一二三四五六" + (ptime->tm_wday << 1));
+ str_ncpy(fshm->feast, Hour[ptime->tm_hour], sizeof(fshm->feast));

  ...
  ...

-         str_ncpy(today, str, sizeof(fshm->today));
+         str_ncpy(fshm->feast, str, sizeof(fshm->feast));
-         if (str = (char *) strchr(today, '\n')) /* 最後的 '\n' 不要 */
+         if (str = (char *) strchr(fshm->feast, '\n')) /* 最後的 '\n' 不要 */

: menu.c:status_foot()

  sprintf(feeter, COLOR1 " %8.8s %02d:%02d " COLOR2
-   " 人數 %-4d 我是 %-12s %s [呼叫]%-9s  ",
+   " %13.13s 人數 %-4d %s [呼叫]%-9s  ",
    fshm->today, ufo / 60, ufo % 60,
-   total_user, cuser.userid, coinmsg, flagmsg);
+   fshm->feast, total_user, coinmsg, flagmsg);

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