const
RuEn : array [0..65, 1..2] of char =
(('а','f'), ('б',','), ('в','d'), ('г','u'), ('д','l'), ('е','t'),
('ё','`'), ('ж',';'), ('з','p'), ('и','b'), ('й','q'), ('к','r'),
('л','k'), ('м','v'), ('н','y'), ('о','j'), ('п','g'), ('р','h'),
('с','c'), ('т','n'), ('у','e'), ('ф','a'), ('х','['), ('ц','w'),
('ч','x'), ('ш','i'), ('щ','o'), ('ъ',']'), ('ы','s'), ('ь','m'),
('э','''), ('ю','.'), ('я','z'), ('А','F'), ('Б',','), ('В','D'),
('Г','U'), ('Д','L'), ('Е','T'), ('Ё','`'), ('Ж',';'), ('З','P'),
('И','B'), ('Й','Q'), ('К','R'), ('Л','K'), ('М','V'), ('Н','Y'),
('О','J'), ('П','G'), ('Р','H'), ('С','C'), ('Т','N'), ('У','E'),
('Ф','A'), ('Х','['), ('Ц','W'), ('Ч','X'), ('Ш','I'), ('Щ','O'),
('Ъ',']'), ('Ы','S'), ('Ь','M'), ('Э','''), ('Ю','.'), ('Я','Z'));
function RuToEng(ds: char): char;
var
i: integer;
begin
for i:= 0 to 65 do
if ds = RuEn[i,1] then
begin
Result:= RuEn[i,2];
exit;
end;
end;
Simvoli v raznix roskladkax
iz odnoy roskladki na druguu.
K primeru nabor teksta v ENG izmenit na te-zhe simvoli RUS(esli oshibsya s roskladkoy pri nabore teksta).
Naprimer nabor:
Bcgjkmpjdfybt aeyrwbq c gthtvtyysv rjkbxtcndjv fhuevtynjd
funkciya menyaet na:
Использование функций с переменным количеством аргументов
i naoborot.
S lubimi drugimi yazikami sootvetstvenno zhelatelno tozhe.
Suschestvuet chto libo podobnoe v standartnom(ili ne ochen) WinAPI ?
Насколько знаю - нет. Такую функцию не так сложно написать, как по мне.
Vot podobnaya funktsiya, no tol'ko izvinite, na paskale (ne znayu, kakoj u Vas yazyk ispol'zuyetsya) Zdes' preobrazuyetsya po odnoj bukve zaraz, no yeye ne trudno peredelat' i na tseluye stroki, ispol'zuya tsikl.
Prosto hotelos uznat pro suschestvovanie standartnix realizaciy etogo.