Ф-ия переколдовки (translit)

Тема в разделе "Lotus - Программирование", создана пользователем LIGHT, 7 апр 2008.

Статус темы:
Закрыта.
  1. LIGHT

    LIGHT Гость

    Не у кого не завалялся ли сей функционал, нужно на LS кириллические буковки перевратить в их аналог на латыне

    Заранее спасибо
     
  2. Yakov

    Yakov Гость

    @ReplaceSubString
     
  3. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    оригинальный LS
     
  4. LIGHT

    LIGHT Гость

    Хм. Это на собачке, аналог на лотусе работает только по символьно
    АБВГДЖЗИКЛМНОПРСТ... Ю
    Соответственно заморочка начнется там где аналог есть 2 знака YU CH ZH
    Значит это должет быть два массива в 64 элемента каждый (т.к. регистр важен)
    А дальше уже работать с элементами массива.
    Вот и справшиваю, может кто имеет уже рабочую ф-ию.
     
  5. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    ну тут мона зайюзать ка написанно тут
    Код (Text):
     StrReplace=Implode(Split(stroka,symbolA),symbolB)
    кол-во символов не будет иметь значения
     
  6. Yakov

    Yakov Гость

    Evaluate :)

    Пишу прямо здесь.
    Код (Text):
    Public Function translit(s As String) As String
    Dim cyr As Variant
    Dim lat As Variant
    Dim conv List As String
    Dim i As Integer
    Dim c As String
    Dim result As String
    cyr = Split("А,Б,В,Г,Д,Е,Ё", ",")
    lat = Split("A,B,V,G,D,E,Yo", ",")
    For i = 0 To Ubound(cyr)
    conv(Cstr(cyr(i))) = Cstr(lat(i))
    Next
    For i = 1 To Len(s)
    c = Mid$(s, i, 1)
    If Iselement(conv(c)) Then
    result = result + conv(c)
    Else
    result = result + c
    End If
    Next
    translit = result
    End Function
     
  7. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    это быстрее
    Код (Text):
    StrReplace=Implode(Split(stroka,symbolA),symbolB)
    чем посимвольная замена
     
  8. Yakov

    Yakov Гость

    И правда быстрее. На 10%. 750 мс против 828 мс на тексте в 18 тыс. символов.
     
  9. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Yakov
    опытным путём или с потолка?
     
  10. Yakov

    Yakov Гость

    Morpheus
    Конечно, опытным.
     
  11. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    проверено опыт:)м
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей