2007年3月28日 星期三

使用聯結

參考網址:http://msdn2.microsoft.com/zh-tw/library/ms191472.aspx

內部聯結 (此為典型的聯結作業,使用一些比較運算子,例如 = 或 <>)。這些聯結包含等聯結 (Equi-Join) 與自然聯結 (Natural Join)。
內部聯結將根據兩個資料表中的相同資料行數值,使用比較運算子來比對兩個資料表的資料列。例如,擷取出 students 與 courses 資料表中學生識別號碼相同的所有資料列。

外部聯結。外部聯結可以是左方外部聯結、右方外部聯結或完整外部聯結。
當外部聯結指定於 FROM 子句中時,它們可使用下列關鍵字集合之一來加以指定:

LEFT JOIN 或 LEFT OUTER JOIN
左方外部聯結的結果集包含 LEFT OUTER 子句中指定之左方資料表的所有資料列,而非只是聯結資料行符合的資料列。當左方資料表沒有和右方資料表符合的資料列時,關聯的結果集資料列會包含右方資料表所有選取清單資料行的 Null 值。

RIGHT JOIN 或 RIGHT OUTER JOIN
右方外部聯結是左方外部聯結的反向。會傳回右方資料表的所有資料列。當右方資料表沒有和左方資料表符合的資料列時,左方資料表會傳回 Null 值。

FULL JOIN 或 FULL OUTER JOIN
完整外部聯結會傳回同時在左方和右方資料表的所有資料列。只要沒有和另一個資料表符合的資料列時,另一個資料表的選取清單資料行會包含 Null 值。當兩個資料表之間有符合的資料列,整個結果集資料列就會包含基底資料表的資料值。

交叉聯結
交叉聯結會從左方資料表傳回所有資料列。來自左方資料表的每個資料列會與來自右方資料表的所有資料列組合。交叉聯結也稱為笛卡兒乘積 (Cartesian Product)。

2007年3月23日 星期五

net 指令的用法

下面是 NET 命令的基本用法

綜合了WINDOWS 98,WINDOWS WORKSTATION和WINDOWS SERVER 三個作業系統關於NET命令的解釋


先說一些:
(1)NET命令是一個命令行命令。
(2)管理網路環境、服務、用戶、登陸。。。。等本地資訊
(3)WIN 98,WIN WORKSTATION和WIN NT都內置了NET命令。
(4)但WIN 98的NET命令和WORKSTATION、NT的NET命令不同。
(5)WORKSTATION和SERVER中的NET命令基本相同。
(6)獲得HELP
  (1)在NT下可以用圖形的方式,開始-》幫助-》索引-》輸入NET
  (2)在COMMAND下可以用字元方式,NET /?或NET或NET HELP得到一些方法
相應的方法的幫助NETCOMMAND /HELP或NET HELP COMMAND 或NET COMMAND /?
另對於錯誤NET HELPMSG MESSAGE#是4位元數
(7)強制參數 所有net命令接受選項/yes和/no(可縮寫?/y和/n)。[簡單的說就是預先給系統的 提問一個答案]


下面對NET命令的不同參數的基本用法做一些初步的介紹:

(1)NET VIEW
作 用:顯示域列表、電腦列表或指定電腦的共用資源列表。
命令格式:net view [\\computername /domain[:domainname]]
參數介紹:
  (1)鍵入不帶參數的net view顯示當前域的電腦列表。
  (2)\\computername 指定要查看其共用資源的電腦。
  (3)/domain[:domainname]指定要查看其可用電腦的域。
簡單事例:
  (1)net view \\YFANG查看YFANG的共用資源列表。
  (2)net view /domainOVE查看LOVE域中的機器列表。

(2)NET USER
作 用:添加或更改用戶帳號或顯示用戶帳號資訊。該命令也可以寫? net users。
命令格式:net user [username [password *] [options]] [/domain]
參數介紹:
  (1)鍵入不帶參數的net user查看電腦上的用戶帳號列表。
  (2)username添加、刪除、更改或查看用戶帳號名。
  (3)password?用戶帳號分配或更改密碼。
  (4)*提示輸入密碼。
  (5)/domain在電腦主域的主網域控制器中執行操作。
簡單事例:
  (1)net user yfang查看用戶YFANG的資訊

(3)NET USE
作 用:連接電腦或斷開電腦與共用資源的連接,或顯示電腦的連接資訊。
命令格式:net use [devicename *] [\\computername\sharename[\volume]] [password *]]
[/user:[domainname\]username] [[/delete] [/persistent:{yes no}]]
參數介紹:
  鍵入不帶參數的net use列出網路連接。
  devicename指定要連接到的資源名稱或要斷開的設備名稱。
  \\computername\sharename伺服器及共用資源的名稱。
  password訪問共用資源的密碼。
  *提示鍵入密碼。
  /user指定進行連接的另外一個用戶。
  domainname指定另一個域。
  username指定登錄的用戶名。
  /home將用戶連接到其宿主目錄。
  /delete取消指定網路連接。
  /persistent控制永久網路連接的使用。
簡單事例:
  (1)net use e: \\YFANG\TEMP將\\YFANG\TEMP目錄建立?E盤
  (2)net use e: \\YFANG\TEMP /delete斷開連接

(4)NET TIME
作 用:使電腦的時鐘與另一台電腦或域的時間同步。
命令格式:net time [\\computername /domain[:name]] [/set]
參數介紹:
  (1)\\computername要檢查或同步的伺服器名。
  (2)/domain[:name]指定要與其時間同步的域。
  (3)/set使本電腦時鐘與指定電腦或域的時鐘同步。
下面的這4個參數是相關的,所以一起介紹

(5)Net Start
作 用:?動服務,或顯示已?動服務的列表。
命令格式:net start service

(6)Net Pause
作 用:暫停正在運行的服務。
命令格式:net pause service

(7)Net Continue
作 用:重新啟動挂起的服務。
命令格式:net continue service   

(8)NET STOP
作 用:停止 Windows NT 網路服務。
命令格式:net stop service
參數介紹:我們來看看這些服務都是什?
  (1)alerter(警報)
  (2)client service for netware(Netware 用戶端服務)
  (3)clipbook server(剪貼簿伺服器)
  (4)computer browser(電腦瀏覽器)
  (5)directory replicator(目錄複製器)
  (6)ftp publishing service (ftp )(ftp 發行服務)
  (7)lpdsvc
  (8)net logon(網路登錄)
  (9)network dde(網路 dde)
  (10)network dde dsdm(網路 dde dsdm)
  (11)network monitor agent(網路監控代理)
  (12)nt lm security support provider(NT LM 安全性支援提供)
  (13)ole(物件鏈結與嵌入)
  (14)remote access connection manager(遠端存取連接管理器)
  (15)remote access isnsap service(遠端存取 isnsap 服務)
  (16)remote access server(遠端存取伺服器)
  (17)remote procedure call (rpc) locator(遠端程序呼叫定位器)
  (18)remote procedure call (rpc) service(遠端程序呼叫服務)
  (19)schedule(調度)
  (20)server(伺服器)
  (21)simple tcp/ip services(簡單 TCP/IP 服務)
  (22)snmp
  (23)spooler(幕後列印程式)
  (24)tcp/ip netbios helper(TCP/IP NETBIOS 輔助工具)
  (25)ups
  (26)workstation(工作站)
  (27)messenger(信使)
  (28)dhcp client
  (29)eventlog 以下這些SERVICE只能在NT SERVER上使用
    (1)file server for macintosh
    (2)gateway service for netware
    (3)microsoft dhcp server
    (4)print server for macintosh
    (5)remoteboot
    (6)windows internet name service

(9)Net Statistics
作 用:顯示本地工作站或伺服器服務的統計記錄。
命令格式:net statistics [workstation server]
參數介紹:
  (1)鍵入不帶參數的net statistics列出其統計資訊可用的運行服務。
  (2)workstation顯示本地工作站服務的統計資訊。
  (3)server顯示本端伺服器服務的統計資訊。
簡單事例:
  (1)net statistics server more顯示伺服器服務的統計資訊

(10)Net Share
作 用:創建、刪除或顯示共用資源。
命令格式:net share sharename=drive:path [/users:number /unlimited] [/remark:"text"]
參數介紹:
  (1)鍵入不帶參數的net share顯示本地電腦上所有共用資源的資訊。
  (2)sharename是共用資源的網路名稱。
  (3)drive:path指定共用目錄的絕對路徑。
  (4)/users:number設置可同時訪問共用資源的最大用戶數。
  (5)/unlimited不限制同時訪問共用資源的用戶數。
  (6)/remark:"text "添加關於資源的注釋,注釋文字用引號引住。
簡單事例:
  (1)net share mylove=c:\temp /remark:"my first share"以mylove?共用名稱共用C:\temp
  (2)net share mylove /delete停止共用mylove目錄

(11)Net Session
作 用:列出或斷開本地電腦和與之連接的用戶端的會話,也可以寫?net sessions或net sess。
命令格式:net session [\\computername] [/delete]
參數介紹:
  (1)鍵入不帶參數的net session顯示所有與本地電腦的會話的資訊。
  (2)\\computername標識要列出或斷開會話的電腦。
  (3)/delete結束與\\computername電腦會話並關閉本次會話期間電腦的所有? 蚩?募??
簡單事例:
  (1)net session \\YFANG要顯示電腦名?YFANG的用戶端會話資訊列表。

(12)Net Send
作 用:向網路的其他用戶、電腦或通信名發送消息。
命令格式:net send {name * /domain[:name] /users} message
參數介紹:
  (1)name要接收發送消息的用戶名、電腦名或通信名。
  (2)*將消息發送到組中所有名稱。
  (3)/domain[:name]將消息發送到電腦域中的所有名稱。
  (4)/users將消息發送到與伺服器連接的所有用戶。
  (5)message作?消息發送的文本。
簡單事例:
  (1)net send /users server will shutdown in 5 minutes.給所有連接到伺服器的用戶發送消息

(13)Net Print
作 用:顯示或控制列印作業及列印佇列。
命令格式:net print [\\computername ] job# [/hold /release /delete]
參數介紹:
  (1)computername共用印表機佇列的電腦名。
  (2)sharename列印佇列名稱。
  (3)job#在印表機佇列中分配給列印作業的標識號。
  (4)/hold使用 job# 時,在印表機佇列中使列印作業等待。
  (5)/release釋放保留的列印作業。
  (6)/delete從印表機佇列中刪除列印作業。
簡單事例:
  (1)net print \\YFANG\SEEME列出\\YFANG電腦上SEEME印表機佇列的目錄

(14)Net Name
作 用:添加或刪除消息名(有時也稱別名),或顯示電腦接收消息的名稱列表。
命令格式:net name [name [/add /delete]]
參數介紹:
  (1)鍵入不帶參數的net name列出當前使用的名稱。
  (2)name指定接收消息的名稱。
  (3)/add將名稱添加到電腦中。
  (4)/delete從電腦中刪除名稱。

(15)Net Localgroup
作 用:添加、顯示或更改本地組。
命令格式:net localgroup groupname {/add [/comment:"text "] /delete} [/domain]
參數介紹:
  (1)鍵入不帶參數的net localgroup顯示伺服器名稱和電腦的本地組名稱。
  (2)groupname要添加、擴充或刪除的本地組名稱。
  (3)/comment: "text "?新建或現有組添加注釋。
  (4)/domain在當前域的主網域控制器中執行操作,否則僅在本地電腦上執行操作?
  (5)name [ ...]列出要添加到本地組或從本地組中刪除的一個或多個用戶名或組名。
  (6)/add將全局組名或用戶名添加到本地組中。
  (7)/delete從本地組中刪除組名或用戶名。
簡單事例:
  (1)net localgroup love /add將名?love的本地組添加到本地用戶帳號資料庫
  (2)net localgroup love顯示love本地組中的用戶

(16)Net Group
作 用:在 Windows NT Server 域中添加、顯示或更改全局組。
命令格式:net group groupname {/add [/comment:"text "] /delete} [/domain]
參數介紹:
  (1)鍵入不帶參數的net group顯示伺服器名稱及伺服器的組名稱。
  (2)groupname要添加、擴展或刪除的組。
  (3)/comment:"text "?新建組或現有組添加注釋。
  (4)/domain在當前域的主網域控制器中執行該操作,否則在本地電腦上執行操作? ?
  (5)username[ ...]列表顯示要添加到組或從組中刪除的一個或多個用戶。
  (6)/add添加組或在組中添加用戶名。
  (7)/delete刪除組或從組中刪除用戶名。
簡單事例:
  (1)net group love yfang1 yfang2 /add將現有用戶帳號yfang1和yfang2添加到本地電腦的love組

(17)Net File
作 用:顯示某伺服器上所有打開的共用檔案名及鎖定文件數。
命令格式:net file [id [/close]]
參數介紹:
  (1)鍵入不帶參數的net file獲得伺服器上打開文件的列表。
  (2)id文件標識號。
  (3)/close關閉打開的文件並釋放鎖定記錄。

(18)Net Config
作 用:顯示當前運行的可配置服務,或顯示並更改某項服務的設置。
命令格式:net config [service [options]]
參數介紹:
  (1)鍵入不帶參數的net config顯示可配置服務的列表。
  (2)service通過net config命令進行配置的服務(server或workstation)
  (3)options服務的特定選項。

(19)Net Computer
作 用:從域資料庫中添加或刪除電腦。
命令格式:net computer \\computername {/add /del}
參數介紹:
  (1)\\computername指定要添加到域或從域中刪除的電腦。
  (2)/add將指定電腦添加到域。
  (3)/del將指定電腦從域中刪除。
簡單事例:
  (1)net computer \\cc /add將電腦 cc 添加到登錄域

(20)Net Accounts
作 用:更新用戶帳號資料庫、更改密碼及所有帳號的登錄要求。
命令格式:net accounts [/forcelogoff:{minutes no}] [/minpwlen:length] [/maxpwage:{days unlimited}]
[/minpwage:days] [/uniquepw:number] [/domain]
參數介紹:
  (1)鍵入不帶參數的net accounts顯示當前密碼設置、登錄時限及域資訊。
  (2)/forcelogoff:{minutes no}設置當用戶帳號或有效登錄時間過期時
  (3)/minpwlen:length設置用戶帳號密碼的最少字元數。
  (4)/maxpwage:{days unlimited}設置用戶帳號密碼有效的最大天數。
  (5)/minpwage:days設置用戶必須保持原密碼的最小天數。
  (6)/uniquepw:number要求用戶更改密碼時,必須在經過number次後才能重復使用 與之相同的密碼。
  (7)/domain在當前域的主網域控制器上執行該操作。
  (8)/sync當用於主網域控制器時,該命令使域中所有備份網域控制器同步
簡單事例:
  (1)net accounts /minpwlen:7將用戶帳號密碼的最少字元數設置?7

---------------------- 上面介紹的是NET命令在WINNT下的基本用法 ----------------------

---------------------- 下面我們看看NET命令在WIN98下的基本用法 ----------------------

在WIN98中NET命令也有一些參數的名字和功能及簡單的使用方法和WINNT下的相應的參數的用法相同
其中有
  (1)NET TIME命令
  (2)NET PRINT命令
  (3)NET USE命令
  (4)NET VIEW命令

在WIN98中NET命令有一些參數的名字和WINNT下的相應的參數的名字相同,但其用法卻有些不同
其中有

(1)NET START
作 用:?動相應的服務。(不能在DOS-WIN中用)
命令格式:NET START [BASIC NWREDIR WORKSTATION NETBIND NETBEUI NWLINK]
[/LIST] [/YES] [/VERBOSE]

(2)NET STOP
作 用:停止相應的服務.(不能在DOS-WIN中用)
命令格式:NET STOP [BASIC NWREDIR WORKSTATION NETBEUI NWLINK] [/YES]
在WIN98中NET命令還有一些參數是在98下才有的
其中有

(3)NET DIAG
作 用:運行MS的DIAGNOSTICS程式顯示網路的DIAGNOSTIC資訊
命令格式:NET DIAGNOSTICS [/NAMES /STATUS]

(4)NET INIT
作 用:不通過綁定來載入協定或網卡驅動(不能在DOS-WIN中用)
命令格式:NET INITIALIZE [/DYNAMIC]

(5)NET LOGOFF
作 用:斷開連接的共用資源(不能在DOS-WIN中用) (

(6)NET LOGON
作 用:在WORKGROUP中登陸(不能在DOS-WIN中用)
命令格式:NET LOGON [user [password ?]] [/DOMAIN:name] [/YES] [/SAVEPW:NO]

(7)NET PASSWORD
作 用:更改你的網路登陸口令(不能在DOS-WIN中用)
命令格式:NET PASSWORD \\computer /DOMAIN:name [user [oldpassword [newpassword]]]

apache內建的壓力測試軟體

轉貼自http://www.twbb.org/viewthread.php?tid=8158
APACHE專用的壓力測試工具


在阿帕契服務器的套件中,有一個叫做 ab (ApacheBench) 的工具。ApacheBench 主要是用來測試阿帕契服務器執行效率用的,我們就以 ApacheBench 做為 CGI vs. FastCGI 的評比工具。

ApacheBench 可以針對某個特定的 URL 仿真出連續的聯機請求,同時還可以仿真出同時間點數個相同的聯機請求,因此利用 ApacheBench 可幫助我們在網站開發期間仿真實際上線可能的情況,利用仿真出來的數據做為調整服務器設定或程序的依據。 ApacheBench 的用法如下:

Usage: /usr/local/apache/bin/ab [options] [http://]hostname[:port]/path
Options are:
-n requests Number of requests to perform
-c concurrency Number of multiple requests to make
-t timelimit Seconds to max. wait for responses
-p postfile File containg data to POST
-T content-type Content-type header for POSTing
-v verbosity How much troubleshooting info to print
-w Print out results in HTML tables
-x attributes String to insert as table attributes
-y attributes String to insert as tr attributes
-z attributes String to insert as td or th attributes
-V Print version number and exit
-k Use HTTP KeepAlive feature
-h Display usage information (this message)

假設我們要對 echo.fcg 做測試,仿真 1000 次的聯機請求,而且同一時間有 20 個並行的 (concurrent) 聯機請求的情況,只要在命令列模式下執行

$ ab -n 1000 -c 20 http://localhost/fcgi-bin/echo.fcg
稍等一會,ApacheBench 會把結果秀出來,

This is ApacheBench, Version 1.3
Copyright © 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright © 1998-1999 The Apache Group, http://www.apache.org/

Benchmarking localhost (be patient)... Server Software: Apache/1.3.6
Server Hostname: localhost
Server Port: 80
Document Path: /fcgi-bin/echo.fcg
Document Length: 995 bytes
Concurrency Level: 20
Time taken for tests: 6.859 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 1142000 bytes
HTML transferred: 995000 bytes
Requests per second: 145.79
Transfer rate: 166.50 kb/s received

Connnection Times (ms)
min avg max

Connect: 0 4 61
Processing: 62 128 771
Total: 62 132 832

以上結果指出,在同時間 20 個聯機請求 (Concurrency Level) 的情況下,完成 1000 次的聯機請求,共花了 6.859 秒 (Time taken for tests),因此這個程序每秒平均可以處理 (Requests per second) 145.79 個聯機請求。
在接下來的評比測試中,我們就以每秒可以處理的聯機請求數目來做為效能評比的依據。

=====================================================================


在linux rpm安裝的話ab是在/usr/bin/ab
如果是在win32的話裝appserv路徑大約是這樣C:\AppServ\Apache2.2\bin\ab.exe

關於IIS上跑php效能測試--很值得參考

本文由 台灣深藍vBulletin技術論壇站長 ckmarkhsu 撰寫,歡迎轉載唯轉載請保留全文與出處

http://www.twvbb.com/vbb/thread/30/1077/

===========================================================

這份心得能夠成文,過程可說是血跡斑斑


首先我們討論 WebServer

在這篇文章中 http://www.twvbb.com/vbb/thread/30/290/ 我提到Win 平台下 apache 版本的選用

根據測試,Apache2.0.x 的效能顯然遠勝於 Apache1.4.x (至少是 3 倍)

但若您的論壇(以下均以 vBulletin 3.5 為例)每十五分鐘達 200 人以上同時在線

您便會發現 Apache 會不時的 Crash(崩潰),CPU 資源使用 99%,且無法自己重新啟動

這點困擾我非常久,敝人有個 400~500 人同時在線的論壇,每日 Crash 三四次,實讓我不勝其擾

起先我認為是 PHP 的記憶體溢位或者是 APC 相關軟體的問題,但更換或關閉後均無改善

在歷時一個月的測試與評估後,技術管理群一致認為

引用:
Apache 於 WinNT 平台在未知的原因下會導致記憶體致命的錯誤(這只是猜測)


但如果不用 Apache 那該怎麼辦呢? 我們考慮過了雷電 HTTP,IIS6。

最後考慮到與 WinNT 系統間最佳化與穩定度,我們決定採用了 IIS

經過目前一段時間測試,事實證明,IIS6 異常的穩定,所謂的異常,就是超乎我們預期

至於效能,我想這也是一個非常重要的考量

根據不嚴謹的測試(以下均將 MySQL 獨立於其他主機)

引用:
雷電HTTPD + ispai-PHP4 效能 = 100% (未安裝 Zend Optimizer)
Apache2.0.x + Apache2-PHP4 效能 = 100% (安裝 Zend Optimizer)
IIS6 + ispai-PHP4 效能 = 120% (安裝 Zend Optimizer)


簡言之,雷電的效能約和 Apache2.0.x 相當,但 IIS6 效能約是他們的 1.2 倍

最後我們又測試了 Zend 與 Microsfot 合作開發的 ZendCore 套件

(相關新聞可以參考 http://www.goodman-lai.idv.tw/2006/1...cgiphpiis.html)

以下又是不嚴謹的測試

引用:
IIS6 + ispai-PHP4 效能 = 100% (安裝 Zend Optimizer)
IIS6 + fcgi-PHP5.2RC6-Win 效能 = 125% (安裝 ZendCore2 for Win)


以目前測試版來說,IIS6 + ZendCore2 效能約是 IIS6+isapi-PHP4 的 1.25 倍

一般認為,IIS6 配合 ISAPI 效能遠高於 FCGI,但如果未來 ZendCore2 for Win 推出後恐可扭轉這個事實


IIS6 與 MySQL 平均 CPU 使用率

(以下是以 vBulletin 3.5 為例,若其他 CMS 應該 WebServer 的負載不會這麼高)

約是 IIS6 90% CPU 使用量, MySQL 10% CPU 使用量

Windows 版本之選擇

依據長期的測試經驗

Windows9x 系列根本不適合當作伺服器系統(這不用多做解釋吧)

而 WinXP 系列雖然使用 NT5.1 核心,但其記憶體管理與網路架構效率仍相當糟糕

使用 Apache2.0.x 架設時會有嚴重的 session 數瓶頸,且其 IIS 具有 10 個 session 的限制

因此我較推薦的是 Win2003 系列,不但在記憶體管理和網路架構上有較高效率,且 IIS6 一有較好的穩定度

後記

最後來一個不嚴謹的參考數據

WebServer
Core2 E6300 + Win2003
IIS6 + isapi-PHP4.4 + ZendOptimizer3 + vBulletin 3.5

約可以負載到 800 人順暢瀏覽,其他論壇系統(phpBB2, DZ) 應該高於此值

至於有人會問為什麼不改用 FreeBSD 或是 Linux 呢? 當然是有不得已的苦衷啦^^"


感謝 台灣某大FTP站長與台灣深藍學生聯合論壇技術管理員 petercpg 友情幫忙

以上文章由 台灣深藍vBulletin技術論壇 站長 ckmarkhsu 撰寫

vista匯入outlook express 6

vista的mail軟體改成叫做windows mail
可以把原本XP的outlook express匯入

檔案→匯入→郵件

從這邊就可以從*.DBX 檔匯入之前的MAIL資料

vista變更開始功能表像電源開關的功能

控制台→(系統及維護→)電源選項→變更計畫設定→變更進階電源設定→『開始』功能表電源按鈕

2007年3月22日 星期四

packed record 與 record 的差別!

宣告記錄型態(record),預設的編譯方式會將各欄佔用的記憶體長度以方便CPU存取的方式向word或double-word佔用空間大小對齊,以得到較佳的存取速度。
如果宣告時使用packed record,則按照實際各欄佔用空間配置,但存取速度較差。

例如:
沒有特別調整 complier 的 alignment 時:
type
TTest = record
x: integer; // 4 bytes
y: char; // 1 byte, 但實際上會是占 4 bytes
end;


你可以做一個簡單的測試, sizeof(TTest) 會等於 8

但如果加上 packed 時, 則 complier 不做 alignment,
這時就會是你真正定義的長度了:

type
TTest = packed record
x: integer; // 4 bytes
y: char; // 1 byte, 實際上也會是占 1 byte
end;


跑出來的結果, sizeof(TTest) 會等於 5

一般是不需 packed, 但如果需要這樣的應用 (如與dll接軌, 硬體控制),
就可能需要使用..

參考: http://delphi.ktop.com.tw/board.php?cid=30&fid=70&tid=34381

2007年3月20日 星期二

Vista的telnet指令

vista預設是沒有telnet的指令的
開啟方式
控制台→(程式集→)程式和功能→開啟或關閉Windoes功能→把『Telnet用戶端』打勾確定就可以了

vista-從系統還原爭取硬碟空間

轉貼自http://big5.sedu.org.cn/gate/big5/expl.cpst.net.cn/esoft/2006_12/166606461.html



通常我們最好使用這種方法,只清理還原點,不終止系統還原。

  1.點擊開始,所有程式,附件,系統工具,磁片清理。

  2.在對話方塊中選擇“此電腦上所有用戶的文件”。

  3.UAP如果跳出,則點擊“繼續”。

  4.它會讓你選擇掃描哪個磁片,挑選一個Windows Vista安裝磁片然後點確定。

  5.磁片清理程式會掃描磁片並給出一個列表。

  6.點擊“更多操作”選項卡。

  7.在“系統還原”中,點擊“清理...”按鈕。

  8.被問到“是否刪除所有的還原點?”時,點擊“刪除”。

  9.關閉磁片清理窗口。

  看一下Windows磁片佔用,肯定會有驚喜。

  如果實在對Windows Vista系統還原失去信心,想要斬草除根的話,可以這麼做。

  1.點擊開始, 右擊“我的電腦”,“屬性”。

  2.選擇“高級系統設置”。

  3.UAP如果跳出,則點擊“繼續”。

  4.在系統屬性窗口裏,點擊系統保護選項卡。

  5.在“可用的磁片”中,去掉已有的鉤選。

  6.當被問到“是否要關閉系統還原?”, 點擊"關閉系統還原"。

  7.點擊確定關閉系統屬性窗口。

  8.關閉“系統”窗口。

  雖然很簡單,和XP相倣,但Vista的操作比起XP還是有一些不同。系統還原可能是按照比例來計算還原空間的,因此在小硬盤上不會出現文章開頭30GB的磁片老虎現象。

  注: 本文只是介紹一種方法,但是筆者不推薦大家關閉系統還原,事實上Vista的系統還原比XP有了較大改進。

2007年3月19日 星期一

網路抽獎小技巧分享--蠻值得參考

剛看到的…覺得不錯!

在參加網路抽獎的時候,我們常常都會想要幫自己的兄弟姐妹、親戚朋友也一起參加。
但是如果沒有一些小技巧的話,常常都要重複玩抽獎遊戲,相當的麻煩。

例如這個抽獎活動: 桂冠湯圓 - 吃出好運道 ,就是要破關了才能填寫資料,
如果我有10個好朋友,難道就要填寫10次資料嗎?? 當然不是!!
以下是幫眾多親朋好友參加抽獎的小技巧:
1. 先連到遊戲的網址

2. 將這個小遊戲破關,下面是破關後的畫面,可以注意看到網址變成了http://event.jtmedia.com.tw/laurel0304/03.asp

3. 點選IE瀏覽器上方的「檔案」--> 「新增」-->「視窗(w)」,就可以重複開啟過關後的畫面。
如果有10個親朋好友要參加,就新增10個視窗去填寫資料

4. 大功告成。建議可以將這個抽獎加入到luckydog網站的追蹤清單,方便以後後續的管理。
要將抽獎加入追蹤清單,只要先登入會員,並點選這個活動的抽獎文章前面的「追蹤」兩個字就可以啦!!

----------------------------------------------第二篇----------------------------------
有一種網路抽獎是網友票選。
通常這類型的抽獎,主辦單位都會規定一天只能投票一次。最近的抽獎活動像是宇達電通、自由求職網、達人出菜等都是這類型的活動。

但是如此一來就造成很大的不便:每天都要連到活動網頁,找到自己想要投票的目標之後,才能投票。如果只是想投一票的話可能還好,但像口天吳站長常常都要替親朋好友、兄弟姐妹投票,常常都要填個10幾20幾人的資料 (其實也是為了提高中獎機率 啦^^),就會覺得很累。
因此口天吳站長參加這類型抽獎時,常常會把投票的html檔案儲存在自己電腦裡,而且還把不同親朋好友的投票html檔案都各做一份,所以只要打開這個html,就可以快速投票啦!!
偷偷的告訴你,之前口天吳站長曾經用這個小技巧贏得一些投票的活動哩!!
以下就是詳細的操作步驟,以宇達電通 - Honey妳要去哪!? 抽獎活動為例:
1. 連到活動網頁 http://www.jtmedia.com.tw/h610/index.htm
2. 選擇要投票的餐廳照片, 例如 http://www.jtmedia.com.tw/h610/vote.asp?R=38

3. 在IE瀏覽器的工具列上,按「檔案(F)」-->「 另存新檔(A)」 --> 在跳出來的對話盒選擇存檔類型為「網頁, 僅HTML(*.htm; *.html)」,檔名取為「vote」-->按「確定」鈕

4. 接下來要就是重點啦! 我們現在要編輯這個vote.html的內容,讓這個檔案的所有「待填的空白欄位」都自動填好資料:
4-1. 先用你喜愛的編輯器打開剛才儲存的檔案 vote.html (wooogog站長習慣使用UltraEdit,因此以UltraEdit為例,但是用記事本編輯也ok)
4-2. 改變header,在標記後加入一行:

4-3. 在UltraEdit(或記事本)裡,按下「Ctrl+F」,尋找關鍵字:「input」。
4-4.一直重複尋找「input」,並把下列部分都改掉:

<input type="text" name="mem_name">改成
<input type="text" name="mem_name" value="[姓名]">
[姓名] 請自行輸入成自己的姓名.

<input type="text" name="mem_mail" >改成
<input type="text" name="mem_mail" value="[email]">
[email] 請自行輸入成自己的email.

4-5. 大功告成,別忘了儲存檔案喔!
5. 直接開啟vote.html檔案,就會看到裡面已經填好資料了 ,以後每天只要直接開這個檔案投票就行囉!!

2007年3月18日 星期日

QuickReport在XP中自訂中一刀報表!

新增一個紙張格式
控制台->印表機和傳真->選擇印表機->檔案(F)->伺服器內容->格式->建立新格式打勾->格式名稱為"中一刀"->選好紙張大小(注意用英制高度5.5英寸)->儲存格式

將預設印表機的紙張設為"中一刀"
控制台->印表機和傳真->在預設打勾的印表按滑鼠右鍵->列印喜好設定(T)->紙張格式->進階->紙張大小->選"中一刀"->確定

進入程式將QuickReport的Paper Size設定為Custom