View Issue Details

IDProjectCategoryView StatusLast Update
0000925Far Manager 1.7xMacropublic2009-07-16 11:49
ReporterJohnDoe Assigned Tovskirdin  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Fixed in Version1.75 
Summary0000925: %i=i;
Description%i=i;
msgbox(%i)

Что такое i и почему оно равно 105?
TagsNo tags attached.
Build0

Activities

DrKnS

2009-06-09 18:49

administrator   bugnote:0003542

потому что 105 (0x69) - числовое представление символа 'i'.

JohnDoe

2009-06-09 18:57

updater   bugnote:0003544

Ок.

Но фиксить-то всё равно надо, как я понимаю

vskirdin

2009-06-09 20:01

administrator   bugnote:0003547

и таки че вы предлагаете фиксить?

кто сказал, что "i" это переменная? все переменные начинаются с "%"
а в данном случае это код символа, наравне с "%i=AltPgUp;"

JohnDoe

2009-06-09 20:18

updater   bugnote:0003548

Понятно что не переменная
Но непонятно зачем надо %i=AltPgUp; когда есть %i=asc("AltPgUp");

Польза неясна, а вот вред имеется - легко ошибиться и написать %i=i+1;

Впрочем я не возражаю - если описано в энциклопедии то пусть будет фича.
Однако тогда почему %i=AltPgUp работает, а msgbox(AltPgUp) нет?

vskirdin

2009-06-09 20:26

administrator   bugnote:0003549

а ты не ошибайся.
> Однако тогда почему %i=AltPgUp работает, а msgbox(AltPgUp) нет?
а вот это уже другой вопрос

vskirdin

2009-06-10 06:57

administrator   bugnote:0003551

> Но непонятно зачем надо %i=AltPgUp; когда есть %i=asc("AltPgUp");
Патамушта, если внимательно читать описание функции asc, то видим, что она "Возвращает код символа". Т.е. в твоем примере вернет 65.

Наводка (для исследований :-)): key(), eval() и возможность, которую ты хочешь в этом Инце якобы исправить.

JohnDoe

2009-06-10 07:25

updater   bugnote:0003554

Спасибо, свою ошибку понял - названия клавиш можно использовать как константы

Остаются 2 вопроса
1) Как бы это внести в энциклопедию
2) Почему Msgbox(i) считается ошибкой

vskirdin

2009-06-10 10:07

administrator   bugnote:0003564

1) внесем
2) в следующем билде будет исправлено.

Issue History

Date Modified Username Field Change
2009-06-09 18:14 JohnDoe New Issue
2009-06-09 18:49 DrKnS Note Added: 0003542
2009-06-09 18:57 JohnDoe Note Added: 0003544
2009-06-09 20:00 vskirdin Status new => assigned
2009-06-09 20:00 vskirdin Assigned To => vskirdin
2009-06-09 20:01 vskirdin Note Added: 0003547
2009-06-09 20:01 vskirdin Status assigned => feedback
2009-06-09 20:18 JohnDoe Note Added: 0003548
2009-06-09 20:26 vskirdin Note Added: 0003549
2009-06-10 06:57 vskirdin Note Added: 0003551
2009-06-10 07:25 JohnDoe Note Added: 0003554
2009-06-10 10:07 vskirdin Note Added: 0003564
2009-07-15 18:31 JohnDoe Status feedback => resolved
2009-07-15 18:31 JohnDoe Resolution open => fixed
2009-07-16 11:49 vskirdin Build => 0
2009-07-16 11:49 vskirdin Status resolved => closed
2009-07-16 11:49 vskirdin Fixed in Version => 1.75