Archive for 軟體分享

我的常用 js 函式庫

 

※ 2010-03-02 補充:

Object prototype 改寫會導致 jQuery 出現異常,所以必須將 Object.prototype.isArray 註解或刪掉。
請參考:Prototyping Object in Javascript breaks jQuery? – StackOverflow

整理了一支我常用於網站開發的 js 函式庫,也包含了對字串、日期、陣列物件的 Prototype 增強函數,採 MIT 授權釋出,歡迎任意使用。

源碼:lib.common.js(16 KB)
壓縮:lib.common-min.js(9 KB)

Prototype: String

  1. var url = 'http://essoduke.org/?s=測試';
  2. var x = 'Test 測試';
  3. var y = '<strong>HTML</strong>';
  4. var z = '&;lt;strong&;gt;HTML&lt;/strong&gt;';
  5.  
  6. /* trim: 移除字串前後空白 */
  7. x.trim(); // result: Test
  8.  
  9. /* bytes: 取得字串 bytes 長度 */
  10. x.bytes(); // result: 9
  11.  
  12. /* empty: 是否為空 */
  13. x.empty(); // result: false
  14.  
  15. /* left: 取字串左側 n 個字元 */
  16. x.left(4); // result: Test
  17.  
  18. /* right: 取字串右側 n 個字元 */
  19. x.right(4); //result: t 測試
  20.  
  21. /* HTMLEncode: 編碼 HTML 標籤 */
  22. y.HTMLEncode(); // result: &amp;lt;strong&amp;gt;HTML&amp;lt;/strong&amp;gt;
  23.  
  24. /* HTMLDecode: 還原被編碼的 HTML 字串 */
  25. z.HTMLDecode(); // result: <strong>HTML</strong>
  26.  
  27. /* URLEncode: 進行 URL 編碼 */
  28. url.URLEncode(); // result: http%3A%2F%2Fessoduke.org%2F%3Fs%3D%E6%B8%AC%E8%A9%A6

Prototype: Array

  1. var arr = [1, 2, 2, 3, 4, 4, 5];
  2.  
  3. /* unique: 刪除重複的元素 */
  4. arr.unique(); // result: 1, 2, 3, 4, 5
  5.  
  6. /* remove: 刪除第 n+1 個元素 */
  7. arr.remove(3); // result: 1, 2, 2, 4, 4, 5
  8.  
  9. /* find: 尋找符合內容元素的鍵值 */
  10. arr.find(2); // result: 1, 2

Prototype: Date

  1. var x = new Date();
  2.  
  3. /*
  4. * DateDiff: 計算傳入日期的差異
  5. * @param string cDate : 要比較的日期
  6. * @param string mode: 計算類型 y=年, m=月, w=周, d=日
  7. */
  8. x.DateDiff('2010-01-01', 'd'); // result 56
  9.  
  10. /* DateAdd: 加上或減去指定的日期時間間隔
  11. * @param string interval : 時間間隔單位 y, m, d, w, h, n, s, l
  12. * @param integer numer: 時間間隔單位次數,可為正數或負數
  13. * @param string pattern: 回傳的時間格式(非必要,預設 'yyyy-MM-dd hh:mm:ss')
  14. */
  15. x.DateAdd('d', 100); // result '2010-06-06 11:21:47'
  16.  
  17. /*
  18. * format: 格式化日期
  19. * @param string interval : 引數可參考 http://php.net/manual/en/function.date.php
  20. */ 
  21. x.format('Y m j'); // result '2010-02-26'

Prototype: Object

  1. /* isArray : 判斷是否為陣列 */
  2. var x = [1, 2, 3];
  3. x.isArray() // result 'true'
  4. var x = 'Test';
  5. x.isArray() // result 'false'

Functions

  1. var web = new COMMON();
  2.  
  3. /* regexp: 驗證常用欄位 account, password, email, url, ip, date, time, number, twid 台灣身份證 */
  4. web.regexp('i.am@god.com', 'email'); // 驗證電子郵件
  5. web.regexp('http://test.com', 'url'); // 驗證網址
  6. web.regexp('10.10.10.10', 'ip'); // 驗證 IP
  7.  
  8. /* timestamp2time: 將 timestamp 轉為時間日期格式 */
  9. web.timestamp2time(1267155821); // result 'Fri Feb 26 2010 11:46:30 GMT+0800 (Taipei Standard Time)'
  10.  
  11. /* timestamp: 取得 timestamp */
  12. web.timestamp();
  13.  
  14. /* leftPad: 字串左邊補零 */
  15. web.leftPad('100', 6); // result '000100'
  16.  
  17. /* ie: 檢查是否為 IE */
  18. web.ie();
  19.  
  20. /*
  21. * benchmark: 效能測試
  22. */
  23. web.benchmark.start(); // 開始計算
  24. [.....]
  25. web.benchmark.stop(); // 結束計算並返回執行秒數
  26.  
  27. /*
  28. * cookie: cookie 操作
  29. */
  30. web.cookie.get('index'); // 取得 cookie[index] 內容
  31. web.cookie.set('index', '100'); //設置 cookie[index] 為 100
  32. web.cookie.remove('index'); // 移除 cookie[index]
  33.  
  34. /*
  35. * debug: inline 方式顯示傳入變數內容或列舉子物件
  36. * ※此方法需使用 <a href="http://jquery.com/">jQuery Library</a>,建議 1.3.2 以上版本
  37. */
  38. var x = 'String';
  39. web.debug(jQuery); // 列舉 jQuery 所有內容
  40. web.debug(x); //顯示 x 變數內容

解決 TeamSpeak 3 中文化後字體過小的問題

如果在安裝 TeamSpeak 客戶端中文化後發生字體變成「標楷體」以及過小的問題,可以下載這個檔案解決:

default.qss(1KB 右鍵另存)

或是將下列文字加入「X:\Teamspeak Client\style\default.qss」,若熟悉 CSS 語法也可以自行更改。

  1. QAbstractScrollArea, QCheckBox, QComboBox, QDockWidget, QFrame,
  2. QGroupBox, QHeaderView, QLineEdit, QListView, QMainWindow, QMenu,
  3. QMenuBar, QProgressBar, QPushButton, QRadioButton, QScrollBar,
  4. QSizeGrip, QSlider, QSpinBox, QSplitter, QStatusBar, QTabWidget,
  5. QTabBar, QTableView, QToolBar, QToolBox, QToolButton, QToolTip, QTreeView {
  6.     font:normal 12px PMingLiu;
  7. }

說明:這個檔案為預設佈景主題的樣式檔,改寫各個元素所使用的字型及大小為 12px 新細明體。

另外補上目前最完整的正體中文化(戰地秘境版已停止更新):
下載:Teamspeak 3 Client 正體中文語系(ZIP 98KB 右鍵另存)

Free Video Converter 正體中文語系

昨天介紹的 Free Video Converter 因為只有英、德、俄文等語系,所以順手製作一份繁體中文語系檔,不過原始程式可能將語系直接寫死在程式內,所以我是以取代俄文的方式來進行更換。

下載位址:XUN6(Zip 10KB)
安裝方法:

  1. 解壓縮至「安裝目錄\Resources\Langs\Russian」覆蓋
  2. 開啟程式選單「Languages -> Russian」並重新啟動即可


Free Video Converter – 免費的 HD 影片轉檔程式

科技越來越進步,連一般的消費型數位相機都逐漸支援 HD 格式的影片,不過相對換來的卻是大容量的檔案,要經由網路分享勢必得轉檔(除非 Hinet 爭氣點 XD)。

不過市面上支援 MTS 格式的轉檔程式大多必須付費,免費程式卻又不支援 HD 影片,而 Free Video Convert 正是能滿足 HD 轉檔需求又完全免費的軟體。

除了支援輸入多數影片格式,輸出上也能直接選擇 YouTube 或 FLV 甚至 iPhone 可觀看的格式,也可以經由簡易的編輯輸出你想要的片段。

※目前僅支援英文、德文、俄文等語系,中文化製作中。

特色:

  • 可輸入AVI, FLV, MOV, MP4, MPG, MPEG, MTS, RM, RMVB, QT, WMV 等格式。
  • 可輸出 AVI, MP4, MPEG1, MPEG2, QuickTime (QT), WMV 等格式。
  • 簡易的使用介面包括影片預覽、剪輯和影片管理。
  • 支援分割或合併多個影片。
  • 支援 H.264 格式的高品質影片、多程轉換更能將檔案縮得更小。
  • 提供預先定義的轉檔設定可直接輸出 YouTube, iPod, iPhone, HDTV 和 Flash。
  • 支援自訂的轉檔設置。
  • 支援影片縮放、非交錯及更改 FPS。
  • 支援批次處理模式,快速轉換多個影片為單一或分割的檔案。
  • 提供專案模式。
  • Flash 格式可一併輸出 HTML 方便在網站上分享。
  • 完全免費!

官網下載:Extensions for Windows

延伸閱讀:

Tesseract Win32 VC++ Rebuild Tutorial

Tesseract OCR 原本是 HP 實驗室所發展的 OCR 引擎,2006 年釋出為開放原始碼專案,目前由 Google 維護發展。

這兩天因為有某專案需要使用文字辨識功能,原本打算使用 PHP 進行,不過效率不彰,所以投奔到 Tesseract 的懷抱,但是原始檔案中缺少 libtiff 的支援,這時候就需要自己動手編譯了。

所需軟體

步驟

下載 Tiff for Windows Complete package, except sources 並安裝。

開啟 tesseract.sln 專案

點選「工具 » 選項 » 專案和方案 » VC++ 目錄」右側的顯示目錄分別新增 Include 及 程式庫檔 並個別指向 Tiff for Windows 的 Include 及 Lib 資料夾。


在左側「方案總管」中,針對每個專案點選右鍵選擇「屬性 » 組態屬性 » C/C++ » 前置處理器」,右側的「前置處理器定義」加上 HAVE_LIBTIFF。

接著在「屬性 » 組態屬性 » 連接器 » 輸入」,右側的「其他相依性」加上 libtiff.lib。

設置完成後即可進行建置編譯。

這裡也有我編譯好的版本下載:Tesseract 2.04 Win32 Rebuild(2.40 MB)
SHA256: 02ade58c75542b5a69b13c9932ae8d921656bfb86fd839ec806a2022d48c24e0
內含:bbTesseract 可編輯學習檔、tessdata English、tessconfig

問題

Q: 執行 tesseract.exe 會提示「找不到 jpeg62.dll」
A: 將 C:\Program Files\GNUWin32\bin\jpeg62.dll 複製到 tesseract 目錄

Q: 執行 tesseract.exe 會提示「找不到 zlib1.dll」
A: 將 C:\Program Files\GNUWin32\bin\zlib1.dll 複製到 tesseract 目錄

延伸閱讀:

Pages: 1 2 3 4 5 Next

Powered by WordPress with GimpStyle Theme design by Horacio Bella.
Entries and comments feeds. Valid XHTML and CSS.