怎么将C++语法翻译为DELPHI: BYTE *buff1; buff1 = new BYTE[768*576*3]

如何将C++语法翻译为DELPHI: BYTE *buff1; buff1 = new BYTE[768*576*3];
问题一
C++:     BYTE   *buff1;
            buff1   =   new   BYTE[768*576*3];
用DELPHI   怎么实现上面代码

问题二
C++:             CFile   ff;
ff.Open( "./filehead ",CFile::modeRead);
ff.Read(head,54);
ff.Close();
          用DELPHI   怎么实现上面代码

------解决方案--------------------
一:
var
buff1 : PByte;
begin
GetMem(buff1, 768*576*3);
......
FreeMem(buff1);
end;
------解决方案--------------------
二:
var
iHandle : Integer;
head : array [0..53] of Byte;
begin
iHandle := FileOpen( './filehead ', fmOpenRead);
if iHandle <> -1 then
begin
FileSeek(iHandle, 0, 0);
FileRead(iHandle, head[0], 54);
FileClose(iHandle);
end;
end;

------解决方案--------------------
二: 或者
var
iHandle : Integer;
head : PByte;
begin
GetMem(head, 54);
iHandle := FileOpen( './filehead ', fmOpenRead);
if iHandle <> -1 then
begin
FileSeek(iHandle, 0, 0);
FileRead(iHandle, head, 54);
FileClose(iHandle);
end;
FreeMem(head);
end;

------解决方案--------------------
var
bytearr:array of byte;

setlength(bytearr,54);
动态数组,在DELPHI中,动态数组名称就是一个指针类型了。。。。。