目前日期文章:200507 (8)

瀏覽方式: 標題列表 簡短摘要
我寫了一個字串輸入工具,可以把常用的字串送到大多數的視窗,有不少人好奇這支程式是怎麼寫的。

其實我也是在論壇上面找了很久的資料,也得到不少人的幫助。



抱著回饋的心情,我把我的程式碼貼在論壇,既可做為他人參考資料,也可大家一同討論。詳情請看 :

http://delphi.ktop.com.tw/TOPIC.ASP?TOPIC_ID=64701

裡頭不只講了如何送字串,也說明如何建立自己的 System Tray Icon,以及如何防止程式重複執行。

希望對各位有幫助,也歡迎大家一同研究程式 :)



BTW,Delphi K.Top 是我很常逛的一個論壇,它可說是全台最大,資源最豐富的 Delphi & BCB 論壇, 裡頭臥虎藏龍,高手如雲,幾乎我遇過的問題,在那裡都有解答。

Nelson 發表在 痞客邦 PIXNET 留言(3) 人氣()

http://www.ibe-software.com/products/software/helpndoc/index.php


個人使用免費,沒有功能限制,只是會在產生出來的 help 檔加入一行像這樣的小字 :

"This help file has been generated by the freeware version of HelpNDoc .


所見即所得的幫助檔編輯器,有興趣的可以玩看看 :)


Nelson 發表在 痞客邦 PIXNET 留言(0) 人氣()

http://vapaa.dc.inet.fi/~rainy/index.php?pn=projects&project=rainlendar

Rainlendar 是一款桌面便利貼 + 行事曆,輕巧又好用。

還有繁體中文檔以及面板可以更換,是很棒的軟體。



強力推薦 !!

Nelson 發表在 痞客邦 PIXNET 留言(13) 人氣()

Foto-Mosaik 是個免費的軟體,它能把許多小圖拼湊成一張大圖。

網址在此 : http://www.sixdots.de/mosaik/en/

記得要先安裝 DirectX 9 才可以使用本軟體



不過它似乎有些不太人性化的設定,所以有一點點不好上手,在此我就簡單的做個教學,

只要照著以下圖例一步步操作,應該沒什麼問題才是。

(目前官網上的最新版已修正這個問題了)







按下 Next 之後會看到這個畫面









接著你按下 Next  之後,會發現沒有 database 可以選擇,

沒關係,按右上角的 [X] 關閉程式,再重新執行一次。





按下 Next 之後不用做任何修改 (當然你要修改也是可以),

再繼續按 Next ,一直到下面這個畫面。





按下 Next 之後會看到以下的畫面





你可以選擇多組 database 來組成一張圖,

選好之後按下 Next.





再來就耐心等待啦~

好了之後會出現以下的畫面。







就這樣啦 :)

Nelson 發表在 痞客邦 PIXNET 留言(19) 人氣()

http://delphi.ktop.com.tw/topic.asp?topic_id=18760

http://delphi.ktop.com.tw/topic.asp?topic_id=35223




做法有很多,這裡提出兩種都很實用。


Nelson 發表在 痞客邦 PIXNET 留言(1) 人氣()

詳情請看  http://delphi.ktop.com.tw/topic.asp?method=AnswerOK&topic_id=75071


// 這是產生 Form 的 code

TfmMsgEditor *fmMsgEditor = new TfmMsgEditor(Application);

fmMsgEditor->Caption = IntToStr(MDIChildCount);

fmMsgEditor->OnClose = this->ChildFrmClose;  // 為新視窗指定關閉函式

TabControl1->Tabs->AddObject(IntToStr(MDIChildCount), fmMsgEditor);

TabControl1->TabIndex = TabControl1->Tabs->Count-1;





// 關閉視窗的函式
void __fastcall TfmMain::ChildFrmClose(TObject *Sender, TCloseAction &Action)
{
for(int i = 0; i < TabControl1->Tabs->Count; ++i)
{
if (TabControl1->Tabs->Objects[i] == Sender)
{
TabControl1->Tabs->Delete(i);
TabControl1->Refresh();
}
}
Action = caFree;
}





// Tab 切換的函式
void __fastcall TfmMain::TabControl1Change(TObject *Sender)
{
AnsiString s = TabControl1->Tabs->Objects[TabControl1->TabIndex]->ClassName();
// 若有多種不同的 MDI Child Form, 就可以這樣判斷
if (s == "TfmMsgEditor")
{
TfmMsgEditor *Child = dynamic_cast(TabControl1->Tabs->Objects[TabControl1->TabIndex]);
Child->BringToFront();
}
else if (s == "TfmEnumEditor")
{
TfmEnumEditor *Child = dynamic_cast(TabControl1->Tabs->Objects[TabControl1->TabIndex]);
Child->BringToFront();
}
}





// 這是在 Child Form 的 OnActivate 事件裡的 code, 這樣點選視窗時,Tab 也能跟著切換了
for (int i = 0; i < fmMain->TabControl1->Tabs->Count; ++i)
{
if (fmMain->TabControl1->Tabs->Strings[i] == Caption)
{
fmMain->TabControl1->TabIndex = i;
}
}

 




目前還有一個小缺點,就是在切換 Tab 的時候,

會有閃一下的現象產生,不知是否有方法可以避免呢?


Nelson 發表在 痞客邦 PIXNET 留言(2) 人氣()

1. 好友留言 與 大量刪除留言

2. 網誌鎖右鍵

3. RSS 全面開放 (讓我再也不用檢查是否有新回應或新留言了)

4. 誤刪網誌文章,七日內可救回

5. 相簿排序



個人最喜歡刪留言與 RSS 的新功能 :p

Nelson 發表在 痞客邦 PIXNET 留言(0) 人氣()

透過以下的程式碼,可以在程式一執行時就決定是否要出現在底下的工作列,

也可以在執行期間,透過一個 CheckBox 動態決定它是否要出現在工作列。




/*

* 以下是在啟動時決定是否要出現在下方的工作列:

*/

Nelson 發表在 痞客邦 PIXNET 留言(0) 人氣()