thanks howard and noodly
xFilestream1 is a reference to a class, it is a pointer. On 32-bit systems it has a size of 4, 8 on 64-bit systems.
i hope the amount of bytes for each integer remains 4.
the reason why am asking this is that i want to make a standard filestreamfile per day .
in this file we wil have standard ,say 500 minutes , and for each minute say 50 indicators.
All the values are in integer.
so when i need to change in minute x ,indicator no 10 . then i can can calculate its position in the file X*50*4 +10*4
xFileStream1 := TFileStream.Create( xtempfilenaam, fmOpenReadWrite or fmShareExclusive)
xFileStream1.position:= X*50*4 +10*4 ;
xFileStream1.readBuffer(INDIC10, SizeOf(INDIC10));
INDIC10:= newvalue1;
xFileStream1.writeBuffer(INDIC10, SizeOf(INDIC10));
xFileStream1.position:= Y*50*4 +20*4 ;
xFileStream1.readBuffer(INDIC20, SizeOf(INDIC20));
INDIC20:= newvalue2;
xFileStream1.writeBuffer(INDIC20, SizeOf(INDIC20));
xFileStream1. free;
as you can see it is based on 4 bytes per integer, when that changes i have to do something different
the idea is to eliminate the neccesity to keep large arrays and now only cherry-pick the values you need(or need to change)
frederic