Delphi. пример программы перевода имени на японский транслейт
Функции перевода с русского на японский манер Пример перемещения формы по экрану за любую точку
Взято с сайта VK.com
Function GetRusToJPN(RusV:string):string; const
rusold:array[1..32] of string[3]=('А','Б','В','Г','Д','Е','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ' ,'Ы','Ь','Э','Ю','Я'); rus:array[1..32] of string[3]= ('КА','ЗУ','РУ','ЖИ','ТЭ','КУ','СУ','З','КИ','КИ','МЭ','ТА','РИН','ТО','МО','НО','ШИ','АРИ','ЧИ','ДО','ЛУ','РИ', 'МИ', 'КЭ','ХИ','ХИ','ЗУК','ЗУК','ЗУК','МЭЙ','ФУ','НА'); var l,x:integer; eng:string; begin eng:=''; l:=length(RusV); for X:=1 to l do begin if (rusv[x]<='А') then eng:=eng+rusv[x] else if LowerCaseRus(rusv[x])=(rusv[x]) then begin // если симовл низкий то eng:=eng+LowerCaseRus(rus[ord(UpperCaseRus(RusV[x])[1])-ord('А')+1]); end else if LowerCaseRus(rusv[x+1])=(rusv[x+1]) then // если символ следующий за большим символом низкий то делаем второй символ транслейта тоже низким
eng:=eng+copy(rus[ord(UpperCaseRus(RusV[x])[1])-ord('А')+1],1,1)+LowerCaseRus(copy(rus[ord(UpperCaseRus(RusV[x])[1])-ord('А')+1],2,3)) else eng:=eng+rus[ord(UpperCaseRus(RusV[x])[1])-ord('А')+1] end; result:=eng;
end; /40_perevod.zip
|