Транслітерація, DelphiSite
Найбільш читане
Транслітерація
Наприклад, молоко – moloko. І все. Ось приклад функції, яка транслює з українських слів до англійських. Сталася, коли потрібно було файли в mp3-плеєр переганяти - він українську не розуміє.
function Convert (OldName: string): string;
function Convert (OldName: string): string;
var OldNameLength: integer ;
OldNameLength: = length (OldName);
while i do begin
if (OldName [i] in ['A'..'Z'] + ['a'..'z'] + ['0'..'9'] +
then s:=s+OldName [i];
if OldName [ i ] in [ 'А' , 'Б' , 'а' , 'б' ] then
s: = s + chr (ord (OldName [i]) -127);
if OldName [i] in [ 'В', 'в'] then
s: = s + chr (ord (OldName [i]) -108);
if OldName [ i ] in [ 'Г' , 'г' , 'Ж' , 'ж' ] then
s: = s + chr (ord (OldName [i]) -124);
if OldName [ i ] in [ 'Д' , 'д' , 'Е' , 'е' ] then
s: = s + chr (ord (OldName [i]) -128);
if OldName [i] in [ 'З', 'з'] then
s: = s + chr (ord (OldName [i]) -109);
if OldName [i] in [ 'І', 'і', 'К', 'к', 'Л', 'л', 'М', 'м', 'Н', 'н', 'О' , 'про' , 'П' , 'п'] then
s: = s + chr (ord (OldName [i]) -127);
if OldName [ i ] in [ 'Й' , 'й' ] then
s: = s + chr (ord (OldName [i]) -128);
if OldName [i] in [ 'Р', 'р', 'С', 'с', 'Т', 'т', 'У', 'у'] then
s: = s + chr (ord (OldName [i]) -126);
if OldName [i] in [ 'Ф', 'ф'] then
s: = s + chr (ord (OldName [i]) -142);
if OldName [i] in [ 'Х', 'х'] then
s: = s + chr (ord (OldName [i]) -141);
if OldName [ i ] in [ 'Ц' , 'ц' ] then
s:=s+ chr(ord (OldName [i]) -147);
if OldName [ i ] in [ 'Ы' , 'ы' ] then
s: = s + chr (ord (OldName [i]) -130);
if OldName [ i ] in [ 'Е' , 'е' ] then
s: = s + chr (ord (OldName [i]) -152);
if OldName [ i ] = 'Е' then s:=s+ 'Yo' ;
if OldName [ i ] = 'е' then s:=s+ 'yo' ;
if OldName [i] = 'Ч' then s:=s+ 'Ch';
if OldName [i] = 'год' then s:=s+ 'ch';
if OldName [i] = 'Ш' then s:=s+ 'Sh';
if OldName [i] = 'ш' then s:=s+ 'sh';
if OldName [ i ] = 'Щ' then s:=s+ 'Sch' ;
if OldName [i] = 'щ' then s:=s+ 'sch';
if OldName [i] in ['Ъ', 'ъ', 'Ь', 'ь'] then s:=s+ chr (39);