program count_symbils;
uses crt;
const chars = [#33..#159, #160..#175, #224..#239];
var i:byte;
filename, filename1, str:string;
mas:array[byte] of longint;
fil, fil1:text;
Function FileExists(FileName : String) : Boolean;
{ Функция возвращает True, если файл существует, иначе
возвращает False. Закрывает файл, если он существует. }
Var F : File;
Begin
{$I-}
Assign(F, FileName);
Reset(F);
Close(F);
{$I+}
FileExists := (IOResult = 0) And (FileName <> '');
End; { FileExists }
begin
{
clrscr;
}
filename1:='symbols.txt';
assign(fil1, filename1); rewrite(fil1);
if paramcount=0 then
begin
writeln('В командной строке не указано ни одного параметра.');
writeln('В качестве параметра введите имя файла, с которым бы вы хотели работать.');
writeln('Нажмите любую клавишу.');
readln; exit;
end else
begin
filename:=paramstr(1);
if fileexists(filename) then begin
writeln(fil1, filename);
writeln(fil1, '');
writeln('Вы указали файл: ', filename);
writeln('Нажмите любую клавишу.');
readln;
assign(fil, filename);
reset(fil);
while not EOF(fil) do begin
readln(fil, str);
for i:=1 to length(str) do
begin
{if str[i] in chars then}
inc(mas[ord(str[i])]);
end;
str:='';
end;
close(fil);
writeln('Таблица символов файла ', filename,': ');
writeln('Символ Код Повторяемость');
writeln;
for i:=1 to high(mas) do begin
if mas[i]>0 then
begin
writeln('''',chr(i),'''',' #',i:3,mas[i]:9);
writeln(fil1,'''',chr(i),'''',' #',i:3,mas[i]:9);
end;
end;
end else
begin
writeln('Такого файла не существует или вы указали неправильный путь.');
writeln('Нажмите любую клавишу.'); readln; exit;
end;
writeln('Нажмите любую клавишу.'); readln; exit;
end;
close(fil1);
end.
Сообщение отредактировано: Флогримм -