妖哥 2008-4-8 20:18
一种获取无符号整数最大值的方法
[color=#008000]//一种获取无符号整数最大值的方法:
[/color][b][color=#000080]procedure[/color][/b] TForm1[color=#0000ff].[/color]Button1Click(Sender: TObject);
[b][color=#000080]var[/color][/b]
[color=#008000]{Delphi 标准的无符号整数类型只有三种}[/color]
num_Byte : Byte;
num_Word : Word;
num_Cardinal : Cardinal;
[color=#008000]{Windows API 中相应的类型就太多了, 下面是随便找了几种}[/color]
api_UCHAR : UCHAR; [color=#008000]{Byte}[/color]
api_LANGID : LANGID; [color=#008000]{Word}[/color]
api_DWORD : DWORD; [color=#008000]{Cardinal}[/color]
api_LongWord : LongWord; [color=#008000]{Cardinal}[/color]
api_UINT : UINT; [color=#008000]{Cardinal}[/color]
api_THandle : THandle; [color=#008000]{Cardinal}[/color]
api_HWND : HWND; [color=#008000]{Cardinal}[/color]
[b][color=#000080]begin[/color][/b]
num_Byte := Byte(-[color=#0000ff]1[/color]); ShowMessage(IntToStr(num_Byte)); [color=#008000]{255}[/color]
num_Word := Word(-[color=#0000ff]1[/color]); ShowMessage(IntToStr(num_Word)); [color=#008000]{65535}[/color]
num_Cardinal := Cardinal(-[color=#0000ff]1[/color]); ShowMessage(IntToStr(num_Cardinal)); [color=#008000]{4294967295}[/color]
api_UCHAR := UCHAR(-[color=#0000ff]1[/color]); ShowMessage(IntToStr(api_UCHAR)); [color=#008000]{255}[/color]
api_LANGID := LANGID(-[color=#0000ff]1[/color]); ShowMessage(IntToStr(api_LANGID)); [color=#008000]{65535}[/color]
api_DWORD := DWORD(-[color=#0000ff]1[/color]); ShowMessage(IntToStr(api_DWORD)); [color=#008000]{4294967295}[/color]
api_LongWord := LongWord(-[color=#0000ff]1[/color]); ShowMessage(IntToStr(api_LongWord)); [color=#008000]{4294967295}[/color]
api_UINT := UINT(-[color=#0000ff]1[/color]); ShowMessage(IntToStr(api_UINT)); [color=#008000]{4294967295}[/color]
api_THandle := THandle(-[color=#0000ff]1[/color]); ShowMessage(IntToStr(api_THandle)); [color=#008000]{4294967295}[/color]
api_HWND := HWND(-[color=#0000ff]1[/color]); ShowMessage(IntToStr(api_HWND)); [color=#008000]{4294967295}[/color]
[b][color=#000080]end[/color][/b];