Форум: "Начинающим";
Текущий архив: 2008.05.25;
Скачать: [xml.tar.bz2];
ВнизЗаменить некоторые русские буквы на похожие из английского в текс Найти похожие ветки
← →
webSQLNeederr (2008-04-24 15:18) [0]Есть текст, необходимо заменить некоторые буквы, скажем "с", "к", "о", "р" на латинские. Подскажите как это сделать.
Первое что приходит на ум это AnsireplaceText(text,"o","o");
Но я подозреваю здесь нужно через их ASCII код менять ... Подскажите верный вариант ...
← →
Kolan © (2008-04-24 15:26) [1]Да как угодно, работы на 5 минут…
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c