procedure MyTest;
type
TRTest = record
temp1: string[10];
temp2: LongWord;
temp3: string[4];
temp4: Boolean;
end;
var
test: TRTest;
Dest: PChar;
p: PChar;
i, t: integer;
begin
with test do begin
temp1:= 'this is mytest#0#0#0#0#0';
temp2:= 20;
temp3:= 'please delete it#0#0#0#0' ;
temp4:= True;
end;
//请用指针操作去掉上面的#0,并按顺序放入Dest中。
p := @test;
Dest := AllocMem(SizeOf(test));
t := 0;
for i := 0 to sizeof(test) - 1 do begin
if p[i] <> #0 then begin
Dest[t] := p[i];
t := t + 1;
end;
end;
ReallocMem(Dest, t);
end;
type
TRTest = record
temp1: string[10];
temp2: LongWord;
temp3: string[4];
temp4: Boolean;
end;
var
test: TRTest;
Dest: PChar;
p: PChar;
i, t: integer;
begin
with test do begin
temp1:= 'this is mytest#0#0#0#0#0';
temp2:= 20;
temp3:= 'please delete it#0#0#0#0' ;
temp4:= True;
end;
//请用指针操作去掉上面的#0,并按顺序放入Dest中。
p := @test;
Dest := AllocMem(SizeOf(test));
t := 0;
for i := 0 to sizeof(test) - 1 do begin
if p[i] <> #0 then begin
Dest[t] := p[i];
t := t + 1;
end;
end;
ReallocMem(Dest, t);
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货