바이트의 배열로 읽어들여서 하나씩 출력하는 예제.

 

 

procedure TForm1.Button1Click(Sender: TObject);
var
  Reg: TRegistry;
  Size: Integer;
  Buffer: array of Byte;
  i: Integer;

 

begin
  Reg:=TRegistry.Create;
  try
    if Reg.OpenKeyReadOnly('Software\TestKey') then begin
      Size:=Reg.GetDataSize('RegBinary');

      SetLength(Buffer, Size);
      Reg.ReadBinaryData('RegBinary', Buffer[0], Size);

      for i:=0 to Size-1 do Memo1.Lines.Add(Format('[%2d] = %x', [i, Buffer[i]]));

    end;
  finally
    FreeAndNil(Reg);
  end;
end;

 

 

 

 

 

 

만약 전부 문자열이라면 String 으로 읽어들이면 되는데 그 방법이 Byte 배열과 약간 다르다.

아래와 같이 하면 됨.

 

 

procedure TForm1.Button1Click(Sender: TObject);
var
  Reg: TRegistry;
  Size: Integer;
  Buffer: String;


begin
  Reg:=TRegistry.Create;
  try
    if
Reg.OpenKeyReadOnly('Software\TestKey') then begin

      Size:=Reg.GetDataSize('RegBinary');

      SetLength(Buffer, Size);
      Reg.ReadBinaryData('RegBinary', Buffer[1], Size);


      Memo1.Lines.Add(Buffer);

    end;  
  finally
    FreeAndNil(Reg);
  end;
end;

 

 





'Delphi' 카테고리의 다른 글

UTF-8 디코딩  (0) 2009.04.18
[Delphi] TMemo 에서 라인 선택하기  (0) 2009.04.18
Create Component Template  (0) 2009.04.18
EmbeddedWB 사용시 Referer 바꾸기  (0) 2009.04.18
Raize Component 설치하기  (0) 2009.04.18
Posted by bloodguy
,