Транслитерация имен файлов
Привет, люди помогите поправить функцию, не предлагайте другую, мне именно надо исправить эту, ошибка ламерская, чет я тут намудрил, но выцепить ошибочку не могу
Код:
const
CYRILLIC_SYMBOLS: array[1..66] of String =
('А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я',
'а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я');
LATIN_SYMBOLS: array[1..66] of String =
('A', 'B', 'V', 'G', 'D', 'E', 'Yo', 'Zh', 'Z', 'I', 'Y', 'K', 'L',
'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'F', 'H', 'Ts', 'Ch', 'Sh',
'Chsh', '''''', 'Y', '''', 'E', 'Yu', 'Ya',
'a', 'b', 'v', 'g', 'd', 'e', 'yo', 'zh', 'z', 'i', 'y', 'k', 'l',
'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', 'ts', 'ch', 'sh',
'chsh', '''''', 'y', '''', 'e', 'yu', 'ya');
function Transliterate(const Source: String): String;
var
I, M, Index: Integer;
begin
Result := '';
for I := 1 to Length(Source) do
begin
for M := 1 to 66 do
begin
Index := Pos(Source[i], CYRILLIC_SYMBOLS[M]);
if Index > 0 then
Result := Result + LATIN_SYMBOLS[Index]
else
Result := Result + Source[i];
end;
end;
end;
|