zrgc002@DTUPEV5A.BITNET (Christoph D. Gatzka) (07/31/87)
program a(input,output); var ein:text; bitmap:packed record case boolean of false:(a:packed array[0..790000]of char); true:(b:packed array[0..10000]of packed array[1..80]of char);end; zeile:varying[132]of char; zeile2:varying[80]of char; i,j,lbn,count:integer; begin open (ein,'disk.ana',READONLY); reset (ein); while not(eof(ein)) do begin readln (ein,zeile); if zeile.length > 44 then if substr (zeile,9,6) ='Count:' then begin readv (substr(zeile,15,15),count); readv (substr(zeile,38,zeile.length-37),lbn); if count> 0 then BEGIN for i:=lbn to lbn+count-1 do begin bitmap.a[i]:='*'; if (i=632766) or (i=632769) or (i=13463) or (i=42000) OR (I=504025 ) then writeln ('lbn:',lbn,' count: ',count,' i:',i); end; BITMAP.A[LBN]:='['; BITMAP.A[LBN+COUNT-1]:=']'; END; end; end; close(ein); for j:=0 to 790000-1 do if NOT (bitmap.a[j] IN ['*','[',']']) then bitmap.a[j]:='-'; open (ein,'bitmap.karte'); rewrite (ein); for j:=0 to 10000 do begin zeile2.body:=bitmap.b[j]; zeile2.length:=80; writeln (ein,zeile2); end; end. Christoph D. Gatzka zrgc002@dtupev5a.bitnet Student of medicine University of Tuebingen Germany