type sysid = record user : string[27]; exp : byte; lsto : string[14]; lstm : integer; pass : string[14]; acc : byte; clr : string[14]; bsp : char; lnf : char; upc : boolean; wid : byte; end; var idrec : sysid; idfile: file of sysid; temp : string[27]; loop, test : integer; x: integer; ch: char; begin assign(idfile, 'A:IDS.BBS'); reset(idfile); while not eof(idfile) do begin read(idfile, idrec); writeln; write('Name: '); temp := idrec.user; for loop := 1 to length(temp) do if temp[loop] >= ' ' then write(temp[loop]) else write('^' + chr(ord(temp[loop])+64)); writeln; write('Acc : '); writeln(idrec.acc:1); writeln('Pass: ' + idrec.pass); writeln('Last on: ' + idrec.lsto); write('Change (Y/N)? '); read(ch); writeln; if (ch = 'Y') or (ch = 'y') then begin write('New name? '); readln(con, temp); if temp <> '' then idrec.user := temp; write('New access? '); readln(con, temp); val(temp, x, test); if (test=0) and (temp > '') then idrec.acc := x; seek(idfile, filepos(idfile)-1); write(idfile, idrec); end; end; close(idfile); end.