Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26151
Рейтинг: 2127
#61: 2012-03-10 15:04:55 ЛС | профиль | цитата
Andrey, а что, у нас нет штатного компонента, который способен это делать -- MultiReplace.
Зачем именно IC К тому же, не плохо бы и на год поста глянуть, на дворе уже 2012, а пост от 10 окт 2010.
карма: 22

0
Ответов: 1061
Рейтинг: 22
#62: 2012-03-10 15:07:00 ЛС | профиль | цитата
nesco,
ser_davkin писал(а):
желательно в IC

карма: 0

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#63: 2012-03-10 15:08:26 ЛС | профиль | цитата
RinniX, год поста посмотри
карма: 22

0
Ответов: 1061
Рейтинг: 22
#64: 2012-03-10 15:10:55 ЛС | профиль | цитата
nesco, я видел! Надо-же Andrey помнит это, ещё наверное в то время поставил себе цель помочь человеку, и как видите сдержал сам свои обещания!
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#65: 2012-03-10 17:05:04 ЛС | профиль | цитата
nesco писал(а):
а что, у нас нет штатного компонента, который способен это делать
способен, но... заполнить два компонента (туда и обратно) - вся охота пропадает.
Вот (для тех, кто захочет сделать транслит) повторяемость букв русского алфавита:
рангбукваупотреблений
1о52295949
2е40392978
3а38081816
4и35075552
5н31900994
6т30084462
7с26058590
8р22595850
9в21582499
10л20678280
11к16599539
12м15252377
13д14173134
14п13349597
15у12452612
16я9528713
17ы9036813
18ь8263123
19г8031521
20з7811723
21б7579289
22ч6904749
23й5753983
24х4597146
25ж4476464
26ш3420179
27ю3044673
28ц2314208
29щ1719607
30э1573696
31ф1268926
32ъ175908
33ё63623

Andrey, знакомому покажи эту табличку
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#66: 2012-03-10 18:03:46 ЛС | профиль | цитата
Tad писал(а):
но... заполнить два компонента

Один за тебя уже сделали, в примерах лежит, ничего там сложного нет
карма: 22

0
Ответов: 3851
Рейтинг: 159
#67: 2012-03-10 19:03:34 ЛС | профиль | цитата
во, блин о_О не ожидал..

Народ, я не готов комментировать чужое детище. Спрошу лишь - его смотрели?
дело в том, что (насколько я понял) там есть тонкость - возможны несколько вариантов замены одной и той же буквы..

Tad, я сам не занимался транслитерацией, поэтому видимо что-то пропустил - я понимаю смысл таблицы частотной зависимости, но как её использовать?
карма: 0
начавший
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#68: 2012-03-10 19:13:26 ЛС | профиль | цитата
Andrey писал(а):
возможны несколько вариантов замены одной и той же буквы..

Все это можно сделать в MultiReplace. Специально же создавали этот компонент для таких целей. Работы-то на десять минут -- один раз набить список замены
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#69: 2012-03-10 19:35:43 ЛС | профиль | цитата
Andrey писал(а):
как её использовать?

#pas
const
R1:string='ёйцукенгшщзхъфывапролджэячсмитьбю';
R2:string='ЁЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ';
вот здесь буквы желательно расположить в том порядке, что в табличке
Буква "о" встречается в 820 раз чаще буквы "ё".
А он поставил "ё" на первое место, а чтобы добраться до "о" нужно сделать 20 сравнений.
Ускорит работу проги.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 3851
Рейтинг: 159
#70: 2012-03-10 19:39:18 ЛС | профиль | цитата

Tad, ок
карма: 0
начавший
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#71: 2012-03-10 19:44:29 ЛС | профиль | цитата
Для особо ленивых привожу список транслита En -> Ru для MultiReplace по мотивам приведенного кода



Add(StrList,4872241,315,357)
{
@Hint=#17:translit en -> ru|
Strings=#9:shch = щ;|11:tsya = тся;|12:dniy = дный;|10:aya = ая;|10:iya = ия;|10:oyu = ою;|10:oya = оя;|11:tst = тст;|11:tsk = тск;|9:tch = ч;|11:dya = дья;|11:tya = тья;|10:oyo = оё;|11:liy = лый;|10:nb = нь;|9:ya = я;|9:yo = ё;|9:yu = ю;|9:ja = я;|10:je = же;|10:ju = жу;|10:ji = жи;|9:kh = х;|9:zh = ж;|9:ts = ц;|9:tz = ц;|9:tc = ц;|9:ch = ч;|9:sh = ш;|10:zj = зь;|10:ay = ай;|10:ey = ей;|10:iy = ий;|10:oy = ой;|10:uy = уй;|10:yy = ый;|9:q = к;|9:w = в;|9:e = е;|9:r = р;|9:t = т;|9:y = ы;|9:u = у;|9:i = и;|9:o = о;|9:p = п;|9:a = а;|9:s = с;|9:d = д;|9:f = ф;|9:g = г;|9:h = х;|9:j = й;|9:k = к;|9:l = л;|9:z = з;|10:x = кс;|9:c = ц;|9:v = в;|9:b = б;|9:n = н;|9:m = м;|9:' = ь;|
AddHint(52,-28,84,13,@Hint)
}

карма: 22

0
Ответов: 3889
Рейтинг: 362
#72: 2012-03-10 21:03:19 ЛС | профиль | цитата
nesco,
nesco писал(а):
|10:ju = ?1;|10:ji = ?2


Кстати, частотное расположение, упомянутое Tad, так же должно ускорить работу в этом примере.
карма: 1

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#73: 2012-03-10 21:51:38 ЛС | профиль | цитата
1nd1g0 писал(а):
Кстати, частотное расположение

У меня нет частотной выборки для английчского языка, чем может помочь таблица, когда там кириллица, она для RU -> EN пойдет
Насчет цифр с вопросом, то так в коде написано, что это, и почему так -- я без понятия. Какие ваши предложения
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#74: 2012-03-10 22:15:52 правка | ЛС | профиль | цитата


Редактировалось 7 раз(а), последний 2021-06-24 06:58:21
карма: 0

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#75: 2012-03-10 22:27:00 ЛС | профиль | цитата
Одно получили, осталось выяснить, чем заменить вопросы
Хотя, таблица выборки для алгоритма MultiReplac-a до одного места, он весь список замены в любом случае перешарашивает
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)