Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.25;
Скачать: CL | DM;

Вниз

Заменить некоторые русские буквы на похожие из английского в текс   Найти похожие ветки 

 
webSQLNeederr   (2008-04-24 15:18) [0]

Есть текст, необходимо заменить некоторые буквы, скажем "с", "к", "о", "р" на латинские. Подскажите как это сделать.

Первое что приходит на ум это AnsireplaceText(text,"o","o");

Но я подозреваю здесь нужно через их ASCII код менять ... Подскажите верный вариант ...


 
Kolan ©   (2008-04-24 15:26) [1]

Да как угодно, работы на 5 минут&#133


 
webSQLNeederr   (2008-04-24 15:31) [2]

как угодно ... как правельно то !!?


 
tesseract ©   (2008-04-24 15:44) [3]


> Первое что приходит на ум это AnsireplaceText(text,"o","o");
> Но я подозреваю здесь нужно через их ASCII код менять ..
> . Подскажите верный вариант ...


А разница-то какая ? Оба правИльные.


 
webSQLNeederr   (2008-04-24 15:45) [4]


> А разница-то какая ? Оба правИльные.


Точно??


 
Palladin ©   (2008-04-24 15:45) [5]

:)) в орешник...


 
webSQLNeederr   (2008-04-24 15:48) [6]

Я повторяю вопрос - ЭТО ТОЧНО???


 
palva ©   (2008-04-24 15:49) [7]

Букв много, поэтому расточительно пользоваться функциями типа Replace. Для каждой буквы текст будет просматриваться снова и снова. Лучше просматривать строку один раз, а каждый символ заменять по правилу:
s[i] := tablica[ord(s[i])];
где tablica представляет собой таблицу замен и имеет тип array [0..255] of char


 
Сергей М. ©   (2008-04-24 15:50) [8]


> webSQLNeederr   (24.04.08 15:48) [6]


Это точно же настолько, насколько точно утверждение:

2 *2 = 1 * 4

)


 
han_malign ©   (2008-04-24 15:54) [9]

const transcodWin1251ToLat: array[char] of char = (
#$00,#$01,#$02,#$03,#$04,#$05,#$06,#$07,#$08,#$09,#$0A,#$0B,#$0C,#$0D,#$0E,#$0F,
#$10,#$11,#$12,#$13,#$14,#$15,#$16,#$17,#$18,#$19,#$1A,#$1B,#$1C,#$1D,#$1E,#$1F,
#$20,#$21,#$22,#$23,#$24,#$25,#$26,#$27,#$28,#$29,#$2A,#$2B,#$2C,#$2D,#$2E,#$2F,
#$30,#$31,#$32,#$33,#$34,#$35,#$36,#$37,#$38,#$39,#$3A,#$3B,#$3C,#$3D,#$3E,#$3F,
#$40,#$41,#$42,#$43,#$44,#$45,#$46,#$47,#$48,#$49,#$4A,#$4B,#$4C,#$4D,#$4E,#$4F,
#$50,#$51,#$52,#$53,#$54,#$55,#$56,#$57,#$58,#$59,#$5A,#$5B,#$5C,#$5D,#$5E,#$5F,
#$60,#$61,#$62,#$63,#$64,#$65,#$66,#$67,#$68,#$69,#$6A,#$6B,#$6C,#$6D,#$6E,#$6F,
#$70,#$71,#$72,#$73,#$74,#$75,#$76,#$77,#$78,#$79,#$7A,#$7B,#$7C,#$7D,#$7E,#$7F,
#$80,#$81,#$82,#$83,#$84,#$85,#$86,#$87,#$88,#$89,#$8A,#$8B,#$8C,#$8D,#$8E,#$8F,  
#$90,#$91,#$92,#$93,#$94,#$95,#$96,#$97,#$98,#$99,#$9A,#$9B,#$9C,#$9D,#$9E,#$9F,
#$A0,#$A1,#$A2,#$A3,#$A4,#$A5,#$A6,#$A7, "Ё",#$A9,#$AA,#$AB,#$AC,#$AD,#$AE,#$AF,
#$B0,#$B1,#$B2,#$B3,#$B4,#$B5,#$B6,#$B7, "ё",#$B9,#$BA,#$BB,#$BC,#$BD,#$BE,#$BF,
 "А", "Б", "В", "Г", "Д", "Е", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П",
 "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я",
 "а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п",
 "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю",#$FF
);

меняем буковки на нужные и:
for i:= 1 to length(text) do text[i]:= transcodWin1251ToLat[text[i]];

и хоть в транслитерацию, хоть в Koi-8r, et cetera, et cetera, et cetera...


 
Игорь Шевченко ©   (2008-04-24 16:44) [10]


> s[i] := tablica[ord(s[i])];
> где tablica представляет собой таблицу замен и имеет тип
> array [0..255] of char


нихрена. tablica представляет собой таблицу замен и имеет тип massiv [0..255] of char


 
han_malign ©   (2008-04-24 17:13) [11]


> massiv [0..255] of char

- не вынесла душа поэта...

во - полная таблица simvolov в русской локали:
const
  win1251: array[char] of Char =
   ^@^A^B^C^D^E^F^G^H^I^J^K^L^M^N^O^P^Q^R^S^T^U^V^W^X^Y^Z^[^\^]^^^_+
   " !"#$%&""()*+,-./0123456789:;<=>?"+
   "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_"+
   "`abcdefghijklmnopqrstuvwxyz{|}~"^?+
   ^А^Б^В^Г^Д^Е^Ж^З^И^Й^К^Л^М^Н^О^П^Р^С^Т^У^Ф^Х^Ц^Ч^Ш^Щ^Ъ^Ы^Ь^Э^Ю^Я+
   ^а^б^в^г^д^е^ж^з^и^й^к^л^м^н^о^п^р^с^т^у^ф^х^ц^ч^ш^щ^ъ^ы^ь^э^ю^я+
   "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"+
   "абвгдежзийклмнопрстуфхцчшщъыьэюя";


 
Sha ©   (2008-04-29 13:45) [12]

пишем антиантиплагиат? ))



Страницы: 1 вся ветка

Текущий архив: 2008.05.25;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.013 c
2-1208870117
ekto
2008-04-22 17:15
2008.05.25
Отправка письма с пом. Indy


15-1207919957
IvanBs
2008-04-11 17:19
2008.05.25
SSL


2-1209113412
ZENsan
2008-04-25 12:50
2008.05.25
Куда девается памаять?


15-1207680695
ProgRAMmer Dimonych
2008-04-08 22:51
2008.05.25
Электронная почта


2-1209742904
dest81
2008-05-02 19:41
2008.05.25
FireBird