博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delphi Union 使用
阅读量:7227 次
发布时间:2019-06-29

本文共 1051 字,大约阅读时间需要 3 分钟。

Union部分只能放在最后,这和C的不太一样,要放在前面先用Type定义一个单独的Union类型就可以了。

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs;type  TForm1 = class(TForm)    procedure FormCreate(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;type  TMyUnion = packed record    ID: Integer;//    case Boolean of//      true: (cmd: DWORD);//      false: (hiCmd:Word;loCmd:Word);//    case Byte of//    0: (cmd: DWORD);//    1: (hiCmd:Word;loCmd:Word);//    case Integer of//    0: (cmd: DWORD);//    1: (hiCmd:Word;loCmd:Word);    case aCmd:Integer of    0: (cmd: DWORD);    1: (hiCmd:Word;loCmd:Word);  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);var  tmp: TMyUnion;begin  tmp.ID := 10;  tmp.cmd := $0000FFFF;  tmp.aCmd := 100;  ShowMessageFmt('%d',[SizeOf(TMyUnion)]);  ShowMessageFmt('%d',[tmp.hiCmd]);  ShowMessageFmt('%d',[tmp.aCmd]);  Application.Terminate;end;end.

转载于:https://www.cnblogs.com/Jekhn/archive/2011/09/08/2171086.html

你可能感兴趣的文章
Tomcat 系统架构与设计模式,第 1 部分: 工作原理
查看>>
Hadoop输出参数信息详解(16)
查看>>
ERROR 2002 (HY000): Can't connect to local MySQL错误
查看>>
Java版冒泡排序法
查看>>
关于FB4.6插件安装后默认语言环境的更改问题
查看>>
免费分区助手
查看>>
Javascript通过Name调用Function
查看>>
统计当前在线用户数量
查看>>
IntelliJ IDEA 乱码解决方案 (项目代码、控制台等)
查看>>
PHP项目记录
查看>>
.net面试题系列文章七(附答案)
查看>>
FastSocket
查看>>
ionic $ionicSlideBoxDelegate 滑动框事件
查看>>
点击文字,把input type="radio"也选中
查看>>
第一章 Java多线程技能
查看>>
Java 集合系列-第八篇-Map架构
查看>>
springmvc 3.2 @MatrixVariable bug 2
查看>>
React-Native PanResponder手势识别器
查看>>
IOS11 光标错位问题
查看>>
如何设计用户登录
查看>>