目前分類:RUN!PC (133)

瀏覽方式: 標題列表 簡短摘要
這期有Windows Script Host 下集,然後有介紹 Windows API 與類別圖。
文章標籤

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

製作不閃爍動畫:先介紹 PaintPicture,然後改用 BitBlt ,這樣雖然畫圖片夠快了,但還是不夠。接著再介紹用兩個 DC 來畫,首先用 CreateCompatibleDC 與 CreateCompatibleBitmap 建立 memory DC與memory bitmap,之後要畫的時候,再用 BitBlt 複製回表單的 DC,這樣就會快許多,然後背景繼續去畫另外一張。

文章標籤

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

又再次看到MTS,突然想到Microsoft為什麼要把Transaction拉到系統層級?現在 Linux 上常見的 php/python/ruby...等Web框架也有transaction,存取資料庫時已經利用資料庫的transacton語法處理了,但好像都沒有拉到系統層級來處理。這是為什麼呢?

附上 python django 裡的 transaction 連結:Managing database transactions
文章標籤

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

IIS 4.0 那時就有 MTS 了說...

這期有篇文章是講NT備份的,講的挺仔細,而且都是利用原本NT就有提供的指令來做,相當不錯。基本上就是利用 at、schedular service、ntbackup 等來組合,然後執行命令的身份要注意,不要用到沒辦法讀取所有檔案權限的身份...
文章標籤

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

CRC卡片上的資訊總共分為三大類:Class、Responsibility、Collaborator。文章內有介紹CRC卡的遊戲,就找小組成員到會議室,然後開始針對scenario去討論scenario的流程、參與者等等,並且去填CRC卡片,最後就會知道該分類出哪些類別與流程。
文章標籤

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

scriptlet 可以用vbscript/jscript來建立activex 物件,理念很好,實際上需要註冊才能使用,小麻煩,所以後來沒有很盛行。

OCL主要是用來說明物件模型中一些類別屬性與操作的限制條件,或是在時序模型、互助模型中有關條件的敘述,簡單說就是用來描述物件的屬性、容器操作以及限制等等。

Fancy軟體撰寫守則Part 1:
  1. 技巧1-套用程式設定字型:用TControl.SetDesktopFont,系統變更字型時,會送WM_SETTINGCHANGE或WM_WININICHANGE訊息給每個視窗。
  2. 技巧2-自行選擇程式顯示字型:用TFontDialog與TFont
  3. 技巧3-動態安裝及卸除程式專屬的字型:AddFontResource與RemoveFontResource
  4. 技巧4-駐留工作列:TrayIcon與Shell_NotifyIcon。
文章標籤

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

這期的目錄裝訂錯誤,現在寄去可以退嗎? (笑)

這期開始介紹 Excel 的 VBA,除了可以操作儲存格,也可以弄出表單讓使用者輸入,很強大。後來的式微是因為 VBA macro 病毒的肆虐才慢慢不流行,畢竟大家都怕了。

三個好用的 c++ 小程式:都是用C++ builder做的。
  1. 程式開始就最小化,這個sample是利用 timer,在 form 出來後一個短暫的時間後最小化。
  2. 鬧鐘,一樣也是利用 timer 來作,並且去註冊 AutoRun,在開機時自動啟動,啟動時,會最小化到 system tray。
  3. 畫出非方形的視窗, 先使用 CreatePolyPolygonRgn 去建立多邊形,再用SetWindowRgn去設定視窗有效區域,這部份要在FormShow的時候完成,並且在 FormResize、FormClose 時都要處理。


咦? Message Queue 在 IIS 4.0 的時代就有了喔?! 我還以為是 2000 以後才有的功能。

Fancy軟體撰寫守則 Part 2:使用c++ builder
  1. 技巧5-撰寫隱形的程式:程式啟動時不要讓視窗出現,這邊是在建立form之前,去設定Application.ShowMainForm為false,並且用 ShowWindow(Application.Handle,SW_HIDE/SW_SHOW) 即可。
  2. 技巧6-暫時停用螢幕保護程式:主要去處理WM_SYSCOMMAND,在收到此事件時,去判斷 cmdtype ,在cmdtype為SC_SCREENSAVE 時,作處理。使用這個,只有在程式為前景時才有效。如果在背景,得使用 SystemParametersInfo 搭配 PI_GETSCREENSAVEACTIVE 與 SPI_SETSCREENSAVEACTIVE 來控制。
  3. 技巧7-檔案類型與程式關聯:這裡先 hack registry 告訴你主要的鍵值,後面的程式就是去存取 registry 來完成。之後的某期,賴榮樞有介紹比較正式的方法。



文章標籤

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

火昌華這期開始介紹Design Pattern,那時候應該就要認真看的,其實不難,不知道為什麼那時候會忽視然後跳過沒仔細看。

WSH 介紹檔案、資料夾的操作。

Fancy軟體撰寫守則 Part 3:這裡介紹的主要是C++ Builder的VCL,不過套用到一般Windows/.Net程式,大致原理差不多。
  • 技巧8-Shell links(讓使用者可以自行新增程式捷徑):主要要實作 IShellLink 介面。
  • 技巧9-Prevent Multiple Instance(同時間只執行一個的程式):第一個範例是用FindWindow 來避免重複 CreateWindow,這會受限於很多程式的Form Title可能都用TForm1而有麻煩。第二個則改用 Project Title 並改用 EnumWindows 來處理。
  • 技巧10-Drag and Drop in shell space(桌面物件的拖曳):先用DragAcceptFiles設定可收檔案,之後當使用者拖拉檔案到Window上放開時,window會收到WM_DROPFILES訊息,並得到 drop handle,這裡就可以根據 drop handle 去呼叫 DragQueryXXXX 等函式,以取得資訊並處理。
  • 技巧11-Form size and position(視窗位置大小的記憶):這裡是在開關Form時,去存取registry的值
  • 技巧12-系統關機時刻:當關閉視窗時,被觸發的事件依序為 FormCloseQuery、FormClose、FormDestroy。當關機或登出時,則是FormCloseQuery、FormDestroy,FormClose被忽視了。這裡的解法是在收到 WM_ENDSESSION 時去做清理工作,而不在FormClose時做。
  • 技巧13-Contact with author(e-mail回覆):就利用ShellExecute去open "mailto:someone@somewhere.com" ,就結了。

文章標籤

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

bookmarklet 這時候就有了喔?! 我還以為是 05 年 ajax 開始盛行時才有的~
文章標籤

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

function template:文章最後講到一個重點,我以前沒想到的。就是separation編譯模型,假定 module2.h 宣告了你的 template function,module2.cpp 裡則使用 export 來修飾你的 template function,以告知編譯器要保證當template function被實體化時,template的定義是可以使用的。簡單說就是沒有使用 export 的話,可能會有無法連結到某指定型別的 template function 的情況。描述的很差,表示我可能還不太懂,要找時間來試驗一下。



文章標籤

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

Module簡介:介紹了module的原理以及2.2時該怎麼寫module。為什麼 linux module 裡可以直接使用 printk...等核心裡提供的函數呢?原來就是因為 linux Makefile 偷偷幫我們在 module 裡埋了一個假 function,並且重 define了,這部份可以參考產生出來的 .ver,裏面就有寫這部份。那要提供給別人或核心使用的,就是用 EXPORT_SYMBOL 來選擇要 export 出去的變數或函數。這個有空可以來 trace 看看。這邊先剪下好了。

Windows NT的 2E中斷介紹:基本上就是 NT Kernel 提供的常式中斷,API 有些其實就直接呼叫中斷來處理。

文章標籤

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

Excel 2000 VBA在Internet/Intranet上的應用:製作超連結可以用hyperlink函數,並可以將工作表另存新檔為html。也可以執行Web查詢從外部網頁取得資訊。
文章標籤

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

Windows Shell的基底技術:
  • 關閉作業系統:ExitWindowsEx()
  • 處理安裝程式所加入的資訊:FindFirstChangeNotification()、FindNextChangeNotification()、FindCloseChangeNotification()可以監看某目錄是否有更動。
  • 處理捷徑:ShellExecute()執行捷徑或有在關聯表中登錄的檔案,IShellLink
  • system tray:Shell_NotifyIcon()、SendMessage()
在Windows 9x下可以改system.ini裡的[boot]shell=來更動shell,Windows NT 3.5以後,可以改 HKLM/Software/Microsoft/WinNT/CurrentVersion/WinLogin/shell。

增益集開發技術:可以直接在Office裡開發,新增以後,專案會implement IExtensibility2介面,並且註冊。有要用到word、excel等,要設定引用。AddinInstance_OnConnection()就是在新增增益集時要做的事情,AddinInstance_OnDisconnection()就是移除時要做的事情。文章裡是增加選單項目跟按鈕,並且選擇時,就跳出一個Form。後續設計Form就比較不難了。

文章標籤

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

探訪動態連結函式庫:這篇介紹的很仔細,從 dll的結構到怎麼建立以及編譯器...等等的,都有介紹到,直接剪下不囉唆。

Linux 的 VFS:這塊到 2.6 不知道改變有多少,也是直接剪下。
文章標籤

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

2000年前後很流行Palm~

製作Web圖表:這裡介紹的是Office 2000 Web元件。

dcache:主要是架在 inode 之上,扮演類似 cache 的角色。這篇挖的很仔細,只是不知道 2.6 還有沒有用這個?先剪下來當參考。
文章標籤

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

MMC Console 有兩種 mode:Author mode、User mode。Author mode可以更改 MMC console內容,User mode則有所限制。

Assertion:介紹 C/C++ 的Assertion,介紹的很好。我是在看了如何撰寫0錯誤程式才知道assert怎麼用的。

Delphi + Word = 報表:就利用 Word 有提供出來的 COM 介面來做。
文章標籤

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

PC診所在2000年底時,與雜誌封面一同改版,並改名為華陀問診。

那時候都沒注意到,PowerBuilder在2000年前後,真的還蠻紅的。

XSL 是轉換 XML 的語言。

WSH 除了 .vbs、.js 以外,還有 .wsf、.wsh。.wsf 是 xml 格式,其實就是程式碼以 xml 型式呈現,然後增加了 job、script、package、object、reference 這些 tag,並且也允許混合使用語言。這些 tag 大大的擴充了原本 .vbs、.js 沒有的功能。

COM+:說到這種大型的元件基礎技術,現在比較不盛行了,像Google、Facebook等大網站也都沒有使用,我想應該是跟速度有很大的關係吧...

文章標籤

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

WSH:可以送key (WshShell.SendKeys)、把應用程式叫到前景(WshShell.AppActivate)、接標準輸出入(StdIn/StdOut)、
文章標籤

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

XML Spy:一個不錯的 XML 編輯工具。

Event service: Subscriber 實作 Event 介面,然後跟 Publisher 說,我要收你的事件,並且把自己傳過去,Publisher 在有事件時,就可以把訊息主動推給 Subscriber。大致上就這樣子,只是把這些東西都搬到COM+裏面去。

文章標籤

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

介紹 sendmail 的架設,裏面有提到 m4,這個有時間要來看看。

Kerberos 是一套認証的協定,使用對稱式加密法(傳統加密法)提供client與server相互認証的功能。client/server 握有一樣的鑰匙,要發送訊息時,就先加密,並且發送出去,拿到時,再以同樣的鑰匙解密。可以參考 RFC 1510。

用VB製作文字檔瀏覽程式:主要使用FileSystemObject物件來存取檔案,並以TextBox來顯示。

Iterators與Traits:traits應該是一個型別推導的過程,藉著partial specialization對某些型別來特製化,讓compiler能在編譯時期就能讓泛型使用到最佳的型別。

文章標籤

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