[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]

    {
    > I have been meaning to find out how one could get the lowest and highest
    > index values of a multidimensional array.
    >
    > I mean, say you have an array like this
    >
    >         MyArray : Arra[1..25, 5..9, 3..7] Of Something;
    >
    > Now, If I had to deal with it in a different unit, how would I find out how
    > big each dimension is?

    Contrary to popular opinion, Basri, it's easy enough to determine the
    low and high indexes of a Pascal array: You use the Low and High
    functions! Here's a wee console app to show how it works.

    program Project1;

    uses
      SysUtils;

    {$APPTYPE CONSOLE}

    var
      MyArray: array[1..25, 5..9, 3..7] of Integer;
      I1L, I1H, I2L, I2H, I3L, I3H: Integer;
    begin
      I1L := low(MyArray);
      I1H := high(MyArray);
      I2L := low(MyArray[I1L]);
      I2H := high(MyArray[I1L]);
      I3L := low(MyArray[I1L][I2L]);
      I3H := high(MyArray[I1L][I2L]);
      Writeln(Format('[%d..%d, %d..%d, %d..%d]',
        [I1L, I1H, I2L, I2H, I3L, I3H]));
      Readln;
    end.

[Back to DELPHI SWAG index] [Back to Main SWAG index] [Original]