Problem with adding strings

program t;

{$APPTYPE CONSOLE}

uses  
{$IFNDEF FPC}System.{$ENDIF}SysUtils;

procedure GetKey(zone: Pointer; key: Pointer);
begin
  Move(zone^, key^, 6);
end;

var
  i: Integer;
  zone: RawByteString;
  data: RawByteString;
  keya: RawByteString;
begin

  SetLength(keya, 6);
  data := '';
  
  for i := 0 to 2 do begin
    case i of
    0: zone := '123456';
    1: zone := 'abcdef';
    2: zone := '654321';
    end;
    GetKey(@zone[1], @keya[1]);
    data := data + keya;
  end;
  WriteLn(data);
end.

The result should be '123456abcdef654321' not 'abcdefabcdef654321'.

Edited by idigger
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information