文档章节

关于 Lo、Hi、LoWord、HiWord

涂孟超
 涂孟超
发布于 2014/09/26 15:36
字数 352
阅读 12
收藏 0
点赞 0
评论 0
Cardinal 是 4 字节无符号的整型, 先看一个例数:

Cardinal 例数: 4277991664
按字节划分: 第四字节 第三字节 第二字节 第一字节
二进制: 11111110 11111100 11111000 11110000
十六进制: FE FC F8 F0
十进制: 254 252 248 240
按双字节划分: 高两位 低两位
二进制: 1111111011111100 1111100011110000
十六进制: FEFC F8F0
十进制: 65276 63728

//可以用 Lo 函数提取它的低字节(也就是第一个字节)
const
  c: Cardinal = 4277991664;
begin
  ShowMessageFmt('%d', [Lo(c)]); {240}
end;

 
 
 
 
 

 

 

  
//其实不使用 Lo 函数, 通过 Byte 类型转换也可以获取第一个字节 const c: Cardinal = 4277991664; begin ShowMessageFmt('%d', [Byte(c)]); {240} end;
//Hi 函数说是获取高位字节, 其实是获取第二个字节 const c: Cardinal = 4277991664; begin ShowMessageFmt('%d', [Hi(c)]); {248} end;
//如果要获取低两位, 貌似应该有个 LoWord 函数; 确实有, 但它不是函数, 只是 Word 类型的一个别称. const c: Cardinal = 4277991664; begin ShowMessageFmt('%d', [LoWord(c)]); {63728} ShowMessageFmt('%d', [Word(c)]); {63728} end;
//HiWord 函数是提取高两位的 const c: Cardinal = 4277991664; begin ShowMessageFmt('%d', [HiWord(c)]); {65276} end;
说说 LoWord 和 HiWord 的用途:

譬如在一个鼠标消息的消息参数 lParam 中存放着鼠标位置. lParam 是 4 字节的, 它的低两位存放 x、高两位存放 y ...

我在这个例子中用到过: http://www.cnblogs.com/del/archive/2008/04/19/1160968.html

System 单元下的公用函数目录

本文转载自:http://www.cnblogs.com/del/archive/2008/04/23/1167554.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2004
码字总数 14107
作品 0
深圳
程序员
MFC 第一个小例子经验

CString str = TEXT("字符串 "); IP.SetAddress((DWORD) tmp); 对Combo Box设置当前显示 SetDlgItemText( HWND hDlg, int nIDDlgItem, LPCSTR lpString ); 例如:SetDlgItemText(IDCCOMBO2,......

Sugar_v5 ⋅ 2017/02/25 ⋅ 0

几个WM消息其lParam和wParam参数定义

几个WM消息其lParam和wParam参数定义 鼠标消息 lParam:低字组为x 座标,高字组为y 座标,这两个座标是相对于窗口显示区域左上角的位置。 Wparam:指示滑鼠按键以及Shift和Ctrl 键的状态。可...

IMGTN ⋅ 2012/10/03 ⋅ 1

Go调用Window SendARP() 方法

首先用了walk里面的一个winapi.go "runtime""syscall""unsafe" runtime.LockOSThread() S_OK = 0x00000000S_FALSE = 0x00000001E_UNEXPECTED = 0x8000FFFFE_NOTIMPL = 0x80004001E_OUTOFMEMO......

独孤小败 ⋅ 2012/10/31 ⋅ 0

关于Windows中滚动条的问题。。

这是Windows程序设计第五版中第四章的一段代码,问题就是程序首先定义的一个变量iVscrollPos,但是这个变量是在哪个地方初始化的呢?因为看到直接用貌似是直接操作iVscrollPos,却没找到在哪里...

摩西摩西 ⋅ 2013/05/15 ⋅ 0

MFC中ListControl控件的使用

以下未经说明,listctrl默认view 风格为report 1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: ...

范大脚脚 ⋅ 2017/11/16 ⋅ 0

Data type conversions for API calls from Visual Basic

转贴自 http://www.codingdomain.com/visualbasic/win32api/datatypes/ Introduction Visual Basic and the Windows API functions use different names for certain data types. This page ......

长平狐 ⋅ 2012/10/08 ⋅ 0

在窗口中绘制鼠标拖曳框

Chapter I:在WM_MOUSEMOVE中绘制. 有时候要求在一个窗口中绘制鼠标的拖曳框,就像是用户在桌面上拖曳图标显示的框一样.对于这样的矩形框windows的API提供了一个函数DrawFocusRect,当然这个函数...

技术小甜 ⋅ 2017/11/15 ⋅ 0

VC控件ListCtrl的使用方法总汇

以下未经说明,listctrl默认view 风格为report ------------------------------------------------------------------------------- 1. CListCtrl 风格 LVSICON: 为每个item显示大图标 LVSS......

barsoom ⋅ 2012/11/26 ⋅ 0

VC如何注册、屏蔽全局键盘热键

VC如何注册、屏蔽全局键盘热键 1、定义按键消息热键的宏,后续可自行添加更多 // // VirtualKey.H By:Koma 2009.08.22 // 定义热键 // http://blog.csdn.net/wangningyu // /* Ctrl组合键 (D...

IMGTN ⋅ 2013/01/09 ⋅ 1

win32中创建webbrowser控件

因工作需要,需要在win32中创建webbrowser,不要问我为什么不直接用MFC,我很烦MFC,win32很直接和简洁。 言归正传,网上流传有一些关于win32中创建webbrowser的代码,会弹一个窗出来: 是因...

MrStone ⋅ 2012/11/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Android JNI 读写Bitmap的方法

Java层创建Bitmap,通过JNI将Bitmap传到C/C++进行处理 Java部分 public static native boolean greenBitmap(Bitmap bitmap); C/C++部分 JNIEXPORT jboolean JNICALL Java_com_test_Test_gree......

国仔饼 ⋅ 18分钟前 ⋅ 0

一次性让你懂async/await,解决回调地狱

什么是async? 欢迎留言讨论 async 函数是 Generator 函数的语法糖。使用 关键字 async 来表示,在函数内部使用 await 来表示异步。相较于 Generator,async 函数的改进在于下面四点: 内置执...

阿K1225 ⋅ 18分钟前 ⋅ 0

angular常用命令

.下载更新操作 1.利用npm下载angular的命令行工具AngularCLI: npm install -g @angular/cli 2.下载jquery: npm install --save jquery 3.更新npm: npm i -g npm 4.更新angular: ng update ......

消散了的诗意 ⋅ 21分钟前 ⋅ 0

window.print 页面打印

定义和用法 print() 方法用于打印当前窗口的内容。 语法 window.print(); window.print() 实际上,是浏览器打印功能菜单的一种程序调用。与点击打印功能菜单一样,不能精确分页,不能设置纸型...

初学者的优化 ⋅ 21分钟前 ⋅ 0

魔兽世界 7.0版本上 PVE装备全攻略

  T套 因为大家应该都会打穿副本的所以具体是哪个boss我就不说了。   T1: 所有套装都在【熔火之心】出   T2: 头原来是在【奥妮克希亚的巢穴】改到黑翼之巢的奈法利安了,腿是在【熔火之...

wangchen1999 ⋅ 22分钟前 ⋅ 0

java.math.BigDecimal使用小结

原文地址 java.math.BigDecimal使用小结 divide方法 使用BigDecimal.divide方法时一定要考虑: 除数是否为0 商是否是无限小数 正确的使用方式 判断除数是否为0,是0做另外的处理逻辑 调用除法...

666B ⋅ 25分钟前 ⋅ 0

关于qstring转char乱码问题。

if (OpenClipboard(NULL)) { HGLOBAL hgClip; EmptyClipboard(); QByteArray byay = FValue.toLocal8Bit(); //转latin编码 char *bochsrc_line = byay.data(); hgClip = GlobalAlloc(GMEM_DD......

backtrackx ⋅ 25分钟前 ⋅ 0

了解SSH加密和连接过程

介绍 SSH或安全shell是安全协议,也是安全管理远程服务器的最常用方式。通过使用多种加密技术,SSH提供了一种机制,用于在双方之间建立加密安全连接,对彼此进行身份验证,以及来回传递命令和...

吴伟祥 ⋅ 31分钟前 ⋅ 0

微信小程序

小程序的全局配置app.json 微信小程序的全局配置保存在app.json文件中。开发者通过使用app.json来配置页面文件(pages)的路径、窗口(window)表现、设定网络超时时间值(networkTimeout)以...

上官清偌 ⋅ 34分钟前 ⋅ 0

【转】百度坐标坐标系之间的转换(JS版代码)

/** * Created by Wandergis on 2015/7/8. * 提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换 *///定义一些常量var x_PI = 3.1415926535897932...

HAVENT ⋅ 36分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部