利用TFileStream.Read函数读取几兆的文件,FileStream.Read(ReturnString[0],FileStream.Size);
把读到的值赋给PCHAR的变量ReturnString,则可以像数组一样操作,A:=ReturnString[10];现在我定义了一个B:^BYTE;
FileStream.Read(B,FileStream.Size);现在我想其B像数组一样操作。怎么实现啊?
或者有更好的办法了?
把读到的值赋给PCHAR的变量ReturnString,则可以像数组一样操作,A:=ReturnString[10];现在我定义了一个B:^BYTE;
FileStream.Read(B,FileStream.Size);现在我想其B像数组一样操作。怎么实现啊?
或者有更好的办法了?
解决方案 »
- 我有一个 VC 写的 DLL。其中有一个函数返回值为 CString。我该如何在 Delphi 中写申明?
- 求救呀!!!!Devexpress MasterviewGrid控件怎么样可以导出Excel呀.
- adotable怎麼來查找字段?
- 请教TDateTimePicker控件,能否不输入日期,即日期为空?
- 看到方法后面的sender:Tobject,不知道做什么用,是不是考虑代码通用,不用写具体控件名啊?
- 内存分配的问题?
- 急!急!我的系统坏了!
- 怎样才能读写备注型字段?
- 关于在DELPHI中调用CAD并保存结果的问题
- delphi+ado+access得问题
- 高分求救,怎样用delphi程序来执行msi文件?
- QReport的问题???
在type后加入
pByte = ^Byte;方法如下:
procedure TForm1.Button3Click(Sender: TObject);
var
b : array of byte;
i : integer;
procedure SetPByte(Apbyte : pType;size : byte);
const
BaseValue = 1;
var
i : integer;
begin
for i:=1 to size do
begin
Apbyte^ := BaseValue + i;
inc(Apbyte);
end;
end;
begin
SetLength(b,2);
SetPByte(@b[0],2);
for i:=0 to 1 do
begin
ShowMessage(IntToStr(b[i]));
end;
end;
楼主有点儿太抠门了吧,我费了半个小时才写出这段例子,好辛苦
但是在FileStream.Read(B,FileStream.Size);编译不过啊!cuilj(一云忆水) :
FileStream.Read(B,FileStream.Size)在这里B已经被赋制值了,那又怎么把B和array of byte数组联合起来了?
begin
ShowMessage(IntToStr(B^));
inc(B);
end;