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

Здесь обсуждается всё, что касается макросов.
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 »

Latest post of the previous page:

Что работает, то не противоестественно :)
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

Добавил пару:

Code: Select all

N=asc(S)
S=chr(N)
Искать после 2228 (скоро)
nvadia
Posts: 14
Joined: Mon 11 Dec, 2006 05:07
Location: Tomsk, Russia

Post by nvadia »

DrKnS
опа... опять. Работает но в бета-версии. В релизе playmacro нету.

Skirda
вы меня пугаете. FAR мне очень нравится. Это мой основной инструмент.

Есть определенная сходство с топором или отбойным молотком, в том смысле что за видимой грубостью скрывается в высокой степени взвешенная целесообразная конструкция.

Опыт прошлых поколений вроде бы называется "культура". Есть еще загадка: Какая стрела летит вечно?

Перефразируя (до неузнаваемости): Какое ПО служит долго? Сдается мне, - решающее главные задачи.

Короче, граждане, остерегайтесь сверлить патентованные схемы и впаивать туда китайские транзисторы
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:опа... опять. Работает но в бета-версии. В релизе playmacro нету.
Хм... Ну, во первых, не бета, а альфа. Во вторых, playmacro теперь нет и в альфах, т.к. он переименован в eval. А в третьих, уже много раз обсуждалось, что альфы всяко стабильнее релиза, а надпись "test only!" там "на всякий случай"...
nvadia
Posts: 14
Joined: Mon 11 Dec, 2006 05:07
Location: Tomsk, Russia

Post by nvadia »

DrKnS
Альфа - это исправленный релиз...

Под бетой я понимал версию для бета-тестеров то есть сырую. А под альфой - первую полнофункциональную сборку для тестирования своими силами внутри коллектива, то есть вообще сомнительную.
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Post by Alexey Samlyukov »

С ФАРом не так:
новый билд - это обычная альфа у других,
новая альфа - это обычная бета,
бета - это релиз у других,
а релиз - очередную бету релизом обозвали просто так, чтоб не доставали :)
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Пачка вопросов и непоняток в макросах.

Post by Kildor »

Имеется макрос:
msgbox(substr(Editor.Value,Editor.CurPos-1,1),itoa(asc(substr(Editor.Value,Editor.CurPos-1,1)),16),0)
Строка (\t — символ табуляции, табуляция — два пробела на экране, подчёркнут курсор):
\tтест,
Первый вопрос
При вызове макроса, обрабатывается запятая, что логично, но неприятно. Вопрос, как мне получить именно текущий символ?
Второй вопрос
Если убрать \t, то всё работает как задумано, единственно, в диалоге отображается не т, а досовский символ \xF2 (Э перевёрнутое).
Есть ли шанс увидеть до 1.8 версии правильный символ (символ в текущей кодировке, а не в ДОС)?

Далее.
Вопрос по мотивам темы
Каким другим образом, кроме как из !?заголовок?! в userMenu можно получить строку в макрос?
Может стоит ввести диалог для ввода текста? (аналог prompt из javascript?), либо через расширение Flags у msgbox, либо через что-нибудь типа N = prompt(Title, Text, Flags)?
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Пачка вопросов и непоняток в макросах.

Post by Skirda »

Kildor wrote:...либо через что-нибудь типа N = prompt(Title, Text, Flags)?
на мантис (если такого еще нет)
We are the Borg. You will be assimilated.
So Say We All!
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: Пачка вопросов и непоняток в макросах.

Post by Kildor »

Ок.
А по остальным пунктам?
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Пачка вопросов и непоняток в макросах.

Post by Skirda »

Kildor wrote:Ок.
А по остальным пунктам?
ХЗ. Смотреть надо :-)
We are the Borg. You will be assimilated.
So Say We All!
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Пачка вопросов и непоняток в макросах.

Post by Skirda »

Good news, everyone!!!
Kildor wrote:Первый вопрос
При вызове макроса, обрабатывается запятая, что логично, но неприятно. Вопрос, как мне получить именно текущий символ?
Кхе... однако... как то раньше не замечал такого в редакторе.
Назвать это багой редактора - затруднительно, хотя и...
Возможный вариант, добавить что-то типа "Editor.CurChar" или, что лучше, "Editor.RealPos" (без учета преобразования табуляции)...
Еще вариант
Editor.CurPos - это:

Code: Select all

    case MCODE_V_EDITORCURPOS:
      return (__int64)(CurLine->GetTabCurPos()+1);
Если вместо "CurLine->GetTabCurPos()" использовать "CurLine->GetCurPos()"...
...хотя в этом случае возникнет путаница вида: в твоем случае Editor.CurPos будет равен 5, а в статусной строке ты увидишь 6.
Извечный вопрос - "Что делать?"
Kildor wrote:Второй вопрос
Если убрать \t, то всё работает как задумано, единственно, в диалоге отображается не т, а досовский символ \xF2 (Э перевёрнутое).
Есть ли шанс увидеть до 1.8 версии правильный символ (символ в текущей кодировке, а не в ДОС)?
ХЗ. В макродвиге нет специальной обработки конвертации Editor.Value в OEM, т.е. в коде просто вызов ECTL_GETSTRING:

Code: Select all

            else if(CheckCode == MCODE_V_EDITORVALUE)
            {
              struct EditorGetString egs;
              egs.StringNumber=-1;
              CtrlObject->Plugins.CurEditor->EditorControl(ECTL_GETSTRING,&egs);
              Cond=egs.StringText;
            }
Возможно здесь нужно добавить вызов ECTL_EDITORTOOEM.
We are the Borg. You will be assimilated.
So Say We All!
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: Пачка вопросов и непоняток в макросах.

Post by Kildor »

Возможный вариант, добавить что-то типа "Editor.CurChar" или, что лучше, "Editor.RealPos" (без учета преобразования табуляции)
Устроит вполне.
Хотя тогда возникнет вопрос о разнице между RealPos и CurPos, и главное, о необходимости наличия обоих слов.
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Пачка вопросов и непоняток в макросах.

Post by HaRT »

Skirda wrote:или, что лучше, "Editor.RealPos" (без учета преобразования табуляции)...
+1
Это как раз одна из тех вещей, которые чуть меньше двух лет назад обсуждались в теме Недостающие состояния в Редакторе (только там предлагалось название Editor.CurLineChar).
Фар есть инструмент, а не нянька. © 2009 DrKnS
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: Пачка вопросов и непоняток в макросах.

Post by Kildor »

Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Пачка вопросов и непоняток в макросах.

Post by Skirda »

При наличии механизма опциональных параметрах (скоро будет в "свободной продаже" :crazy: ) в функциях предлагается синтаксис такой:
S = prompt(Src[, Text[, Title[, Flags]]])

S — строка, которую ввёл пользователь.
Src - стартовое значение в поле ввода
Text — строка с текстом пояснения.
Title — строка с заголовком.
Flags — флаги, аналогичные таковым в InputBox (которые имеют смысл)

наверняка понадобится хистория? ;-)
We are the Borg. You will be assimilated.
So Say We All!
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Re: Пачка вопросов и непоняток в макросах.

Post by Kildor »

Может быть, хотя я не уверен в удобности этого порядка.
я могу представить ситуацию, когда вывожу только title или только text, но слабо могу представить ситуацию, когда нужно стартовое значение, и не нужны другие аргументы.

я бы всё-же сделал порядок из title, [text, [flags, [src]]]

А хистория… Если сделать возможность убирать её, и выключать автодополнение — то пусть будет.
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
Post Reply

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