mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-05-01 01:53:42 +02:00
27 lines
661 B
ObjectPascal
27 lines
661 B
ObjectPascal
Program ex20;
|
|
|
|
{ Program to demonstrate the TMemoryStream.Truncate method }
|
|
|
|
Uses Objects;
|
|
|
|
Var L : String;
|
|
P : PString;
|
|
S : PMemoryStream;
|
|
I,InitMem : Longint;
|
|
|
|
begin
|
|
initMem:=Memavail;
|
|
L:='Some constant string';
|
|
{ Buffer size of 100 }
|
|
S:=New(PMemoryStream,Init(1000,100));
|
|
Writeln ('Free memory : ',Memavail);
|
|
Writeln ('Writing 100 times "',L,'" to stream.');
|
|
For I:=1 to 100 do
|
|
S^.WriteStr(@L);
|
|
Writeln ('Finished. Free memory : ',Memavail);
|
|
S^.Seek(100);
|
|
S^.Truncate;
|
|
Writeln ('Truncated at byte 100. Free memory : ',Memavail);
|
|
Dispose (S,Done);
|
|
Writeln ('Finished. Lost ',InitMem-Memavail,' Bytes.');
|
|
end. |