[Lazarus] Passing a section of an array to a function.
Mark Morgan Lloyd
markMLl.lazarus at telemetry.co.uk
Mon Sep 10 12:06:14 CEST 2012
Sven Barth wrote:
> Am 10.09.2012 10:39, schrieb leledumbo:
>>> If you know the amount of bytes you
>> want to copy then you should use "Copy(buf, 32, count)" as argument for
>> decompress_r or if you don't know the amount you should change your
>> function from "array of Byte" to "PByte" and pass the address of the
>> 32nd byte using "@buf[32]"
>>
>> Or use the array slicing construct:
>>
>> func(buf[32 .. <Last index of the array>]);
>> reference: http://www.freepascal.org/docs-html/ref/refsu59.html
>
> And it's still true: even I as a compiler developer can learn something
> new as I didn't know yet that this was possible.
:-) Wasn't there something in PL/1 that allowed a skewed slice of a 2-D
array to be passed as a 1-D parameter?
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the Lazarus
mailing list