请教:Delphi 怎样给机构体内的变量赋值

KJHM 2019-01-07 11:04:29
赋值TGhzf.A:=Edit1.text时报错:Incompatible types: 'Array' and 'TCaption' 结构体如下:
type
TGhzf = packed record
A: array[0..5] of Char;
B: array[0..19] of Char;
end;
PTGhzf = ^TGhzf;
......

procedure TForm1.Button1Click(Sender: TObject);
begin
TGhzf.A:=Edit1.text;
TGhzf.B:=Edit2.text;
end;
...全文
164 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
KJHM 2019-01-09
  • 打赏
  • 举报
回复
现在好了,谢谢大家!
  • 打赏
  • 举报
回复
类型不匹配 怎么可能赋值 别想偷懒 按照2楼方式去赋值, 但是长度要限制为A/B的长度, 否则可能内存溢出

  Move(Edit1.text[1], Ghzf.A[0], Sizeof(Ghzf.A));
  Move(Edit2.text[1], Ghzf.B[0], Sizeof(Ghzf.B));
无聊的猪 2019-01-08
  • 打赏
  • 举报
回复
procedure TForm1.btn1Click(Sender: TObject); var ghzf: PTGhzf; begin New(ghzf); ghzf.A := '123456'; ghzf.B := 'abcdef'; end;
BlueStorm 2019-01-08
  • 打赏
  • 举报
回复


type
  TGhzf = packed record
    A: array[0..5 ] of Char;
    B: array[0..19] of Char;
  end;
  PTGhzf = ^TGhzf;

var
  Ghzf : TGhzf;
---------------------------

procedure TForm1.Button1Click(Sender: TObject);
begin
  Move(Edit1.text[1], Ghzf.A[0], Length(Edit1.text) * Sizeof(Char));
  Move(Edit2.text[1], Ghzf.B[0], Length(Edit2.text) * Sizeof(Char));
end;
  • 打赏
  • 举报
回复
楼主怎么给类型赋值呢~~~

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧