刚看到有关 Pointer 资料,发现其中一段代码:
procedure FindPos(const ASub, ASource: string; AStartPos: Integer = 1);
var
  Sub: PByteArray;
  Buffers: array [0..255] of Integer;
  I, SubLen: Integer;
  ...
begin
  ...
  Sub := Pointer(ASub);
  for I := 0 to SubLen - 1 do
    Buffers[Sub[I]] := SubLen - I - 1;
  ...
  ...
end;
Pointer() 是将其转成一个无类指针,但是 PByteArray 的 Sub[I] 这段不太理解?
请顺便在给个例子详细说明下,我对 ByteArray 还不理解

解决方案 »

  1.   

    还有这个  Buffers[Sub[I]] := SubLen - I - 1; 不理解
      

  2.   

    TByteArray = array[0..32767] of Byte;就是一个Byte类型的数组,可以容纳32768个值~
      

  3.   


    这个是数组我能看得出来,关键是对这类数组操作我看不懂,希望大家给个例子让我茅塞顿开。
    像这句Buffers[Sub[I]] := SubLen - I - 1,它就不担心会越界吗?
      

  4.   

    PByteArray 这个指向TByteArray数组的指针,你可以通过下标访问,就想访问数组一样
      

  5.   

    http://blog.csdn.net/liangpei2008/archive/2009/04/25/4121820.aspx