вопросы и хотелки

Здесь обсуждается всё, что касается макросов.
User avatar
CrOm
Posts: 1428
Joined: Tue 02 Aug, 2005 21:02
Location: Омск
Been thanked: 1 time

Post by CrOm »

Latest post of the previous page:

мда. туплю. сорри
FARFlipper, FARdroid, qPlayEx, Mr.Ripper
User avatar
daf
Posts: 27
Joined: Tue 18 Oct, 2005 07:37
Location: Украина, Донбасс
Contact:

Запуск макроса при старте Far

Post by daf »

Написал макрос (вычисляю и заношу данные в глобальную переменную). По заданной комбинации клавишь всё работает. Поставил галку [х] Выполнить при запуске FAR , но при запуске Far макрос не выполняется.
Что за беда? Может есть какие то ограничения на автозапуск макросов?

У меня Far 1.71 alpha diskspace based on build 2204. TEST ONLY! на WinXP SP2 (рус)
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

в какой области прописан макрос?
текст REG-файла покажи
User avatar
daf
Posts: 27
Joined: Tue 18 Oct, 2005 07:37
Location: Украина, Донбасс
Contact:

Post by daf »

В области common он прописан.
Я привёл упрощённый кусок из моего макроса. Всё также: по комбинации срабатывает, по автозапуску нет.


Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Far\KeyMacros\Common\CtrlAltK]
"Sequence"="%d=date(\"%d\"); %%BeforeYesterday=int(%d)-1; msave(\"%%BeforeYesterday\")"
"DisableOutput"=dword:00000001
"RunAfterFARStart"=dword:00000001
wolf
Posts: 1030
Joined: Fri 08 Apr, 2005 12:54
Location: Moscow

Post by wolf »

daf wrote:В области common он прописан.
попробуй перенести в область File panels - оттуда у меня макросы нормально автостартуют...
ошибка — считать, что фар для пользователей. (с) zg
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

так.
на сейчас автостартующие макросы срабатывают только из Shell.
на мантисе есть соответствующая запись; прочитайте ее, если добавки - добавляйте.
nvadia
Posts: 14
Joined: Mon 11 Dec, 2006 05:07
Location: Tomsk, Russia

Неточности в документации

Post by nvadia »

При попытке составить макрос выводящий все символы и их коды я столкнулся с несколькими неточностями в документации по макросам.

операция "+" это не только числовое сложение, как указано но и конкатенация строк, о чем ни где не сказано

Code: Select all

%a = "a"; %b = "b"; $if (%a + %b == "ab") "TRUE" $else "FALSE" $end
переменные %1 %2 %_ %_a не работают, хотя в документации написано так как будто должны работать

Максимальная длинна имени переменной не оговорена. Впрочем пример ниже работает:

Code: Select all

%abcdefghijklmnopqastuvwxyz_0123456789 = "a"; $text %abcdefghijklmnopqastuvwxyz_0123456789
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Post by DrKnS »

операция "+" это не только числовое сложение, как указано но и конкатенация строк, о чем ни где не сказано
Ну почему нигде, в примерах например :)

%_ и %_a работают после 2125, обнови фар.
nvadia
Posts: 14
Joined: Mon 11 Dec, 2006 05:07
Location: Tomsk, Russia

Post by nvadia »

Только что скачал дистриб с главной страницы http://farmanager.com/
Как я понимаю релиз. Оказался та же 2087 версия.

Получается, 2125 - бета-версия.
Не буду обновлять. Буду мучиться без переменных %_ :)
nvadia
Posts: 14
Joined: Mon 11 Dec, 2006 05:07
Location: Tomsk, Russia

Post by nvadia »

Как вернуть символ по коду? Конструкция

Code: Select all

%c=0x30; %s="\\x"+itoa(%c,16); $text %s
себя не оправдала. Возвращает "\x30" за место ожидаемого "0".
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

nvadia, а нужно?
nvadia
Posts: 14
Joined: Mon 11 Dec, 2006 05:07
Location: Tomsk, Russia

Post by nvadia »

Skirda

а зачем функция string()?

помоему больше смысла в паре функций таких что
если %c = "a", то "a" == chr(val(%c))
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Post by DrKnS »

nvadia wrote:Как вернуть символ по коду?

Code: Select all

macro:post %a=0x30; %b="Alt"+%a; playmacro(%b)
nvadia
Posts: 14
Joined: Mon 11 Dec, 2006 05:07
Location: Tomsk, Russia

Post by nvadia »

изначально я хотел макрос который выводит список кодов символов и самих символов соответственно. За час экспериментов, удалось нагородить такое:

Code: Select all

%c=0;
$while(%c<256)
  %s=%c+"\t\\x"+itoa(%c,16)+"\n";
  $text %s
  %c=%c+1;
$end
но это выводит коды символов, и в принципе я согласен, что так и должно быть. Но как же мне все-таки вывести символ с данным кодом?
nvadia
Posts: 14
Joined: Mon 11 Dec, 2006 05:07
Location: Tomsk, Russia

Post by nvadia »

DrKnS
пятерка!
8)
А я просто не хотел думать на эту тему противоестественную, imho. Не хотелось сразу, понимаешь ли, начинать писать макросы, которые пишут макросы.

спасибо :)
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Post by DrKnS »

Что работает, то не противоестественно :)
Post Reply

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