mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-10-31 15:31:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			27 lines
		
	
	
		
			652 B
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			652 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. | 
