dllee 站務副站長
    

發表:315
回覆:2470
積分:1695
註冊:2002-04-15
發送簡訊給我
|
 |
|
總算是告一個段落,可以 Release 了
■ StatPlus 系統資源監測器 v0.0.8 2003-02-16 by dllee
StatPlus 是一個小程式,可以即時監測系統的 CPU 使用率、實體/虛擬記憶體使用率、 電池狀態、系統時間等等資料,並且可以自定熱鍵,以快速啟動程式。 0.0.7 版已修改成可自定選項,包含是否顯示電池狀態,TrayIcon 顯示資訊、字型、顏色, 啟動時就最上層顯示、透明化,選項文字改由 INI 讀取,可以自行完成多國語言化, 各項內定的設定也可以由 REG 設定(請參考 StatPlus.reg 設定說明),同時也將自動 釋放記憶體的功能加入。
您可以在 HKEY_CURRENT_USER\Software\StatPlus 下自定熱鍵, 如下:
--------------------------------------------------DEMO Setting Begin----- REGEDIT4
[HKEY_CURRENT_USER\Software\StatPlus] "F2"="**ShowTrigger**" "F3"="**OnTopTrigger**" "F9"="**ScreenSave**" "F10"="explorer.exe" "F11"="regedit.exe" "F12"="calc.exe"
--------------------------------------------------DEMO Setting End-------
StatPlus 會向 Windows 註冊 Win + Fn 作為以上定義的熱鍵。 例如:上述的設定中,按下 Win + F2 則會切換顯示 StatPlus 的視窗; 按下 Win + F12 則會執行計算機。
■ 目前 StatPlus 內定指令集(用於熱鍵定義)
**Show** 顯示 StatPlus 資料視窗。
**Hide** 隱藏 StatPlus 資料視窗。
**Trigger** (**ShowTrigger**, **ShowTrig**) 切換顯示 StatPlus 資料視窗。
**OnTop** 將 StatPlus 資料視窗設為最上層顯示。
**NotOnTop** 取消 StatPlus 資料視窗設為最上層顯示。
**OnTopTrigger** (**OnTopTrig**) 切換 StatPlus 資料視窗最上層顯示設定。
**ShowHotkeys**" (**ShowHotkey**) 顯示目前的熱鍵。
**ScreenSave** 立即進入螢幕保護程式。
**FreeMem**64 要求系統空出 64 MB 可用的記憶體,其中的 64 可以是任何數字(只要您的記憶體夠大!)
**FreeMoreMem**16 要求系統再多空出 16 MB 的記憶體,其中的 16 可以是任何數字(只要您的記憶體夠大!)
■ StatPlus.reg 設定說明
[HKEY_CURRENT_USER\Software\StatPlus]
;; Setting HotKeys Win+Fn
;; can be an application or a StatPlus Command:
;; **Show**
;; **Hide**
;; **Trigger** (**ShowTrigger**, **ShowTrig**)
;; **OnTop**
;; **NotOnTop**
;; **OnTopTrigger** (**OnTopTrig**)
;; **ShowHotkeys**" (**ShowHotkey**)
;; **ScreenSave**
;; **FreeMem**Size
;; **FreeMoreMem**Size
"WinF2"="**ShowTrigger**"
"WinF3"="**OnTopTrigger**"
"WinF4"=""
"WinF5"=""
"WinF6"="**ShowHotKeys**"
"WinF7"="**ScreenSave**"
"WinF8"="**FreeMoreMem**8"
"WinF9"="**FreeMem**64"
"WinF10"="explorer.exe"
"WinF11"="regedit.exe"
"WinF12"="calc.exe"
;; Set If always Fade when startup
"Fade"="1"
;; Set If always OnTop when startup
"OnTop"="0"
;; Set If always ShowBatteryInformation when startup
"EnableBatteryInfo"="1"
;; Set If always AutoFreeMemory when startup
"AutoFree"="1"
;; Set AutoFree Interval
;; 1 : 1 min
;; 2 : 5 min
;; 3 : 10 min
"AutoFreeTimeIndex"="3"
;; Set AutoFree MemorySize
;; 1 : AutoFree 16MB Memory, when Available Physical Memory is less than 16MB
;; 2 : AutoFree 32MB Memory, when Available Physical Memory is less than 32MB
;; 3 : AutoFree 64MB Memory, when Available Physical Memory is less than 64MB
;; 4 : AutoFree 128MB Memory, when Available Physical Memory is less than 128MB
;; 5 : AutoFreeMore 4MB Memory, StatPlus will not care the size of Available Physical Memory
;; 6 : AutoFreeMore 8MB Memory, StatPlus will not care the size of Available Physical Memory
;; 7 : AutoFreeMore 16MB Memory, StatPlus will not care the size of Available Physical Memory
"AutoFreeMBIndex"="3"
;; Set TrayIcon Information
;; 1 : CPU Usage
;; 2 : Available Physical Memory in MB
;; 3 : Battery Usage
"TrayIconIndex"="2"
;; Setting TrayIcon Font , Size and its Color
;; Size1 is for the information number between 0 to 9
;; Size2 is for the information number between 10 to 99
;; Size3 is for the information number between 100 to 999
;; Size4 is for the percentage of freeing memory between 0 to 100
"IconFont"="MS Serif"
"IconFontSize1"="13"
"IconFontSize2"="11"
"IconFontSize3"="9"
"IconFontSize4"="9"
"IconColor"="0x800000"
;; Set If using CustomDateTimeString
;; if 0, StatPlus will show ChineseBIG5 code for DateTime, like "二月 8 日(六) 10:30"
"EnableCustomDateTimeString"="0"
;; CustomDateTimeString use the format of the Delphi/BCB DateTimeFormat
"CustomDateTimeString"="mm-dd hh:nn"
;; This table is from Borland.BCB5 OnLineHelp for your reference when setting CustomDateTimeString
;; Specifier Displays
;; ========= ================================================================================
;; c Displays the date using the format given by the ShortDateFormat global
;; variable, followed by the time using the format given by the
;; LongTimeFormat global variable. The time is not displayed if the
;; fractional part of the DateTime value is zero.
;; d Displays the day as a number without a leading zero (1-31).
;; dd Displays the day as a number with a leading zero (01-31).
;; ddd Displays the day as an abbreviation (Sun-Sat) using the strings given
;; by the ShortDayNames global variable.
;; dddd Displays the day as a full name (Sunday-Saturday) using the strings
;; given by the LongDayNames global variable.
;; ddddd Displays the date using the format given by the ShortDateFormat global variable.
;; dddddd Displays the date using the format given by the LongDateFormat global variable.
;; m Displays the month as a number without a leading zero (1-12).
;; If the m specifier immediately follows an h or hh specifier,
;; the minute rather than the month is displayed.
;; mm Displays the month as a number with a leading zero (01-12).
;; If the mm specifier immediately follows an h or hh specifier,
;; the minute rather than the month is displayed.
;; mmm Displays the month as an abbreviation (Jan-Dec) using the strings
;; given by the ShortMonthNames global variable.
;; mmmm Displays the month as a full name (January-December) using the strings
;; given by the LongMonthNames global variable.
;; yy Displays the year as a two-digit number (00-99).
;; yyyy Displays the year as a four-digit number (0000-9999).
;; h Displays the hour without a leading zero (0-23).
;; hh Displays the hour with a leading zero (00-23).
;; n Displays the minute without a leading zero (0-59).
;; nn Displays the minute with a leading zero (00-59).
;; s Displays the second without a leading zero (0-59).
;; ss Displays the second with a leading zero (00-59).
;; t Displays the time using the format given by the ShortTimeFormat global variable.
;; tt Displays the time using the format given by the LongTimeFormat global variable.
;; am/pm Uses the 12-hour clock for the preceding h or hh specifier, and
;; displays 'am' for any hour before noon, and 'pm' for any hour after noon.
;; The am/pm specifier can use lower, upper, or mixed case, and the result
;; is displayed accordingly.
;; a/p Uses the 12-hour clock for the preceding h or hh specifier, and
;; displays 'a' for any hour before noon, and 'p' for any hour after noon.
;; The a/p specifier can use lower, upper, or mixed case, and the result is
;; displayed accordingly.
;; ampm Uses the 12-hour clock for the preceding h or hh specifier, and displays
;; the contents of the TimeAMString global variable for any hour before noon,
;; and the contents of the TimePMString global variable for any hour after noon.
;; / Displays the date separator character given by the DateSeparator global variable.
;; : Displays the time separator character given by the TimeSeparator global variable.
;; 'xx'/"xx" Characters enclosed in single or double quotes are displayed as is, and do not
;; affect formatting.
;; ========= ================================================================================
■ 謝誌
本程式的內容主要是由 geOShell 的 geOStatPlus Plugin 模組 修改而來,因筆者已用慣了 geOShell ,但因更換電腦,暫時無法使用 geOShell,只好用 BCB 改寫一個,並將之前在 geOShell 中最常用到的功能都加入,如:顯示日期時間及熱鍵的功能。 在 Delphi.KTop 發現如何釋放記憶體的方法,這個功能在使 geOShell 時,就很想加入 geOStatPlus 模組中,但因為時間不允許,就一直擱著。這次使用 BCB 改寫時,就一併加入。
■ 未來可能改版方向 @ 找個方法或位置顯示選單中的 Hint。 @ 每個 Status Bar 可以自定顏色或是自定圖檔。 @ 作個小小的快捷列。(將 geOShell 的 geOLaunch 模組的功能也加入) @ 如同 geOShell 中的 geOBar ,可以鎖定 StatPlus 在視窗中的相對位置。 @ 還有什麼功能是您想要的呢?請您來信吧 dllee@edirect168.com
筆者認為以 BCB 寫「小」程式是無法與 VC 比小的,用 VC 寫「小」程式,真的可以檔案小 占用記憶體也小,而 StatPlus 是用 BCB 寫的,已經儘可能的小了,但還是有點大,所以囉, 想要的功能就儘量給她加上去吧,這樣就不會覺得浪費!
■ 改版歷史
@ 0.0.8 2003-02-16 * 可以不顯示虛擬記憶體資訊。 * 修正在 Windows 98 因使用了 2K/XP 才提供的透明化功能時,所造成的錯誤。 在 Windows 98/Me 下將不會有 Fade 的選單。
@ 0.0.7 2003-02-08 first public release * 內部訊息字串也可由語言 INI 設定。 * 可以自定日期時間顯示格式,使用 Delphi/BCB 的日期時間格式。 * 可以不顯示電池資訊。 * 加入自動釋放記憶體的功能。 * 加入 **FreeMem**Size 及 **FreeMoreMem**Size 指定。 * 當 StatPlus 視窗被移到螢幕範圍之外時,會自動移回範圍內。 * 自動記憶 StatPlus 最後顯示的位置。 @ 0.0.6 2003-02-08 * 加入選單語言 INI 的功能。 * 完成 Save/Reload 各項設定。 * 可以在 TrayIcon 中顯示 CPU/MEM/Bat 的資訊。之前的版本只能顯示 CPU 資訊。 * 實作出 TrayIcon 字型/顏色。 * 修正 AutoRun 的判斷。 * 所有參數改中 REG 中讀入,並且可在 Reload 時重新設定所有參數。 * 加入釋放記憶體的功能。
@ 0.0.5 2003-01-13 * 當電池放電時,如果電池能提供還有多久電池耗盡的資訊,則會以 "分:秒" 顯示在電池資訊上。 * 加入 **FadeTrigger** (**FadeTrig**) 指令。 * 當 Show 切換時,會將 StatPlus 移到最上層。
@ 0.0.4 2003-01-04 * 新增透明化的功能。
@ 0.0.3 2003-01-04 * 以自定字串完成日期中 (星期) 的部分。
@ 0.0.2 2003-01-03 * 修正 HotKey 的問題。
@ 0.0.1 2003-01-02 * 最初版本,HotKey 還無法使用,顯示日期無法如預期(主要是星期X的部分)
沒空更新的網頁...
http://coolsite.to/dllee C及指標教學,計算機概論,資訊管理導論...
http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell....
發表人 - dllee 於 2003/02/16 10:59:42
發表人 - dllee 於 2003/02/16 11:02:55 |
|
------ http://blog.yam.com/dllee/
|
dllee 站務副站長
    

發表:315
回覆:2470
積分:1695
註冊:2002-04-15
發送簡訊給我
|
 |
|
真的是對不起,因工作的關係,從上週上傳完之後,就一直無法再上網或 Check Email 了,又因一時的大意,原本應該只要上傳最後的版本就好,結果卻把我自己所有的備份都傳上來了(上週是用 modem 上傳的,傳了近一個小時  )。
這個程式是用 BCB5 在筆記型電腦 WinXP HomeEd 上開發的。在沒有裝 BCB 的電腦上應該可以執行才對。只是,就如 axsoft 所說,目前的版本在透明的處理上並沒有對 Win98/Me 作另外的處理,又我目前只有使用 WinXP 所以在其他 Windows 及沒有電池的系統執行起來會有什麼問題,我完全無法預知... 只有對天使及使用 98 的網友說聲 sorry 了,如果您可以 compile BCB 的話,把設定透明的部分 remark 起來應該就沒問題了。
等下一個版本我會把 2K/XP 與其他的作業系統分開處理。
目前的版本已有作業系統的判斷,因為在 CPU 使用率上,就有因 98 或 NT 系統而以不同的方法取得 CPU 使用率。
沒空更新的網頁...
http://coolsite.to/dllee C及指標教學,計算機概論,資訊管理導論...
http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell.... |
|
------ http://blog.yam.com/dllee/
|
dllee 站務副站長
    

發表:315
回覆:2470
積分:1695
註冊:2002-04-15
發送簡訊給我
|
 |
|
引言:
dllee版主 是Analog Device fixed point DSP 晶片的 先拜
可否讓大家 多了解一下這 神秘的東西 哈哈
哈哈 實在市不了解所以詢問看看
*********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好
Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together!
希望能大家敞開心胸,將知識寶庫結合一起
其實,這也不是什麼神秘的東西,只是用的人少而已。在國內大部分使用 DSP(Digital Signal Processor) 的大部分都是使用 TI 的 DSP,因為 TI 的 support 比較好,常有促銷或是比賽的活動,對於校園也提供較多的 support 及 discount。
我是從大四下開始玩 DSP,當時的 TI DSP 的 C 語言效能很差,而其組合語言很難看懂,那時學校教授找到 Analog Device 的 DSP ,它的 C 語言一樣效能不好,但是其組合語言與較高階的語言相似,例如,以下的 Delay 函式:
{----------------------------------------------------------------------------}
{ IDELAY.DSP Delay Routine ( in number of program-cycle ) }
{ }
{ Feb.18,1998 Version 0.1 by : Lee Dong-Liang }
{----------------------------------------------------------------------------}
{ Sub-routine : idelay }
{ }
{ Calling Papameters : AR = delay # of program-cycle }
{ AY1 = 2 }
{ }
{ Return Values : None }
{ }
{ Altered Registers : SR0,SR1, AF }
{ }
{ Computation Time : AR cycles (for AR >=4 and AR is even) }
{ AR-1 cycles (for AR >=4 and AR is odd) }
{ 3 cycles (for AR < 4 ) }
{----------------------------------------------------------------------------}
.MODULE instruction_delay;
.ENTRY idelay;
idelay:
SR = LSHIFT AR BY -1 (LO); AF = SR0 - AY1; IF LE RTS; delay_decrease_by_1: AF = AF - 1; IF NE JUMP delay_decrease_by_1; RTS;
.ENDMOD;
我想即使您沒有寫過,太概也可以看得懂吧。(應該吧 )
另外,在 DSP 中比較在意的邏輯(加減法)運算比較器(ALU)與乘加器(MAC)要能在同一個運算週期同時執行,在 Analog Device DSP 中的寫法如下:
MR=MR-AR*MY0(UU), MY0=AY0; { 餘 = 被除 - 除*商 }
處理器會將等號右邊的暫存器同時讀出,在處理後,同時寫回等號左邊。
如果使用 TI 要寫出類似功能的組語,可能就不太容易了。
當然 TI 也不是省油的燈,TI 開始加強它的 C Compile ,但是效能還是不好,不過,可以藉由提高處理器的時脈來解決問題。大部分 TI DSP 的使用者應該都是用 C/C++ 在開發吧。
我們則是主要使用組語開發,以 Fixed Point DSP 發展馬達控制器、噪音抑制器、溫控器、全數位三相電表、數位監控 SCR 驅動器、無人搬運車、微電鍍控制器、、;以 Floating Point DSP 發展影像處理器、等等。當然,這些都是實驗室作的,沒有量產 
目前公司接軟體的案子人力已不太夠了,所以,這些武功等於是還沒有用到
沒空更新的網頁...
http://coolsite.to/dllee C及指標教學,計算機概論,資訊管理導論...
http://coolsite.to/ushells 介紹Shells,LiteStep,GeoShell.... |
|
------ http://blog.yam.com/dllee/
|
alen64347 一般會員


發表:0
回覆:1
積分:0
註冊:2004-07-21
發送簡訊給我
|
 |
|
程式寫的很好,讓人家光看介紹就一定要下傳試試!!
加油!
|
|
|
|