Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBExpert Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Баг и мешанина с хоткеями  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3331
Fr0sT-Brutal
Непонятно, зачем в приципе менять шорткаты только в текущей сессии.


Потому что это просто, и решает твою проблему, например. И живут эти скрипты/блоки в user database, а не в каком-то scm-файле, про который даже я забываю.
28 сен 20, 17:32    [22205845]     Ответить | Цитировать Сообщить модератору
 Re: Баг и мешанина с хоткеями  [new]
Fr0sT-Brutal
Member

Откуда:
Сообщений: 466
IBExpert
Потому что это просто, и решает твою проблему, например. И живут эти скрипты/блоки в user database, а не в каком-то scm-файле, про который даже я забываю.

Ну а кто ж заставлял делать эти странные scm файлы ))) жили б настройки в виде текста в базе, проблем было б намного меньше. Ну да ладно. Мне не в лом сделать стартовый скрипт. Тем более что он, судя по всему, запускается до применения шорткатов, и в итоге меняет их как и ожидалось.
28 сен 20, 18:24    [22205900]     Ответить | Цитировать Сообщить модератору
 Re: Баг и мешанина с хоткеями  [new]
Fr0sT-Brutal
Member

Откуда:
Сообщений: 466
Всё работает, метод хоть и странный, но задачу выполняет, я доволен вполне.

-- Стартовый скрипт для настройки
execute ibeblock
as
begin
  -- ## Меняем шорткаты для некоторых действий удаления на единообразные (Delete) ##
  -- 1652 Drop/delete domain
  -- 1809 Delete (generators)
  -- 1628 Delete (exceptions)
  -- 1710 Drop/delete field
  ShortCutCodesStr = '1652;1809;1628;1710';
  ShortCutCodes = ibec_Explode(';', ShortCutCodesStr);
  for i = 0 to ibec_High(ShortCutCodes) do
  begin
    Res = ibec_ibe_SetLngShortcut(ibec_Cast(ShortCutCodes[i], __typeInteger), 'Del');
    if (Res = 0) then
    begin
      ibec_ShowMessage('ibec_ibe_SetLngShortcut вернула ошибку');
      Break;
    end;
  end;

end;
28 сен 20, 18:59    [22205923]     Ответить | Цитировать Сообщить модератору
 Re: Баг и мешанина с хоткеями  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3331
Fr0sT-Brutal

Ну а кто ж заставлял делать эти странные scm файлы ))) жили б настройки в виде текста в базе, проблем было б намного меньше.


Прикинь, это делалось еще тогда, когда никакой "базы" и в помине не было. Как бы не двадцать лет назад...
Тебя тогда рядом не оказалось, поэтому наставить на путь истинный было просто некому.
29 сен 20, 09:39    [22206157]     Ответить | Цитировать Сообщить модератору
 Re: Баг и мешанина с хоткеями  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3331
Fr0sT-Brutal
Всё работает, метод хоть и странный


Гы. Четыре последовательных вызова ibec_ibe_SetLngShortcut безо всяких извращений - слишком просто для настоящего джедая?
И эти люди запрещают нам ковыряться в носу...
29 сен 20, 09:41    [22206159]     Ответить | Цитировать Сообщить модератору
 Re: Баг и мешанина с хоткеями  [new]
Fr0sT-Brutal
Member

Откуда:
Сообщений: 466
IBExpert
Прикинь, это делалось еще тогда, когда никакой "базы" и в помине не было. Как бы не двадцать лет назад...
Тебя тогда рядом не оказалось, поэтому наставить на путь истинный было просто некому.

Ну чего ты в бутылку лезешь? Если бы все оправдывали легаси исключительно тем, что было раньше, все до сих пор бы жили в пещерах.
IBExpert
Гы. Четыре последовательных вызова ibec_ibe_SetLngShortcut безо всяких извращений - слишком просто для настоящего джедая?
И эти люди запрещают нам ковыряться в носу...

Не люблю дублирования. И я бы рад сделать через массив интов, но возможности его объявить я не нашел
29 сен 20, 10:35    [22206209]     Ответить | Цитировать Сообщить модератору
 Re: Баг и мешанина с хоткеями  [new]
IBExpert
Member

Откуда: От верблюда
Сообщений: 3331
Fr0sT-Brutal
Если бы все оправдывали легаси исключительно тем, что было раньше, все до сих пор бы жили в пещерах.


Оно работает? Работает. То, что кого-то такая реализация не очень устраивает, еще нифига не повод все переделывать. И все не так просто, как тебе оттуда кажется.

Fr0sT-Brutal

Не люблю дублирования. И я бы рад сделать через массив интов, но возможности его объявить я не нашел


Да делай как хочешь, мне все равно. Только не рассказывай мне, как надо было делать 20 лет назад. Я задним умом тоже офигенно крепок.

А массив создать очень просто:
ShortCutCodes = ibec_Array(1652, 1809, 1628, 1710);
29 сен 20, 11:32    [22206251]     Ответить | Цитировать Сообщить модератору
 Re: Баг и мешанина с хоткеями  [new]
Fr0sT-Brutal
Member

Откуда:
Сообщений: 466
IBExpert
Оно работает? Работает. То, что кого-то такая реализация не очень устраивает, еще нифига не повод все переделывать. И все не так просто, как тебе оттуда кажется.

Да делай как хочешь, мне все равно. Только не рассказывай мне, как надо было делать 20 лет назад. Я задним умом тоже офигенно крепок.

А массив создать очень просто:
ShortCutCodes = ibec_Array(1652, 1809, 1628, 1710);

Слушай, ну вот зачем так ершиться? Насчет файла я без претензий и наездов, там смайлик специально стоит. И конкретно эта штука мне никоим образом не мешает. Все имеют дело со старым софтом, у всех самые разные ситуации бывают.
Вот за функцию спасибо! Сложно догадаться искать её в разделе Dataset. Итоговый вариант:
-- Стартовый скрипт для настройки
execute ibeblock
as
begin
  -- ## Меняем шорткаты для некоторых действий удаления на единообразные (Delete) ##
  -- 1652 Drop/delete domain
  -- 1809 Delete (generators)
  -- 1628 Delete (exceptions)
  -- 1710 Drop/delete field
  ShortCutCodes = ibec_Array(1652, 1809, 1628, 1710);
  for i = 0 to ibec_High(ShortCutCodes) do
  begin
    Res = ibec_ibe_SetLngShortcut(ShortCutCodes[i], 'Del');
    if (Res = 0) then
    begin
      ibec_ShowMessage('ibec_ibe_SetLngShortcut вернула ошибку');
      Break;
    end;
  end;

end;
29 сен 20, 11:47    [22206268]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / IBExpert Ответить