看板 PttCurrent 關於我們 聯絡資訊
※ 引述《lxb.bbs@bbs.hkday.net (攖寧曌寂)》之銘言: : ※ 引述《lihgong.bbs@ptt.cc (Q.Q)》之銘言: : : 我大概把實作的方法寫在這邊, 有人需要可以參考看看 : : 首先看pttstruct.h : : #define FILE_HIDE 0x20 /* hild */ : : #define FILE_BID 0x20 /* for bid */ : : #define FILE_BM 0x40 /* BM only */ : : #define FILE_MULTI 0x100 /* multi send for mail */ : : #define FILE_VOTE 0x40 /* for vote */ : : #define FILE_ANONYMOUS 0x80 /* anonymous file */ : 略略略... : 不怕大膽點的話, 板內應優先應用 FILE_HIDE , 因為 FILE_BID 不是 : 必須的 (看站台而言) . : FILE_VOTE 其實也不是必須如此處理的, 因為有 BOARD_VOTE 的存在, : 不是 投票版, 就可以另作定義... : 但這不是好方法, 因為一旦看板設定改變, 就會引起大混亂. 所以是 : 該 extend filemode, 才加新 function flag. 其實我之前有想到另一種概念 首先是以檔案的特定 pattern 作分類 再為每一種分類制定 讀、寫 之類的動作 舉個例子 一般的文章為 M.* 文摘裡面的文章則是 G.* 精華區目錄是 DXXX 諸如此類 而因為每次要取某個檔時是去 .DIR 裡面找出指定筆紀錄 再拿出檔名來讀寫等等 而套用這一個概念的話 則可以為每一類檔案 以 function pointer 的方式實作出讀寫等等的 operation 這樣可以對不同的檔案做統一的處理 同時也避免現在一大堆噁心的條件判斷 (如 do_reply() 裡面不只是回文章,還為了做"連署"的文章多了一層) (再如 recommend() 本來是"推薦",後來又被拿來弄"競標") 而當然鎖文章用這種方式也是沒問題的 其實我一開始會想到這個 是因為之前在想如果要玩 Unicode 要怎麼玩 我想到把 Unicode 的文章以 U.XXX 的檔名存 之後就可以簡單地把轉換 encoding 做掉 但是後來一方面我覺得還得找多點人討論一下細節 再加上沒力氣寫這些東西 所以就沒動了 趁這個機會 po 出來 也許會有些幫助 不管是對那一方面 :) -- May the source be with you. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.244.208 ※ 編輯: VictorHsieh 來自: 140.112.244.208 (12/20 21:45)