MODULE Bafer; FROM RedOpsl1 IMPORT RedOpslTip, MakeNull, Empty, First, PopFirst, AddRear; FROM FIO IMPORT File,WrChar, Create, Close; IMPORT IO; CONST ImeIzlaza = 'izlaz.txt'; VAR izlaz : File; znak : CHAR; buffer : RedOpslTip; PROCEDURE IsprazniBafer(VAR dat : File; VAR buf : RedOpslTip); VAR znak : CHAR; ok : BOOLEAN; BEGIN WHILE NOT Empty(buf) DO First(buf, znak, ok); PopFirst(buf, ok); WrChar(dat, znak) END END IsprazniBafer; PROCEDURE BaferWrite(VAR dat : File; VAR buf : RedOpslTip; znak : CHAR); VAR ok : BOOLEAN; BEGIN AddRear(buf, znak, ok); IF NOT ok THEN IsprazniBafer(dat, buf); AddRear(buf, znak, ok) END END BaferWrite; BEGIN izlaz := Create(ImeIzlaza); MakeNull(buffer); IO.WrStr('Unesite tekst, koji treba da se unese u datoteku '); IO.WrStr(ImeIzlaza); IO.WrChar('.'); IO.WrLn; IO.WrStr('Unos zavrsite tackom.'); IO.WrLn; znak := IO.RdChar(); WHILE znak # '.' DO BaferWrite(izlaz, buffer, znak); znak := IO.RdChar(); END; IsprazniBafer(izlaz, buffer); Close(izlaz) END Bafer.