ruseng - Функция определяет каких символов в строке больше русских или английских (Delphi)
//Функция определяет каких символов в строке больше русских или английских
function ruseng(s:string): string;
const
EngChar = ['A'..'Z', 'a'..'z'];
RusChar = 'абвгдеёжзиклмнопрстуфхцчшщъьыэюяАБВГДЕЁЖЗИКЛМНОПРСТУФХЦЧШЮЪЬЫЭЮЯ';
var
i, e, r: Integer;
begin
e := 0;
r := 0;
// Не забывайте, что, в отличии от других массивов, нумерация в строках начинается с 1
for i := 1 to Length (s) do begin
if s[i] in EngChar then Inc (e);
if Pos(s[i],Ruschar)>0 then Inc (r);
end;
if e>r then ruseng:='eng';
if r>e then ruseng:='rus';
if r=e then ruseng:='ruseng';
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
if ruseng(Edit1.Text)='rus' then label1.Caption:='Строка русская';
if ruseng(Edit1.Text)='eng' then label1.Caption:='Строка английская';
if ruseng(Edit1.Text)='ruseng' then label1.Caption:='Строка на половину руссая, на половину английская';
end;