Страница 1 из 1

RUS <-> ENG

Добавлено: 28 Июнь 2018, 8:13
Игорь Столяров
Привет всем !

Не хочу изобретать велосипед. :)
Подскажите пожалуйста, существует где-нибудь готовый метод для конвертации строк,
набранных в неправильной раскладке. Причём можно даже без детектирования.

То есть юзер хотел набрать "мышь белая", но из-за неправильной раскладке ввёл "vsim ,tkfz".
и что бы можно было быстро это конвертнуть в русскую раскладку ввода (и наоборот).

Заранее спасибо ! :)

RUS <-> ENG

Добавлено: 28 Июнь 2018, 9:27
Admin
Вот на коленке сделал:

Код: Выделить всё

                PROGRAM
                MAP
                  convert2(string str, byte direction),string
                END

  CODE
  message(convert2('Ghbvth yf heccrjv zpsrt фтв щт Утпдшыр!', 3))

convert2    procedure(string str, byte direction)!,string
str1        string('йцукенгшщзхъфывапролджэячсмитьбюё')
str2        string('qwertyuiop[]asdfghjkl;''zxcvbnm,.`')
c           long
l           long
p           long
  code
  l = len(clip(str))
  loop c = 1 to l
    case direction
    ! russian to english = 1
    of 1
      p = instring(lower(str[c]),str1,1,1)
      if p
        if str[c] = lower(str[c])
          str[c] = str2[p]
        else
          str[c] = upper(str2[p])
        end
      end
    ! english to russian = 2
    of 2
      p = instring(lower(str[c]),str2,1,1)
      if p
        if str[c] = lower(str[c])
          str[c] = str1[p]
        else
          str[c] = upper(str1[p])
        end
      end
    ! toggle language = 3
    of 3
      p = instring(lower(str[c]),str1,1,1)
      if p
        if str[c] = lower(str[c])
          str[c] = str2[p]
        else
          str[c] = upper(str2[p])
        end
      else
        p = instring(lower(str[c]),str2,1,1)
        if p
          if str[c] = lower(str[c])
            str[c] = str1[p]
          else
            str[c] = upper(str1[p])
          end
        end
      end
    end
  end
  return str

RUS <-> ENG

Добавлено: 28 Июнь 2018, 9:37
Yufil
Рассказать юзеру, например, про Punto Switcher или Keyboard Ninja. Или отсюда подобрать...
http://punto-switcher.su/faq/analog-windows/
Ну и в нужных полях явным образом устанавливать кириллическую раскладку, само собой...

RUS <-> ENG

Добавлено: 28 Июнь 2018, 9:57
Игорь Столяров
Спасибо ! :) Сейчас попробую. Про пунты - понятно, но это дополнительный чужой софт и т.д.

RUS <-> ENG

Добавлено: 28 Июнь 2018, 10:21
Yufil
Пунта с CW10 как-то не уживается, курсор теряется, а без неё скучно как-то... А Нинзю ставил юзерам когда-то. Благодарили :D

RUS <-> ENG

Добавлено: 28 Июнь 2018, 10:24
Admin
Я в некоторых случая у поля ввода показываю текущий язык
2018-06-28_17-23-36.png
2018-06-28_17-23-36.png (6.01 КБ) 3621 просмотр

RUS <-> ENG

Добавлено: 28 Июнь 2018, 10:44
Игорь Столяров
Admin писал(а): 28 Июнь 2018, 10:24Я в некоторых случая у поля ввода показываю текущий язык
Круто ! Но это ведь как-то надо обновлять при переключении раскладки, в т.ч. и в неактивных окнах.
Рассылать по потокам и обрабатывать события … Уф ...

RUS <-> ENG

Добавлено: 28 Июнь 2018, 12:33
Admin
Игорь Столяров писал(а): 28 Июнь 2018, 10:44Но это ведь как-то надо обновлять при переключении раскладки, в т.ч. и в неактивных окнах.
Вы это себе тут нафантазировали :)
Это редкий случай применения.
Типа, поле для поиска товара у службы поддержки. И поиск динамически фильтрует очередь по подстроке.
Так что тупо на таймере висит.

RUS <-> ENG

Добавлено: 28 Июнь 2018, 17:29
Игорь Столяров
Admin писал(а): 28 Июнь 2018, 9:27Вот на коленке сделал:
Спасибо, всё работает, но потребовался небольшой допил.
Английское: ><RF в русскую ЮБКА не переводилось. :(

RUS <-> ENG

Добавлено: 13 Сентябрь 2018, 20:45
AndreyH
А как отобразить русский текст в списке темплейтов или списке процедур app-шника для Clarion10. Например, при редактировании темплейта нормальный русский заголовок, а в списке темплейтов - кракозябры. В Tools-Options все посмотрел, но нужной настройки не нашел.
Заранее благодарю.

RUS <-> ENG

Добавлено: 13 Сентябрь 2018, 20:49
Ал
AndreyH писал(а): 13 Сентябрь 2018, 20:45А как отобразить русский текст в списке темплейтов или списке процедур app-шника для Clarion10. Например, при редактировании темплейта нормальный русский заголовок, а в списке темплейтов - кракозябры.
Заранее благодарю.
глянь сюда viewtopic.php?f=1&t=3944 ммм --
Кракозябры в IDE

RUS <-> ENG

Добавлено: 13 Сентябрь 2018, 20:50
Дед Пахом

RUS <-> ENG

Добавлено: 14 Сентябрь 2018, 0:29
PavelNK
AndreyH писал(а): 13 Сентябрь 2018, 20:45А как отобразить русский текст в списке темплейтов или списке процедур app-шника для Clarion10. Например, при редактировании темплейта нормальный русский заголовок, а в списке темплейтов - кракозябры. В Tools-Options все посмотрел, но нужной настройки не нашел.
Заранее благодарю.
clarion.env
! Default Environment file for Clarion.exe
CLASYSTEMCHARSET=204
CLACHARSET=WINDOWS
CLACOLSEQ=WINDOWS
CLADIGRAPH=
CLACASE=WINDOWS
CLAMON=
CLAMONTH=
CLAAMPM=
CLAMSG=
CLABUTTON=
CLALAYOUT=

RUS <-> ENG

Добавлено: 14 Сентябрь 2018, 13:30
AndreyH
Помогло:
CLASYSTEMCHARSET=204
CLACHARSET=Cyrillic

Спасибо