Ввод символов через Alt+####

Russian main discussion
  • Author
  • Message
eil
Offline
Posts: 41
Joined: Sun Nov 15, 2009 5:53 pm
Location: Alex

Post by eil »

opk44 wrote:1. Что значит "не подходит"? Если есть физическое ограничение (в виде отсутствия NumPad), то волей-неволей надо определяться "вам шашечки или ехать?".
2. Решение с вставкой Unicod-символов по их коду с помощью скрипта показано KDJ довольно давно вот тут. Единственно, там вставка производится по шестнадцатеричному коду, а вам нужен десятичный. Поэтому в строке, где используется parseInt

Code: Select all

          sText += String.fromCharCode(parseInt(sHex.substr(i, 4), 16)); 
не забудьте обязательно поменять радикс с 16 на 10. (Также желательно убрать и прочие отсылки к шестнадцатеричной системе в скрипте, но это не обязательно).

Code: Select all

var hMainWnd = AkelPad.GetMainWnd(); 
var sDec = "0169"; 
var sText    = ""; 
var i; 

if (AkelPad.GetEditWnd()) 
{ 
  for (;;) 
  { 
    sDec = AkelPad.InputBox(hMainWnd, "", "ALT+", sDec); 

    if (! sDec) 
      break; 
    else if (/[^\d]+/i.test(sDec)) 
      AkelPad.MessageBox(hMainWnd, "Digits only (0-9).", "Error", 0x10 /*MB_ICONERROR*/); 
    else 
    { 
      if (sDec= sDec.substr(0, Math.floor(sDec.length / 4) * 4)) 
      { 
        for (i = 0; i < sDec.length; i += 4) 
          sText += String.fromCharCode(parseInt(sDec.substr(i, 4), 10)); 

        AkelPad.ReplaceSel(sText); 
      } 
      break; 
    } 
  } 
}
"не подходит" было о том что нажимать каждый раз Правка - Вставить Символ - и искать там нужный символ, так же нет дополнительной клавиатуры, потому и нужен был иной вариант. спасибо за наводку на скрипт, попробовал - работает.

Offline
Posts: 157
Joined: Thu Nov 26, 2015 8:03 pm
Location: Rostov-on-Don

Post by Eskander88 »

eil wrote:вопрос по этой же теме - так как на ноуте без NumPad через Alt+код получить символы?
сразу скажу, это для портативной версии, никаких правок реестра, так же "вставка символа" тут не подходит.
на некоторых ноутбуках цифры numpad клавиатуры расположены на основной и выделены отличным от других клавиш цветом.. для доступа к такому numpad необходимо зажать клавишу "Fn"
Post Reply