|
Тема |
Re: Конвертор кирилица <=> латиница [re: Heykия] |
|
Автор | nmm (Нерегистриран) | |
Публикувано | 26.12.08 02:46 |
|
|
В предния пост нещо се прецака кирилицата. Ако ползвате функциата, проверете дали са се копирали правилно констатите (за всеки случай).
Ето кода отново:
function Convert(String1:String; isBDS:boolean):String;
Const
Lat='~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?`1234567890-=qwertyuiop[]\asdfghjkl;''zxcvbnm,./';
Pho='Ч!@#$%^&*()_+ЯВЕРТЪУИОПШЩЮАСДФГХЙКЛ:"ЗЬЦЖБНМ<>?ч1234567890-=явертъуиопшщюасдфгхйкл;''зьцжбнм,./';
BDS=')!?+"%=:/–№$€ыУЕИШЩКСДЗЦ§“?ЯАОЖГТНВМЧЮЙЪЭФХПРЛБ(1234567890-.,уеишщксдзц;„ьяаожгтнвмчюйъэфхпрлб';
var
ch:char;P,i:Integer;
s, Cyr:String;
latToCyr:boolean;
begin
if isBDS then
cyr:=bds
else
cyr:=pho ;
s:='';
ch:= String1[1];
P:=Pos(ch,lat);
latToCyr:= P>0;
for i:=1 to Length(String1) do
begin
ch:= String1;
if lattocyr then
begin
P:=Pos(ch,lat);
if P>0 then
ch:=Cyr[P];
s:=s+ch;
end
else
begin
P:=Pos(ch,cyr);
if P>0 then
ch:=lat[P];
s:=s+ch;
end;
end;
result:=s;
end;
|
| |
|
|
|