home *** CD-ROM | disk | FTP | other *** search
- PROGRAM big_mem;
- { ========================= big_mem ============================
- Big_mem.pas benutzt die Unit BigHeap. Aufrufe in BigHeap
- erlauben einem Programm, Heap-Platz in Blöcken größer als
- 65520 Byte zuzuweisen.
- }
-
- USES
- bigheap;
-
- VAR
- allg_zeiger : POINTER;
- nachfrage : LongInt;
- total : LongInt;
- groesster : LongInt;
-
- BEGIN
-
- groesster := MaxAvail;
- Writeln( MemAvail, ' Byte sind insgesamt auf Heap verfügbar.' );
- Writeln( 'Größter zusammenhänger Block ist ', groesster, ' Byte.' );
-
- REPEAT
- Writeln( 'Sie können bis zu ', groesster, ' Byte zuweisen.' );
- Write( 'Wieviel Speicherblock möchten Sie zuweisen? ');
- Readln( nachfrage );
- IF (nachfrage > groesster) OR (nachfrage < 0)
- THEN Writeln( 'Dieser Betrag ist nicht verfügbar.' );
- UNTIL (nachfrage <= groesster) AND
- (nachfrage >= 0);
- Writeln( 'Nachfrage: ', nachfrage, ' Byte.' );
-
- { Nachfrage-Speicher. Dieser Aufruf benutzt bigheap.GetMem anstatt
- System.GetMem. Dadurch kann man mehr als 65520 Byte zur gleichen
- Zeit zuweisen.
- }
- GetMem( allg_zeiger, nachfrage );
- Writeln( 'Dies läßt insgesamt ', MemAvail, ' Byte übrig. ');
- Writeln( 'Dabei ist der größte Block ', MaxAvail, ' Byte groß.');
-
- Writeln( 'Platz freimachen...' );
- FreeMem( allg_zeiger, nachfrage );
-
- END.
-
-
-
-
-