全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1035
推到 Plurk!
推到 Facebook!

請指教「如何判斷電腦執行的Windows版本」之技巧

尚未結案
Akqj1098
一般會員


發表:14
回覆:60
積分:14
註冊:2002-05-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-11 10:35:28 IP:211.23.xxx.xxx 未訂閱
在拜讀過天使大人的大作 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=18235 後,在驚嘆之餘,想請教程式中的技巧 文中, OrdHigh := (OSVersion.dwBuildNumber shr 24) and $FF; OrdLow := (OSVersion.dwBuildNumber shr 16) and $FF; 天使大人已提醒 「and 就是數學的邏輯AND運算 $是代表十六進位 and $ff 就是用256取餘數」 依然存在的疑問是: 1.這裡做「AND」的作用為何?(為何是用256取餘數呢?ff 是256?255?) 2.為何您會『想到』要用AND呢? 謝謝您的指教
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-11 18:12:59 IP:203.67.xxx.xxx 未訂閱
表示
16進制  10進制  8進制  2進制
 F    = 15    = 17   = 1111
--------------------------------------------
邏輯
    1100
AND 1010
    ----
    1000
-----------------------
    1100
OR  1010
    ----
    1110
-----------------------
    1100
XOR 1010
    ----
    0110
-----------------------
範例
1234 and $FF = 210;
圖示
    10011010010
AND 00011111111(255以上都為0了,所以只能求255以下的值)
-----------------
    00011010010 = 210    學而時習之不亦樂乎!
發表人 - jest0024 於 2004/05/11 18:16:56
Akqj1098
一般會員


發表:14
回覆:60
積分:14
註冊:2002-05-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-12 09:52:52 IP:211.23.xxx.xxx 未訂閱
引言:
表示
16進制  10進制  8進制  2進制
 F    = 15    = 17   = 1111
範例
1234 and $FF = 210;
圖示
    10011010010
AND 00011111111(255以上都為0了,所以只能求255以下的值)
-----------------
    00011010010 = 210    學而時習之不亦樂乎!
發表人 - jest0024 於 2004/05/11 18:16:56
謝謝您 作AND的動作我會 但,作AND的目的為何? 還是沒有參透.....
Sei
一般會員


發表:22
回覆:38
積分:17
註冊:2002-05-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-12 16:24:46 IP:61.30.xxx.xxx 未訂閱
今天一整天都在拜讀這個網站的資料http://www.jazarsoft.com/codebook/index.php http://www.jazarsoft.com/codebook/view.php?id=24
 
Uses
  Windows;    function IsWin2000 : Boolean;
var
  OS :TOSVersionInfo;
begin
  ZeroMemory(@OS,SizeOf(OS));
  OS.dwOSVersionInfoSize:=SizeOf(OS);
  GetVersionEx(OS);
  Result:=(OS.dwMajorVersion>=5) and
   (OS.dwPlatformId=VER_PLATFORM_WIN32_NT);
end;
這篇判斷系統裡的用ZeroMemory,和站長的這段一樣嗎?
 
  OrdHigh := (OSVersion.dwBuildNumber shr 24) and $FF; 
  OrdLow := (OSVersion.dwBuildNumber shr 16) and $FF;
發表人 - Sei 於 2004/05/12 16:26:51
系統時間:2024-05-22 9:31:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!