Неправильно вводится регФайл

Здесь обсуждаются темы, косвенно связанные с Far.
Post Reply
User avatar
Konstantin
Posts: 234
Joined: Wed 14 Jun, 2006 19:29
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 5 times

Неправильно вводится регФайл

Post by Konstantin »

Имею регФайл:

Code: Select all

REGEDIT4

[HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\CtrlAltEnter]
"Sequence"="$if(panel.fexist(1,panelitem(0,0,0))) "cd " CtrlEnter Tab Enter Tab Enter $End"
"DisableOutput"=dword:00000001
"EmptyCommandLine"=dword:00000001
"Description"="jbak-макрос: Вход в одноимённые папки на обеих панелях одновременно"
@="jbak-макрос: Вход в одноимённые папки на обеих панелях одновременно"
В регистри он записывается:

Code: Select all

REGEDIT4

[HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\CtrlAltEnter]
"DisableOutput"=dword:00000001
"EmptyCommandLine"=dword:00000001
"Description"="jbak-макрос: Вход в одноимённые папки на обеих панелях одновременно"
@="jbak-макрос: Вход в одноимённые папки на обеих панелях одновременно"

Пробовал вписать недостающую строку вручную — скидывает.
Впервые такое встречаю.
«Раньше я думал, что чудаки это те, кто делают странные вещи. Теперь я знаю, что это те, кто называют других странными.» (П. Маккартни)
User avatar
HaRT
Moderator
Posts: 10863
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

Konstantin
Вот правильная строка:

Code: Select all

"Sequence"="$if(panel.fexist(1,panelitem(0,0,0))) \"cd \" CtrlEnter Tab Enter Tab Enter $End"
(обратите внимание на 2 обратных слэша)
User avatar
Konstantin
Posts: 234
Joined: Wed 14 Jun, 2006 19:29
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 5 times

Post by Konstantin »

HaRT
Действительно! Спасибо! А то я уже было Registry Browser Plugin начал подозревать — ввёл эту строку в виндовом редакторе реестра и всё заработало. Но при экспортировании он создал файл с этими слэшами!

Благодарю за разъяснение, а то бы я ещё долго терзался что к чему.

Удачного Вам творчества!
«Раньше я думал, что чудаки это те, кто делают странные вещи. Теперь я знаю, что это те, кто называют других странными.» (П. Маккартни)
User avatar
HaRT
Moderator
Posts: 10863
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

Konstantin
Домашнее задание: написать REG-файл, который бы создал строковое значение, содержащее обратный слэш. :P
User avatar
Konstantin
Posts: 234
Joined: Wed 14 Jun, 2006 19:29
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 5 times

Post by Konstantin »

HaRT
Благодарю Вас за науку! Догадался не сразу, если Вы это имели ввиду:

Code: Select all

REGEDIT4

[HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\CtrlAltPgDn]
"Sequence"="Add BackSlash "
"DisableOutput"=dword:00000001
Такая бесполезная миниатюра подходит?

А вот Ваш макрос перехода в корень диска на обеих панелях одновременно:

Code: Select all

[HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\CtrlAltBackSlash]
"Sequence"="$If ( PPanel.Visible ) $Rep ( 2 ) Tab CtrlBackSlash $End $Else CtrlBackSlash $End"
"DisableOutput"=dword:00000001
"Description"="HaRT-макрос: Переход в корень диска на обеих панелях одновременно"
@="HaRT-макрос: Переход в корень диска на обеих панелях одновременно"
Это уже вполне практично!

Ещё раз благодарю за щедрый подарок!

Творческих Вам удач в совершенствовании ФАРа!
«Раньше я думал, что чудаки это те, кто делают странные вещи. Теперь я знаю, что это те, кто называют других странными.» (П. Маккартни)
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Konstantin
Хе хе, хитро выпендрился :) Имелся ввиду макрос со строкой "abc\abc"
User avatar
Konstantin
Posts: 234
Joined: Wed 14 Jun, 2006 19:29
Location: Санкт-Петербург
Has thanked: 109 times
Been thanked: 5 times

Post by Konstantin »

t-rex
t-rex wrote:Konstantin
Имелся ввиду макрос со строкой "abc\abc"
Ну!.. Это совсем не понятно, потребуются мне, видно, разъяснения. Однако, для начала сам посмотрю. Спасибо!

Добавлено после выходных:
HaRT
t-rex
Посмотрел. Увидел такое: "abc\\abc". Т.е. обратный слеш в строковом параметре регистри нужно предварять самим собой. Других способов пока не обнаружил. Да и так удобно.

При этом нечаянно получается фокус — количество предваряющих слэшей, видимо, ограничено только нецелесообразностью лепить их много. Во всяком случае, такая вот конструкция вполне прокатывает:

Code: Select all

REGEDIT4

[HKEY_CURRENT_USER\Software\Far\KeyMacros\Shell\CtrlAlt0]
"Sequence"="c d Space K : \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ D Enter"
Ещё раз благодарю за науку.


Успехов вам в трудном руководящем деле, а также и в личном плане!
«Раньше я думал, что чудаки это те, кто делают странные вещи. Теперь я знаю, что это те, кто называют других странными.» (П. Маккартни)
Post Reply

Return to “Операционные системы, командные оболочки и прочее”