mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 10:39:40 +01: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. |