Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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 минут&#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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.009 c
15-1207821509
arhis
2008-04-10 13:58
2008.05.25
Зарядка для программиста


15-1207762983
@!!ex
2008-04-09 21:43
2008.05.25
У кого под рукой есть дельфи


2-1208884293
Agent89
2008-04-22 21:11
2008.05.25
Положение курсора вне формы


2-1209288486
hahol_64_rus
2008-04-27 13:28
2008.05.25
DBImage


15-1207818013
Ega23
2008-04-10 13:00
2008.05.25
Нужен совет





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский