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;