我想从一个指定的文件中读出数据村到一个key :array of byte 的数组中,该如何操作。我自己根据例子弄了一个,但是总是出错。
var
key:array of byte;
buffer:Pbyte;
tempfilename:=keyfile_edit.text;
iFileHandle:=fileopen(tempfilename,fmopenread);
iFileLength:=fileseek(iFileHandle,0,2);
buffer:=Pbyte(AllocMem(iFileLength + 1));
iBytesRead := FileRead(iFileHandle, Buffer, iFileLength);
FileClose(iFileHandle);
if strtoint(keylen_edit.Text) div 8> iBytesRead then
begin
showmessage('您指定的密钥长度太短');
keyflag:=false;
end
else
for i:=0 to strtoint(keylen_edit.Text) div 8 do
key[i]:=buffer[i];
finally
FreeMem(Buffer);
end;//try
var
key:array of byte;
buffer:Pbyte;
tempfilename:=keyfile_edit.text;
iFileHandle:=fileopen(tempfilename,fmopenread);
iFileLength:=fileseek(iFileHandle,0,2);
buffer:=Pbyte(AllocMem(iFileLength + 1));
iBytesRead := FileRead(iFileHandle, Buffer, iFileLength);
FileClose(iFileHandle);
if strtoint(keylen_edit.Text) div 8> iBytesRead then
begin
showmessage('您指定的密钥长度太短');
keyflag:=false;
end
else
for i:=0 to strtoint(keylen_edit.Text) div 8 do
key[i]:=buffer[i];
finally
FreeMem(Buffer);
end;//try
for i:=0 to strtoint(keylen_edit.Text) div 8 do
begin
key[i]:=buffer^;
inc(buff);
end;