2011/03/29

[BIRT] BIRT 的 Runtime Connection 設定 (proxool)

BIRT(Business Intelligence and Reporting Tools) 這套 Java 的報表套件其實還蠻好用的. 不過報表設計工具只有整合在 Eclipse.
有用過這一套的人大概都知道, 設計完一個報表後會產生一個 .rptdesign 的檔案.
而一般在程式中呼叫此報表檔, 並繫結資料的程式碼大致如下:
IReportRunnable design = this.birtReportEngine.openReportDesign("test_report.rptdesign");
IRunAndRenderTask task = this.birtReportEngine
                .createRunAndRenderTask(design);
// set report parameters
task.setParameterValue("startTime", "2010-09-01");
task.setParameterValue("endTime", "2010-12-01");
// set output format
HTMLRenderOption options = new HTMLRenderOption();
options.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_HTML);
options.setOutputStream(response.getOutputStream());
task.setRenderOption(options);
// run the report
task.run();
task.close();

2011/03/15

[SQL] IP 轉 Number, 與 Number 轉 IP 的 function

分析使用者的 IP 是來自哪個國家/城市, 在觀察網路行為上是很重要的一項數據.
有興趣的人可以到這裡找尋一些 IP 與地理資訊的相關資源.
至於 IP 轉換成數字的公式, 可以在 IP address 的 wiki 找到.

2011/01/27

[XPath][C#] 利用 XPath 的 contains 查詢特定的元素

透過 .Net 處理 XML 時, 有時會想要類似 SQL 裡的 IN (‘a’, b’, 'c’) 的查詢方式.
查一下 w3schools 的 XPath 函式庫, 可以發現一個 function 還蠻符合的:
fn:index-of((item,item,...),searchitem)
只是一套用到程式中, 就會產生以下的 Exception:
Namespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined function.
發生此問題的原因在於 .Net 並未完全支援 XPath 的函式, 有興趣的可以參考這個網址.

2011/01/26

[tool][VBScript] 用來刪除空資料夾的小工具

因為有些程式或 3rd-party 工具會產生一些暫時用的資料夾, 為了管理方便, 會想定時清掉沒資料或是過期的的資料夾. 這個小工具就是為了做這種事而寫的.
以下的程式可以包裝成 .vbs 檔, 然後設定到每日排程去執行.

2010/10/27

[jQuery] 在 jQuery 中處理 single/double quote

在透過 jQuery 設定標籤中的內容時, 有時會遇到內容中已經有單引號(') 或雙引號(") 的問題.
例如: 從資料庫抓出了如下的一段 HTML 碼
<b><font color="#FF0000">This is a test</font></b>
接著透過 jQuery 的 .html() 將該資料設定至指定的一個 <div> 內:
<div id="divMsg"></div>
<script type="text/javascript">
$("#divMsg").html("${msg}");
</script>
此時, 因為原本的 msg 變數中已經有雙引號存在, 所以若實際檢視輸出的 HTML 原始碼, 就會是以下的內容: