procedure TMainForm.btnClearClick(Sender: TObject);
var
i: Integer;
begin
for i := 0 to GB2.ControlCount-1 do
if GB2.Controls[i].ClassNameIs('TCheckBox') then
TCheckBox(Gb2.Controls[i]).Checked:=False;
end;
2015-02-11
2015-02-09
動態設定 FastReport frxReport 資料來源
procedure setRepDataSource;
var
DB : TfrxADODatabase;
Query: TfrxADOQuery;
begin
with Main.frxReport1 do begin
DB := TfrxADODatabase(FindObject('ADODatabase1'));
DB.Connected := False;
DB.DatabaseName := DM.ADOC1.ConnectionString;
DB.Connected := True;
Query := TfrxADOQuery(FindObject('ADOQuery1'));
Query.Close;
Query.SQL.Text:=DM.ADODataSet1.CommandText;
Query.Open;
end;
end;
var
DB : TfrxADODatabase;
Query: TfrxADOQuery;
begin
with Main.frxReport1 do begin
DB := TfrxADODatabase(FindObject('ADODatabase1'));
DB.Connected := False;
DB.DatabaseName := DM.ADOC1.ConnectionString;
DB.Connected := True;
Query := TfrxADOQuery(FindObject('ADOQuery1'));
Query.Close;
Query.SQL.Text:=DM.ADODataSet1.CommandText;
Query.Open;
end;
end;
2015-02-07
Delphi MainMenu 字型放大及Menu Checked 提示圖示不見解決方法
Delphi 預設 Menu 字型大小為8,想把它放大為12只要2個步驟即可:
- 在Project Source 中加上 Screen.MenuFont.Size:=12;
- MainMenu -> OwnerDraw -> True
Menu字型放大後,點選MenuItem後若有設Checked屬性,會發現無法正常顯示提示圖示,原先想以ImageList顯示圖示為解決方案,後來發現只要加入ImageList並指定給MainMenu後即可解決這個問題,不必載入Bitmap icon也可正常運作:
- 加入 ImageList
- MainMenu -> Images -> ImageList1
2014-08-27
Indy IdUDPServer/IdUDPClient 接收傳送中文字
透過 Indy 套件的 IdUDPServer / IdUDPClient 收發訊息時,英文基本上一定是沒啥問題,但遇到傳送中文訊息,以Indy的預設編碼傳送後接收顯示為亂碼,很明顯是編碼出了狀況,測試的環境為Win7 + XE4,TextEncoding的功能參數必須 uses IdGlobal 才會正常,最初測試時試了半天找不到正確的參數,只好去 IdGlobal.pas 翻一下,找到這個:
在使用 IdUDPServer / IdUDPClient 收發時,下列兩種方式都可以正常傳送顯示中文,以IdUDPClient為例,IdUDPServer 也適用:
測試環境:
uses IdGlobal;
..............
IdUDPClient1.Send(Edit1.Text, IndyTextEncoding_UTF8);
or
GIdDefaultTextEncoding := encUTF8;
IdUDPClient1.Send(Edit1.Text);
在使用 IdUDPServer / IdUDPClient 收發時,下列兩種方式都可以正常傳送顯示中文,以IdUDPClient為例,IdUDPServer 也適用:
測試環境:
- Windows 7
- Delphi XE4 測試版
uses IdGlobal;
..............
IdUDPClient1.Send(Edit1.Text, IndyTextEncoding_UTF8);
or
GIdDefaultTextEncoding := encUTF8;
IdUDPClient1.Send(Edit1.Text);
2014-06-12
Delphi XE? + dbexpress + sqlite3
這兩天空檔在弄個股票資訊蒐集的小工具當練功,想到要用sqlite來當資料庫,以SimpleDataSet來連接sqlite,但在開發階段Connection enable時老是會跳出"sqlite3.dll not found"的錯誤訊息,而且sqlite3.dll已放置在source code目錄下當然也放在win32/debug和win32/release目錄下,還是會出現一樣的錯誤,不過如果直接以執行檔的方式運行後再連接sqlite就可以,看樣子開發階段應該在某個地方也要放才對。
去問了大神找到這篇,原來這兩個地方也要擺,真的有效。
去問了大神找到這篇,原來這兩個地方也要擺,真的有效。
- 32bit 的sqlite3.dll 通常放在 C:\Windows\SysWOW64
- 64bit 的sqlite3.dll 就放在 C:\Windows\system32
2013-11-06
JSN ImageShow for JOOMLA - 增加 Image Max Size 項目
JSN ImageShow 是 Joomla 上功能強大的圖片或照片播放模組,支援component、module和content plugin三種模式,檔案來源除了本機的目錄外也支援如 Picasa 這類的網路相薄。
在為首頁製作網路相薄播放區塊 + 網路相薄就以 JSN ImageShow + Phoca Gallery + Picasa 的組合來當成解決方案,照片檔經過縮小最佳化後丟在 Picasa 裡,再分別以 JSN ImageShow 和 Phoca Gallery 到 Picasa 讀取同一份相薄即可。
每個模組的設計需求理念不同,像Phoca Gallery 在以幻燈片模式播放照片時是指定在 640 x 480 的解析度在播放,它會自行將照片縮成 640 x 480,而 JSN ImageShow 就不會,而是以預設的 max-width : 1024 為播放標準。問題來了,因為 JSN ImageShow 是放置在首頁上的一個小區塊,只有 326 x 244 的大小,造成無法完整的顯示照片,所以必須讓 JSN ImageShow 可以將照片縮成 max-width 只有 326 來播放。
環境:
在為首頁製作網路相薄播放區塊 + 網路相薄就以 JSN ImageShow + Phoca Gallery + Picasa 的組合來當成解決方案,照片檔經過縮小最佳化後丟在 Picasa 裡,再分別以 JSN ImageShow 和 Phoca Gallery 到 Picasa 讀取同一份相薄即可。
每個模組的設計需求理念不同,像Phoca Gallery 在以幻燈片模式播放照片時是指定在 640 x 480 的解析度在播放,它會自行將照片縮成 640 x 480,而 JSN ImageShow 就不會,而是以預設的 max-width : 1024 為播放標準。問題來了,因為 JSN ImageShow 是放置在首頁上的一個小區塊,只有 326 x 244 的大小,造成無法完整的顯示照片,所以必須讓 JSN ImageShow 可以將照片縮成 max-width 只有 326 來播放。
環境:
- Joomla-2.5.14
- JSN ImageShow Free - 4.6.0
2013-11-03
下載hichannel影片的方法其中之二
去年弄了一篇下載hichannel影片的方法其中之一,今年來弄篇之二,只是有點換湯不換葯啦,換個Browser而已。
環境:
環境:
- Windows 7
- Firefox-25.0
- Net Transport-2.9.3
- 當然是開啟 Firefox 並連到 http://hichannel.hinet.net/ 囉!

- 選定你"心儀"的影片

- 選定點選後也許會看到需安裝外掛的畫面,不過這是好事,這樣我們就不用像之一一樣,要先中斷播放。

- 重點工具來了,請啟用"開發者工具列"。

- 點選右下角那個位置就可以看到工作頁面。

- 啟用"使用滑鼠選取元素"功能,想點左下還是右上皆可。

- 接著點選叫你安裝外掛的提示畫面,如果步驟正確應該會有個白色虛線外框,點選時下面的工具列也會顯示對應的Source Code。

- 接下來的步驟就和之一大同小異了,把反白的URI以 Ctrl + C 複製下來,為什麼用 Ctrl + C,而不用"複製內部HTML"咧?因為這個功能在Firefox-24.0版是正常的,但是到25.0版就掛了,所以..還是用 Ctrl + C吧。

- 把找到的URI整理一下,最好是變成反白的那個樣子,最好把http也換成mms,經過測試mms 的protocol下載是正常的。也許其他下載工具可接受經過urlencode後的URL,那你不換應該也可以。

- 最後就把整理出來的URL,新增下載工作、貼上、確定,給點耐性,如果這些步驟做完沒經過太久,隔一下子應該就會開始有動作了。Net Transport 操作有問題可參閱之一。

- 如果連結失效的話,請再快速的重來一次吧。
P.S.最後還是老話一句,技術要討論教學相長才會進步但請合法使用。
Google App Engine for PHP
一個偶然的機緣下發現這個訊息,找個時間試了一下,透過 Google Developer's Guide 的說明是試出來了,但是還是發生大眼睛看不見小字的習慣,而且人總是健忘的還是記一下吧!
環境:
環境:
- Debian-7.2
- PHP-5.4.4
- Python-2.7.3
- Google App Engine PHP SDK 1.8.3
重點:
- 安裝照著 Developer's Guide 即可
- 記得 php-cli 和 php-cgi 是不一樣的東西,確定有裝 php-cgi ,不然應該會看到這行錯誤
"assert 'Content-Type' in message, 'invalid CGI response: %r' % stdout" - dev_appserver.py 預設是以 localhost 為Server IP,若測試環境Server/Client 是分開的,可以 --host 指定Server IP,如下:
$> google_appengine/dev_appserver.py --host 192.168.13.128 --php_executable_path=/usr/bin/php-cgi helloworld/
標籤:
GAE,
Google App Engine,
Linux,
PHP
2013-10-30
HighPoint RocketRAID 2310 RAID Management/ Inband Service for FreeBSD
年初代管一部ASUS 1U機架式伺服器,原先的管理者不知為何原因沒起動Raid,後來決定將系統重灌成Linux or FreeBSD,Linux中慣用的Debian內建沒RocketRAID-2310的driver,因為懶得再另外弄driver就決定裝FreeBSD。
FreeBSD內建有RocketRAID-2310的drvier,但是沒管理工具可監看raid的即時狀態,RR2310的Bios介面也粉陽春,一樣看不到現在raid的狀態,以至於更換H.D後是否有進行rebuild也不得而知,這部Server更囧了,連H.D讀取燈也沒看到在亮,當然也看不到H.D的故障燈號,還好H.D故障時會叫給你聽就是了。
後來在 HighPoint 官網找到支援FreeBSD的管理工具,安裝後運行正常。
環境:
FreeBSD內建有RocketRAID-2310的drvier,但是沒管理工具可監看raid的即時狀態,RR2310的Bios介面也粉陽春,一樣看不到現在raid的狀態,以至於更換H.D後是否有進行rebuild也不得而知,這部Server更囧了,連H.D讀取燈也沒看到在亮,當然也看不到H.D的故障燈號,還好H.D故障時會叫給你聽就是了。
後來在 HighPoint 官網找到支援FreeBSD的管理工具,安裝後運行正常。
環境:
- FreeBSD-8.3-p12
- HighPoint RocketRAID 2310
- CLI-FreeBSD-3.5-1-100707.tgz
- 到官網下載FreeBSD版本的CLI管理工具程式,下載時版本為v3.5-1,下載後解開可看到4支檔案,安裝可參考README.txt,HPT_CLI_Guide.pdf 為使用說明,其他為安裝檔。

- 安裝完成後啟動服務 /usr/local/etc/rc.d/hptdaemon.sh start,若正常可看到服務起動。

- 服務正常啟動後,執行 hptraidconf ,過程中會要輸入帳號密碼,請參閱HPT_CLI_Guide.pdf。

- 輸入query arrays,顯示目前已建立的raid,可以看到現行各raid的狀態,下圖可看到正在rebuild。

- 輸入query devices,顯示各H.D的狀態。

- rebuild完成,Status會由REBUILDING變成NORMAL。

- 它也有輸出log檔儲存使用及系統記錄,路徑及檔名為 /vat/log/hpt.log。

- 其他指令可在hptraidconf CLI畫面裡 key "help"即可。
2013-10-01
幫DBNavigator功能按鈕新增文字說明
Delphi裡的DBNavigator在資料庫程式中是常用的物件,但是預設只有圖示而沒有文字說明,雖然可以使用Hint,但使用上還有覺得少了些什麼,在網路上找了些資料並試作並把部份重點節錄下來。
環境:Win7 + Delphi XE4 試用版
uses
Vcl.Buttons;
type
TMyNavigator = class(TDBNavigator);
procedure TForm1.FormCreate(Sender: TObject);
const
Captions: array[TNavigateBtn] of string = ('第一筆', '上一筆', '下一筆',
'最後一筆', '插入', '刪除', '編輯', '儲存', '取消', '刷新', '確認更新', '取消更新');
var
btn: TNavigateBtn;
begin
for btn := low(TNavigateBtn) to high(TNavigateBtn) do
with TMyNavigator(DBNavigator1).Buttons[btn] do
begin
Layout:=blGlyphTop;
Caption:=Captions[btn];
end;
end;
成果:
環境:Win7 + Delphi XE4 試用版
uses
Vcl.Buttons;
type
TMyNavigator = class(TDBNavigator);
procedure TForm1.FormCreate(Sender: TObject);
const
Captions: array[TNavigateBtn] of string = ('第一筆', '上一筆', '下一筆',
'最後一筆', '插入', '刪除', '編輯', '儲存', '取消', '刷新', '確認更新', '取消更新');
var
btn: TNavigateBtn;
begin
for btn := low(TNavigateBtn) to high(TNavigateBtn) do
with TMyNavigator(DBNavigator1).Buttons[btn] do
begin
Layout:=blGlyphTop;
Caption:=Captions[btn];
end;
end;
成果:
2013-08-17
hichannel radio 改版中?
[2015/06/08] EzNetRadioU4.40F
前兩天把EzNetRadio開起來想聽聽古典樂,因為午休時想說聽個古典樂助眠是個不錯的選擇,東點西點才發現有些站台失效連不上有些卻正常,卡好更睡不著...
利用放假天測了一下,才發現hichannel的廣播正悄悄在改版中。之前使用Microsoft的技術,使得chrome和firefox的使用者可能無法正常收聽,改版後的chrome和firefox皆可正常收聽。
前兩天把EzNetRadio開起來想聽聽古典樂,因為午休時想說聽個古典樂助眠是個不錯的選擇,東點西點才發現有些站台失效連不上有些卻正常,卡好更睡不著...
利用放假天測了一下,才發現hichannel的廣播正悄悄在改版中。之前使用Microsoft的技術,使得chrome和firefox的使用者可能無法正常收聽,改版後的chrome和firefox皆可正常收聽。
既然EzNetRadio部份的站台無法正常收聽就代表它又得改版了,查了下hichannel的新方法,應該是使用 flowplayer.org 的解決方案。
flowplayer.org 主要是應用在web上的解決方案,EzNetRadio是個AP,要再想想怎麼兜...
標籤:
嗑牙鹹橄欖,
flowplayer,
hichannel
2013-04-26
Joomla 後台管理選單及文章分類排序不動?
Joomla的選單及文章分類可以依管理人員需求進行排序。最近在構思一個新站台,花了1天的時間以舊站的結構弄了個sample site,在結構確定後再來調整,但在後續調整時,發現某個文章分類無法上調的問題。試了半天後把垃圾筒內的文章分類清掉,這個狀況就解除啦!!
2013-04-17
Joomla 2.5.x 文章相關細部欄位
Joomla的文章列表方式主要分成清單和Blog兩種,清單列表只能顯示標題、發佈日期、作者和點擊數等四個欄位,想以標準的Joomla實現"分類"的最新消息,也就是顯示最新消息的子分類,是無法實現的。
後來以[Multicategories]解決分類的問題後,一直沒搞定清單顯示分類的問題,問題是沒找到"分類"的變數到底是category?categories????後來在不經意的狀況下看到了下圖,原來是"category_title",剩的就只是修正程式碼了。
這裡面應該包括了一篇文章所有相關的欄位了吧?我想。
檔案位置:/components/com_content/models/category.php
增加清單列表欄位,檔案位置:/components/com_content/views/category/tmpl/vim default_articles.php
後來以[Multicategories]解決分類的問題後,一直沒搞定清單顯示分類的問題,問題是沒找到"分類"的變數到底是category?categories????後來在不經意的狀況下看到了下圖,原來是"category_title",剩的就只是修正程式碼了。
這裡面應該包括了一篇文章所有相關的欄位了吧?我想。
檔案位置:/components/com_content/models/category.php
增加清單列表欄位,檔案位置:/components/com_content/views/category/tmpl/vim default_articles.php
2013-04-09
Re-Join Physical Disk to VDisk RAID
公司有部 HP2000 G3 iSCSI Storage,上星期其中一顆HD掛點,報修拿到新HD後當然直接插回原來的slot,但是狀況跟一般的Raid不太相同,一般的Raid卡通常會直接進入Rebuild的程序,但是HP2000在測完HD後,HD並沒有一如預期的直接Rebuild,而新HD的狀態只顯示"AVAIL"。
後來在 HP Support Forums 找到下面的程序。
這個程序完成後狀態就變成這樣啦,就等吧!!
後來在 HP Support Forums 找到下面的程序。
這個程序完成後狀態就變成這樣啦,就等吧!!
2013-02-24
以Aptana整備Joomla開發環境
最近發現了個Web程式開發的好工具Aptana,聽說是從Eclipse發展出來的。斷斷續續的使用Joomla這個CMS,雖然Joomla有一狗票extension,但是還是有自己試試看的想法。
Aptana上已整合了Wordpress、Drual的bundle,不過還不支援Joomla,不過網路上已有相關說明囉!
http://www.youtube.com/watch?v=k6bl--auCsY
http://www.youtube.com/watch?v=4HCqomfey34
Aptana上已整合了Wordpress、Drual的bundle,不過還不支援Joomla,不過網路上已有相關說明囉!
http://www.youtube.com/watch?v=k6bl--auCsY
http://www.youtube.com/watch?v=4HCqomfey34
2013-02-11
2012-12-22
hichannel radio 列表
hichannel的網路電台服務應該是目前大家收聽來源的大宗,中華電信也陸續將一些站台加上DRM,今天興起用程式算了一下,當下未加保護的有53台,已保護的有44台。
不過部份的站台是兩者兼具的,例如:BestRadio 高雄港都電台是"RADRM012",其實使用"RA000012"也是可以的,收聽時的連結可以使用mms://bcr.media.hinet.net/RA000012、http://bcr.media.hinet.net/RA000012,以下是當下hichannel的網路電台列表:
Aliyang原住民族網路廣播電台=RADRM032
AppleLine 蘋果線上=RADRM001
ASIAFM 亞太電台=RADRM002
ASIAFM 亞州電台=RADRM003
ASIAFM 衛星音樂台=RADRM004
BestRadio 台中好事=RADRM010
BestRadio 台北好事=RADRM013
BestRadio 花蓮好事=RADRM011
BestRadio 南方之音=RA000044
BestRadio 高雄港都=RADRM012
BravoFM 台北都會音樂台=RA000081
Classical 台中古典音樂台=RADRM041
E-Classical 台北愛樂=RA000018
Flyradio 飛揚調頻=RADRM019
HitFm聯播網 中部=RA000035
HitFm聯播網 北部=RA000036
HitFm聯播網 宜蘭=RADRM065
HitFm聯播網 南部=RA000034
ICRT=RA000038
IC之音=RADRM037
igo 531=RADRM006
KISS RADIO 大眾廣播電台=RA000040
KISS RADIO 網路音樂台=RA000042
needs RADIO=RADRM039
NEWS98新聞網=RADRM073
Nice923 宜蘭生活廣播=RADRM086
POP Radio 台北流行音樂電台=RA000080
RTI央廣 FM=RADRM060
RTI央廣 亞洲頻道=RADRM059
RTI央廣 音樂=RADRM061
RTI央廣 國語=RADRM063
RTI央廣 歐美及方言=RADRM062
uni radio 環宇電台=RADRM020
WowRadio文藻網路音樂台=RADRM078
大千電台=RADRM067
大愛網路電台=RADRM017
大漢之音=RADRM021
中廣流行網 i like=RADRM009
中廣音樂網i radio=RADRM007
中廣新聞網=RADRM008
中廣寶島網=RA000005
太陽電台=RADRM064
古都電台=RADRM085
台灣之聲=RADRM046
正聲大發台=RADRM095
正聲太保台=RADRM093
正聲北港台=RADRM091
正聲台中一台=RADRM088
正聲台中二台=RADRM089
正聲 台北調幅台=RADRM015
正聲 台北調頻台=RADRM016
正聲台東台=RADRM096
正聲宜蘭台=RADRM097
正聲音樂派=RA000098
正聲高雄台=RADRM094
正聲雲林台=RADRM090
正聲嘉義台=RADRM092
全國廣播=RADRM068
全國廣播音樂網=RADRM047
快樂聯播網-台北=RADRM082
快樂聯播網-高雄=RADRM084
快樂聯播網-嘉義=RADRM083
佳音現代聖樂網=RADRM031
佳音經典音樂網=RADRM030
佳音電台=RADRM029
奇美古典音樂網=RADRM014
青春線上=RADRM079
非凡音電台=RADRM071
城市廣播網-台中城市廣播=RADRM028
城市廣播網-台北健康電台=RADRM027
飛碟電台=RA000072
真心之音廣播電台=RADRM033
高屏溪客家廣播電台=RADRM045
崑山科大 EKHO Radio迴音線上=RADRM087
最愛生活頻道=RADRM022
復興廣播電台 第一網=RADRM024
復興廣播電台 第二網=RADRM025
復興廣播電台 短波網=RADRM026
新客家廣播電台=RADRM048
漢聲光華網 中波=RADRM075
漢聲光華網 短波=RADRM077
漢聲廣播電台=RADRM074
漢聲廣播電台 全國調頻網=RADRM076
臺北廣播電臺 都會資訊頻道=RADRM070
臺北廣播電臺 喔海洋頻道=RADRM069
寶島客家廣播電台=RADRM023
寶島新聲廣播電台=RADRM066
寶島聯播網 高雄主人電台=RADRM043
警廣 台中台=RADRM053
警廣 台北台=RADRM050
警廣 台東台=RADRM058
警廣 台南台=RADRM054
警廣 全國交通網=RADRM049
警廣 宜蘭台=RADRM057
警廣 花蓮台=RADRM056
警廣 高雄台=RADRM055
警廣 新竹台=RADRM052
2012-11-11
新發現 - 正聲音樂派
[EzNetRadio] 這兩天才發現收聽某些站台會有些問題,修正完後在測試每個站台的狀況時,發現一個不知是何時出現的站台"正聲音樂派",正聲給我的刻板印象是個有夠老的電台,實際上是不是我想的那樣就不得而知了。
正聲音樂台的性質和KISS RADIO網路音樂台的特性很像,就是一直的播送著音樂,發現這個站台剛好替補了我對KISS RADIO網路音樂台的需求。
正聲音樂台的性質和KISS RADIO網路音樂台的特性很像,就是一直的播送著音樂,發現這個站台剛好替補了我對KISS RADIO網路音樂台的需求。
2012-10-01
VMware vSphere Client 登入 ESXi5 錯誤
工作的地方目前選用VMware ESXi 5做為虛擬化的解決方案,但是第一次裝完vSphere Client登入Server時會產生這個錯誤訊息
解決的方法如下:
完成安裝後就應可正常登入ESXi Server。
2012-09-28
proftpd.conf 設定多行DefaultRoot
參考:
工作文件的交換存放在FTP Server上,並選用ProFTPD,為了調整權限東找西找,找到了上面的文章,可以在proftpd.conf設定多個DefaultRoot,也快速解決我的問題,格式如下:
DefaultRoot 路徑 群組
ex:
DefaultRoot ~ jailed
DefaultRoot ~/../.. othergroup
工作文件的交換存放在FTP Server上,並選用ProFTPD,為了調整權限東找西找,找到了上面的文章,可以在proftpd.conf設定多個DefaultRoot,也快速解決我的問題,格式如下:
DefaultRoot 路徑 群組
ex:
DefaultRoot ~ jailed
DefaultRoot ~/../.. othergroup
訂閱:
文章 (Atom)

















