上次你给偶的例子:
abc = packet record
case byte of
c :Cardinal;
ch :array [0..3] of char;
end;
说就可以在C填入一个Cardinal的数据,然后ch就是得到每个byte的值,
偶在Delphi里面死活调试都说是语法错误,
你就帮人帮到底,调试调到西,看看
应该放在pas的哪段儿,还有是不是有什么单词错误什么标点错误的....
谢了
abc = packet record
case byte of
c :Cardinal;
ch :array [0..3] of char;
end;
说就可以在C填入一个Cardinal的数据,然后ch就是得到每个byte的值,
偶在Delphi里面死活调试都说是语法错误,
你就帮人帮到底,调试调到西,看看
应该放在pas的哪段儿,还有是不是有什么单词错误什么标点错误的....
谢了
解决方案 »
- 主窗口main_frm 放了三个按钮 想实现三种不同的测试功能 结构是一样的 只是内部的算法不同 请问该怎么实现? 下面是我写的代码 请问错在哪里?
- delphi如何打開wps文件?(通過Import wps_tlb.pas單元)
- 无法为更新定位行。一些值可能已在最后一次读取后已更改 ...
- 急问如何得到teechart中的series的event,比如event "GetMarkText" 之类。
- 求用DELPHI开发的电力局使用的软件
- 如何查找单词??(简单的问题)delphi入门
- 数据载入
- 如何取文件夹以下的一部分文件路径和文件名称?
- 每次运行就出错,找不出原因在哪里,麻烦大家帮看看!!!
- DataSnap 服务器发布到干净环境需要哪些文件
- 如何为每一个客户端分配单独的远程数据模块线程?
- 弱弱得问 远程如何连接ms sql
case byte of
0: (c:Cardinal);
1: (ch:array[0..3] of char) ;
end ;
type abc = packed record
case byte of
0: c:Cardinal)
1: ch:array[0..3] of char ;
end ;
end;
type abc = packed record
case byte of
0: (c:Cardinal);
1: (ch:array[0..3] of char) ;
end ;
fieldList1: type1;
...
fieldListn: typen;
case tag: ordinalType of
constantList1: (variant1);
...
constantListn: (variantn);
end;你可以定义任何可变结构:
1.依据一个结构元素之值
type
TEmployee = record
FirstName, LastName: string[40];
BirthDate: TDate;
case Salaried: Boolean of
True: (AnnualSalary: Currency);
False: (HourlyWage: Currency);
end;2.依据一个类型
type
TShapeList = (Rectangle, Triangle, Circle, Ellipse, Other);
TFigure = record
case TShapeList of
Rectangle: (Height, Width: Real);
Triangle: (Side1, Side2, Angle: Real);
Circle: (Radius: Real);
Ellipse, Other: ();
end;
abc = record
case byte of
0: (c:Cardinal);
1: (ch:array[0..3] of char) ;
end ;3.使用:
var
A:TEmployee;
B:TFigure;
X:ABC;
begin
A.Salaried := TRUE;
A.AnnualSalary := 1000.12;
Caption := FloatToStr(A.HourlyWage); B.Height := 1000;
B.Width := 200;
X.c := 'A';
X.ch[1] := 'B';
X.ch[2] := 'C';end;
偶看来最有用的就是把个体不同大小的数据,用左边对齐,总长度必须一样,等于是给一段内存伙这用.
Okay,Linux2001也没有来,我就结帖算了,算他霉气
偶先拷贝收藏了,没活了再看