uses crt;
type mnoz=set of char;
procedure Open(var f:text);
var name:string;
begin
write('Имя файла для чтения: ');
readln(name);
name:=name+'.txt';
assign(f,name);
{$I-} reset(f); {$I+}
if IOResult <> 0 then
begin
writeLn('Не могу открыть файл ',name);
writeLn('Работа программы завершена. Нажмите ENTER');
readln;
exit;
end;
end;
procedure Simv(var f:text;var m:mnoz);
var s:string;
i:byte;
j:char;
begin
Open(f);
m:=[];
while not eof(f) do
begin
readln(f,s);
for i:=1 to length(s) do
m:=m+[s[i]];
end;
writeln('Символы, встречающиеся в файле:');
for j:=' ' to '~' do{правильно в программе будут отразаться
только символы от пробела до меньше чем русская А}
if j in m then write(j);
readln
end;
var f:text;
m:mnoz;
begin
clrscr;
Simv(f,m);
end.