баги, баги, баги...

Здесь обсуждается всё, что касается макросов.
User avatar
daregod
Posts: 103
Joined: Wed 16 Mar, 2005 16:51

баги, баги, баги...

Post by daregod » Sat 01 Apr, 2006 23:34

Странно работает функция fexist(), когда файла (существование которого она должна выявлять) реально не существует.
Судя по документации с http://api.farmanager.com/ru/macro/macr ... tions.html:
N=fexist(S) Проверяет существование файла/каталога S (возвращает 0 или 1).
Для относительного пути S проверка ведется на активной панели.
она должна просто возвратить 0, на практике же она выдаёт окошко
"File not found", которое приходится "Гасить" дополнительным Esc в макросе.
Это так и должно быть, или глюк?

Вот макрос, на котором я это нашёл:

Code: Select all

CtrlEnter %s=CmdLine.Value; $If (fexist(%s)==0) Esc $Exit $End %p=fsplit(%s,3); %f=fsplit(%s,12); Esc c d Space $Text %p Enter Alt. $Text %f Esc
Видно, что после $If (fexist(%s)==0) приходится использовать Esc вместо того чтобы сразу $Exit

User avatar
Zeroes
Мультикопипастер Броадкастер
Posts: 536
Joined: Wed 16 Mar, 2005 20:53
Location: Gomel \ Belarus
Contact:

Post by Zeroes » Sun 02 Apr, 2006 08:29

У меня не повторяется.

работает как надо.
FAR17 RELIS, w2003без sp1.

У тебя какая OS?
--- Zeroes & Ones ---

User avatar
daregod
Posts: 103
Joined: Wed 16 Mar, 2005 16:51

Post by daregod » Tue 04 Apr, 2006 18:37

А у меня повторяется. Вот я макрос сократил чтобы как раз прямо на этот диалог нарываться:

Code: Select all

REGEDIT4

[HKEY_CURRENT_USER\Software\Far\KeyMacros\Menu\CtrlS]
"Sequence"="CtrlEnter %s=CmdLine.Value; $If (fexist(%s)==0) $End"
"Description"="History: go to selected file"
Запускаю из File view history (Alt-F11) на файле, которого (уже) не существует.

Code: Select all

Edit: I:\1\?New File? <=< Тут жму CtrlS

&#9556;&#9552; File view history &#9552;&#9559;
&#9553;   File not found    &#9553;
&#9553;   I:\1\?New File?   &#9553;
&#9553;         Ok          &#9553;
&#9562;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9552;&#9565;
По идее, всё должно быть в подписи, но на всякий случай дублирую:
FAR manager, version 1.70 (build 2087) Interface: eng
WinXP SP1 Eng VLK

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Post by Skirda » Tue 04 Apr, 2006 19:11

daregod, откуда у тебя взялся "?New File?"?
Давай еще раз, по шагам.

1. Есть макрос для хистори.
2. Ты делаешь... (и дальше по шагам расписывай...)

User avatar
t-rex
Страшный и ужасный
Posts: 4901
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Contact:

Post by t-rex » Tue 04 Apr, 2006 20:19

Хе хе, это сообщение не появляется из за макроса - само меню истории показывает его при CtrlEnter. Вопрос тока нафига CtrlEnter такое делает - т.е. нафига он проверяет наличие файла.

User avatar
HaRT
Moderator
Posts: 8751
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 81 times
Been thanked: 148 times

Post by HaRT » Wed 05 Apr, 2006 11:58

t-rex wrote:Хе хе, это сообщение не появляется из за макроса - само меню истории показывает его при CtrlEnter. Вопрос тока нафига CtrlEnter такое делает - т.е. нафига он проверяет наличие файла.
Я этот вопрос уже поднимал более полугода назад вот тут наряду с не менее важными, но удовлетворительного ответа, к сожалению, так и не получил. :(

User avatar
daregod
Posts: 103
Joined: Wed 16 Mar, 2005 16:51

Post by daregod » Tue 18 Apr, 2006 20:34

Skirda wrote:daregod, откуда у тебя взялся "?New File?"?
Давай еще раз, по шагам.
Он взялся из истории. Я его взял для примера как файл, которого заведомо нет.
Впрочем, t-rex уже ответил, что проблема не в макросе, так что вопрос снимается.

User avatar
Zeroes
Мультикопипастер Броадкастер
Posts: 536
Joined: Wed 16 Mar, 2005 20:53
Location: Gomel \ Belarus
Contact:

Post by Zeroes » Tue 18 Apr, 2006 22:19

daregod

"?NewFile?" В хистори уже не попадает,
ищи FAR >2092билд.
--- Zeroes & Ones ---

User avatar
Вадим Захаренко
Posts: 922
Joined: Fri 18 Mar, 2005 08:59
Location: Беларусь, Мозырь
Has thanked: 7 times
Contact:

Post by Вадим Захаренко » Wed 19 Apr, 2006 05:55

Zeroes
И где искать?

User avatar
DrKnS
Posts: 5283
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 6 times
Been thanked: 206 times

Post by DrKnS » Wed 19 Apr, 2006 06:30

Вадим Захаренко
2093:
http://farmanager.com/farbugs/mantis110.1.rar

User avatar
Вадим Захаренко
Posts: 922
Joined: Fri 18 Mar, 2005 08:59
Location: Беларусь, Мозырь
Has thanked: 7 times
Contact:

Post by Вадим Захаренко » Wed 19 Apr, 2006 06:39

DrKnS

Спасибо

User avatar
SUSim
Posts: 1520
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 8 times

gethotkey(0)

Post by SUSim » Wed 31 Mar, 2010 17:51

у меня у одного макрос:
%i=gethotkey(0);
msgbox("Клавиша",%i)
возвращает следующую букву???
вместо "x" пишет "y"? вместо "4" возвращает "5" ???
SimSU ··· ·· -- ··· ··-

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Re: gethotkey(0)

Post by Skirda » Wed 31 Mar, 2010 18:13

баг.
на мантис
We are the Borg. You will be assimilated.
So Say We All!

User avatar
SUSim
Posts: 1520
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 8 times

Re: gethotkey(0)

Post by SUSim » Wed 31 Mar, 2010 18:48

оформил баг 0001323
http://bugs.farmanager.com/view.php?id=1323
SimSU ··· ·· -- ··· ··-

User avatar
SUSim
Posts: 1520
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 5 times
Been thanked: 8 times

Re: gethotkey(0)

Post by SUSim » Sun 04 Apr, 2010 09:41

Починили :) в 1481 точно gethotkey(0) правильно работает :)
А плагины не обязаны отдавать gethotkey(0)? Например "Просмотр макрокоманд FAR" всегда по gethotkey(0) возвращает ""
SimSU ··· ·· -- ··· ··-

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 3 times

Re: gethotkey(0)

Post by Skirda » Sun 04 Apr, 2010 11:42

SUSim, переведи.
We are the Borg. You will be assimilated.
So Say We All!

Post Reply

Return to “Обсуждение макросов”