關于word( ) |
尚未結案
|
donlly
一般會員 發表:45 回覆:73 積分:23 註冊:2004-11-30 發送簡訊給我 |
function getPY(hzchar:string):char;
begin case WORD(hzchar[1]) shl 8 WORD(hzchar[2]) of
$B0A1..$B0C4 : result := 'A';
$B0C5..$B2C0 : result := 'B';
$B2C1..$B4ED : result := 'C';
else
result := char(32);
end; end; 請問 :1.WORD(hzchar[1]) shl 8 WORD(hzchar[2]) 中的WORD( ) 是什么函數,為什么不能直接調用? 2.函數定義是getPY(hzchar:string),但是為什么可以用hzchar[1] 數組? 3.WORD(hzchar[1]) shl 8中的shl 8是什么意思? 謝謝!
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
1) WORD(xxx) is type casting, and I and hzchar[x] is a char (i.e. 1 byte)?
2) hzchar[1] means the 1st character in the string hzchar
3) shl x means shift x bit left BTW, no length checking of hzchar in the function? http://pywong.hk.st http://www.lazybones.ca
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
1. Word 是數字形態。就如同Integer 一般。只不過 Word 為 0..65535
WORD(hzchar[1])
因此這裡強調的是強迫轉型。也就是將Char->Word 。 2.String 字串形態。本身就是 Array of Char 。
因此當然 1..Length(hzchar),就是hzchar的範圍。
hzchar[1] 那麼就表示 取第一個字元(節) 3. Shl 與 shr 作用雷同各為左移及右移。二進制位移。
如:
var
Tmp : Word;
begin
Tmp := 7;
{ 二進制 0111}
Tmp := Tmp shl 1;{Tmp=14}
{ 二進制 1110}
end;
|
donlly
一般會員 發表:45 回覆:73 積分:23 註冊:2004-11-30 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
donlly
一般會員 發表:45 回覆:73 積分:23 註冊:2004-11-30 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
引言:那請問有什么方法可以取得某個變量的type呢? 例如我不知道 xx 是integer還是 string 的情況下,能夠用GetTypeInfo(xx)方法嗎?No, there is no RTTI for ordinal types. http://pywong.hk.st http://www.lazybones.ca |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |