如果一个数据结构定义成这样会不会很奇怪,或者是不合规矩不合规范
temp= packed record
i: Integer;
q: array of Byte;//动态数组
end;
因为当对成员q动态设置不同长度的时候,每个结构体的大小不是都不一样,这样做好吗?
temp= packed record
i: Integer;
q: array of Byte;//动态数组
end;
因为当对成员q动态设置不同长度的时候,每个结构体的大小不是都不一样,这样做好吗?
解决方案 »
- 请教一个初级问题
- 大家来看看我的软件(AutoFlowchart,根据源码自动生成流程图!)
- 请教:如何使用ACM中的Microsoft G.723.1压缩解压缩语音数据?
- 用了N年的程序合并数据后出现Couldn't perform the edit because another user changed the record
- 能否明确的告诉我:获得文件夹大小是否只能通过遍历下面的文件大小的累加得到?还有没有快点的获得方式...
- 请问listview的排序问题!!!!!!!!!!????????????????????????????
- 在票据打印过程中,如果发出打印指令但打印机不工作该怎么办?
- Delphi组合算法
- adoquery分页的问题
- ADOQUERY的LOCKTYPE值为什不可动态赋呢?
- 如何添加右键功能?
- Excel导入问题(新手上路)
implementation{$R *.dfm}type
TArr = class
private
I: Integer;
Q: array of byte;
public
procedure SetQLen(QLen: Integer);
published
constructor Create(iVal, QLen: Integer);
destructor Free;
end;{ TArr }constructor TArr.Create(iVal, QLen: Integer);
begin
I := iVal;
SetQLen(QLen);
end;destructor TArr.Free;
begin
SetQLen(0);
end;procedure TArr.SetQLen(QLen: Integer);
begin
SetLength(Q, QLen);
end;{--------------}procedure TForm1.Button1Click(Sender: TObject);
var
X: array[1..3] of TArr;
I: Integer;
begin
for I := Low(X) to High(X) do {创建}
X[I] := TArr.Create(I,I);
for I := Low(X) to High(X) do {测试}
Showmessage(Format('I=%d,Len(Q)=%d,Q[0]=%d',[X[I].I, Length(X[I].Q), X[I].Q[0]]));
for I := Low(X) to High(X) do {析构}
X[I].Free;
end;