更新離線聖經查詢系統:spring的信仰心得:Xuite日誌
  • 司布林
  • 文章分類
  • 日曆
  • 搜尋文章
  • 關鍵字
  • 最愛連結
  • 我的發燒文
  • 累積 | 今日
    loading......
  • 最新引用
  • Re:[cff75db35b50ef0d1fee],By cff75db35b50ef0d1fee 於2007-05-24
    Re:[b800c6d2f56d9e2517ed],By b800c6d2f56d9e2517ed 於2007-05-04
    Re:[fc62fc4f01c621ddfcb9],By fc62fc4f01c621ddfcb9 於2007-04-27
  • 誰拜訪過我
  • 最新文章
  • 最新回應
  • Re:NIV 聖經,by(司布林)於2008-08-27
    Re:NIV 聖經,by(the.tungs)於2008-08-26
    Re:沒有掌聲的服事,by(司布林)於2008-07-27
    Re:沒有掌聲的服事,by(我是怡倩)於2008-07-27
    Re:耐心等候,by(小子)於2008-07-10
    Re:離線聖經系統 0.50版釋出,by(恩典與憐憫)於2008-01-09
    Re:離線聖經系統 0.50版釋出,by(恩典與憐憫)於2008-01-08
    Re:NIV 聖經,by(以斯帖)於2007-12-16
    Re:講道錄音 ― 莊祖鯤牧師,by(恩典與憐憫)於2007-11-29
    Re:更新離線聖經查詢系統,by(lin)於2007-11-24
  • 參觀人氣統計
  • 已建立的日誌
  • 已建立的相簿
  • 日誌使用資源






  • 如何使用RSS
    Powered by Xuite
  • 日誌評價
  • 平均分數:0 顆星
    投票人數:0
    我要評分:
  • 部落格觀察
  • 2007-11-04 20:03 更新離線聖經查詢系統
  • ?
  • 關於聖經
  • 好文轉寄
  • 平均分數:0 顆星    投票人數:0
    我要評分:
    標籤 : 


    最近很少花時間來更新我的聖經查詢系統,只是最近花了一點時間更新一個離線的聖經查詢系統

    我記得六、七年前我就曾想要寫一個離線的聖經查詢系統,也就是在不上網的時候仍然可以使用的聖經查詢系統,當時我就曾在想要用 Javascript 寫,只是看了幾本書覺得不知從何處下手,沒有任何進展。

    一直到 2004 年左右,到圖書館借了一本 Javascript 的書,裡面並不是講 Javascript 的語法,而是介紹了十幾個用 Javascript 所寫的程式,其中有一個是「客戶端查詢程式」,我好像也沒有看得很懂作者的詳細作法,但是卻讓我感覺那就是離線查詢程式,於是我去抓了範例程式下來,發現果然可以在瀏覽器執行。

    於是我就研究了一下那個程式,並且將聖經的資料弄成那個程式所讀的格式,發現真的可以查詢。因此我就寫了查詢與閱讀的功能,查詢的部份只能做簡單的 or 查詢,查詢完之後的結果會對所查的字串做變色的功能。也可以連到該節聖經所在的章節,只是連過去之後就不再有變產色的功能了。

    只是 2004 年開始我家就有接網路了,那之後我就不覺得離線聖經查詢很重要,因為網路很方便,用線上聖經查詢程式的功能比較強。因此離線的聖經查詢系統就一直沒有再改進。

    一直到今年信望愛站突然發起一個繁星計劃,大概內容是要將信望愛站的資源燒成 DVD 光碟片,送給比較弱小、很少人連上網路的教會,暑假時信望愛站的 tjm 用 skype 跟我問到有沒有離線的聖經查詢系統,我表示以前我有寫過一個,我就將程式給他們放到 DVD 裡面。

    上星期有位花蓮的牧師提到,信望愛站燒的 DVD 雖然資料豐富,但是線上有不少好用的資源在 DVD 裡面就沒那麼好用。其中也有提到聖經查詢的程式,無法做 and 的查詢,有時查不到聖經節。我就跟牧師提到,因為那個程式是用 Javascript 寫的,速度比較慢,所以不敢加太多功能進去。後來牧師說:速度不是問題。他說我那個程式跟一個他常用的查詢程式比起來,我的程式查詢的結果比較精確,但是沒有 and 的功能,他有時還得再用其他查詢程式才行。於是我就答應要改進這個程式。

    我的聖經查詢系統的查詢部份可以做 and or not 的查詢,當時是拿 compiler 課本中的一個 operator precedence 的演算法來改的。最近幾年教到資料結構的課程,裡面有談到 postfix 的運算式,電腦可以很方便地將 postfix 的運算式結果算出來,也可以將我們平常習慣的 infix 運算式轉換成 postfix 運算式。我那時就在想要將這個演算法寫出來看看,看速度會不會比較快,但幾年來好像一直沒有動手。這次因為要加強離線查詢程式的功能,因此就將 postfix 的運算式計算的演算法寫出來,演算法本身還真的很簡單,只是我對 Javascript 實在不熟,所以寫程式時遇到不少問題,寫了半天終於搞定了。

    只是輸入查詢字串時需要輸入 postfix 的型式,也就是像 and or not 這些運算子必須放在運算元(查詢字串)的後面,我的系統用 * 代表 and、用 + 代表 or、用 ! 代表 not。平常若要查詢同時出現「大衛」和「約拿單」的經文必須輸入「大衛 * 約拿單」,而在我的系統需要輸入「大衛 約拿單 *」,關於 postfix 可以參考我資料結構第三章的講義( odp檔 , pdf檔)第三十八頁之後的部份。如果要找「亞伯」但不要「亞伯蘭」或「亞伯拉罕」的話,可以輸入「亞伯 亞伯蘭 亞伯拉罕 + ! *」。

    只是我想到 postfix 大家使用時一定很不習慣,而且牧師也跟我說 and or not 三者中 and 最重要,因此我就想到一個改善的地方,就是增加「容錯」的能力。如果您輸入的運算式裡面運算子給太多的話,就將運算子丟掉;若是運算子給太少的話,就自動在最後加上 * 的功能,這樣程式就不會因為使用者輸入錯誤而當掉,而且使用者使用上也會比較方便,例如單單要使用 and 的人,就可以單單輸入字串,就可以做 and 了。

    最後,我發現在我自己的筆記型電腦上,這個程式無法在 IE 裡面執行,不知是什麼緣故,但是在我們教會的兩台電腦上都可以正常執行,實在有點奇怪,我還找不到問題到底在哪裡。萬一在您的電腦裡面用 IE 也無法執行的話,您可以考慮用 Firefox 來執行,我在 Firefox 上執行都很正常。

    如果您對離線的聖經查詢系統也有興趣的話,歡迎您將程式抓回去,解壓縮之後,用瀏覽器打開 index.html 這個檔案就可以。載入的速度比較慢一些,之後應該就正常了。我有寫過一些使用說明,您可以參考一下。也寫過另一篇「寫 Javascript 的心得
    」。




    恩典與憐憫 / Xuite日誌 / 回應(8) / 引用(0) / 好文轉寄
  • 回應