Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 03:39 18.06.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Тема Конвертор кирилица <=> латиницанови  
Авторnmm (Нерегистриран)
Публикувано20.12.08 20:29



Колеги, някой правил ли е процедура която да конвертира кирилица в латиница и обратно? Не мисля че е сложно, но не ми се преоткрива колелото, а преполагам някои го е направил вече и то кадърно, и ако иска да го сподели за да го ползваме всички.
Предварително благодаря!



Тема Re: Конвертор кирилица <=> латиницанови [re: nmm]  
Автор Pechenia (нема лабаво ;-)
Публикувано21.12.08 18:57



Неприятния факт е че кирилици и латиници има доста. Ако конкретизираш от коя в коя и съответно потърсиш с чичо Гугъл, ще изникнат доста готови и изпробвани решения. Ако пък не си наясно какво търсиш, започни от http://free.hit.bg/injinera/na4alo.htm

чети и дишай по-леко



Тема Re: Конвертор кирилица <=> латиницанови [re: Pechenia]  
Авторnmm (Нерегистриран)
Публикувано24.12.08 16:23



Става въпрос за просто конвертиране на стринг написан на латиница във фонетичния му еквивалент и обратно.
Тея дни вероятно ще си го направа, че то докато го търся...



Тема Re: Конвертор кирилица <=> латиница [re: nmm]  
Автор Heykия (ентусиаст)
Публикувано25.12.08 18:54



нещо от сорта на следното треа ти свърши работа:
Function Convert(Var String1:String):String;
Const
Lat='AaBbCcDdEeFf';
Cyr='АаБбЦцДдЕеФф';
ch:char;P,i:Integer;S:String;
begin
s:='';
for i:=1 to Length(String1) do
begin
ch:=string1;
P:=Pos(ch,lat);
if P>0 then ch:=Cyr[P];
s:=s+ch;
end;
result:=s;
end;

Lat и Cyr стринговете ги допълваш така, че съответните букви да са на едно и също място в единия и другия стринг... Разбира се, че кода може да се оптимизира по различни варианти, но общо взето идеята е тази.
Може да съм допуснал нейде неква синтактична грешка. Некоя точйа, запетайка и т.н.



Тема Re: Конвертор кирилица <=> латиницанови [re: Heykия]  
Авторnmm (Нерегистриран)
Публикувано26.12.08 02:29



Колега, благодаря много.
Доразвих малко идеята ти и ето я тук за всички:

function Convert(String1:String; isBDS:boolean):String;
Const
Lat='~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?`1234567890-=qwertyuiop[]\asdfghjkl;''zxcvbnm,./';
Pho='&#215;!@#$%^&*()_+&#223;&#194;&#197;&#208;&#210;&#218;&#211;&#200;&#206;&#207;&#216;&#217;&#222;&#192;&#209;&#196;&#212;&#195;&#213;&#201;&#202;&#203;:"&#199;&#220;&#214;&#198;&#193;&#205;&#204;<>?&#247;1234567890-=&#255;&#226;&#229;&#240;&#242;&#250;&#243;&#232;&#238;&#239;&#248;&#249;&#254;&#224;&#241;&#228;&#244;&#227;&#245;&#233;&#234;&#235;;''&#231;&#252;&#246;&#230;&#225;&#237;&#236;,./';
BDS=')!?+"%=:/–&#185;$&#710;&#251;&#211;&#197;&#200;&#216;&#217;&#202;&#209;&#196;&#199;&#214;§“?&#223;&#192;&#206;&#198;&#195;&#210;&#205;&#194;&#204;&#215;&#222;&#201;&#218;&#221;&#212;&#213;&#207;&#208;&#203;&#193;(1234567890-.,&#243;&#229;&#232;&#248;&#249;&#234;&#241;&#228;&#231;&#246;;„&#252;&#255;&#224;&#238;&#230;&#227;&#242;&#237;&#226;&#236;&#247;&#254;&#233;&#250;&#253;&#244;&#245;&#239;&#240;&#235;&#225;';
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;

IsBDS е ако искате да обърнете от/към БДС подредбата. Ако първия char е кирилица - целия стринг се обръща към латиница и обратно.



Тема 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;



Тема Re: Конвертор кирилица <=> латиницанови [re: nmm]  
Автор Mixy (@#$%^)
Публикувано26.12.08 12:02



Когато постваш код, сложи [ pre ] таг преди това, за да ти се запази форматирането, иначе става мазало.

Весели празници!



Mixy


Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.