Page 35 of 74
Posted: Tue Apr 12, 2011 9:14 am
by us-us
FeyFre
Ясно, спасибо.. Буду мечтать потом.
Posted: Wed Apr 13, 2011 7:59 am
by VladSh
Уже давно заметил, но всё забывал сказать...
Вложенные блочные комментарии при выполнении воспринимаются как ошибка, что не есть правильно.
Posted: Wed Apr 13, 2011 9:37 am
by InnI
Объясните начинающему...
Если формат новой строки DOS/Windows, то метод AkelPad.SetSel 500 500 устанавливает курсор в позицию 500+количество_строк. Если же воспользоваться переходом по смещению по Ctrl+G, то курсор будет установлен ровно в позицию 500, т.е. раньше на количество символов, равное количеству переводов строк.
Может ли SetSel работать аналогично переходу по смещению? И как это реализовать?
Posted: Wed Apr 13, 2011 10:10 am
by Instructor
VladSh
http://javascript.ru/ecma/part7#a-7.4
InnI
Code: Select all
var hMainWnd=AkelPad.GetMainWnd();
var nOffset=500;
AkelPad.SendMessage(hMainWnd, 1206 /*AKD_GOTOW*/, 0x2 /*GT_OFFSET*/, AkelPad.MemStrPtr("" + nOffset));
Posted: Wed Apr 13, 2011 10:28 am
by VladSh
Ок, не вопрос.
Возьмём тогда Ваш пример из пред. поста:
Code: Select all
AkelPad.SendMessage(hMainWnd, 1206 /*AKD_GOTOW*/, 0x2 /*GT_OFFSET*/, AkelPad.MemStrPtr("" + nOffset));
Если этот код находится в огромном блоке, который надо закоментировать (причём это нормально желание

) , то Вы предлагаете раскоментировать все такие вхождения или пользоваться односточными? Это неудобно.
Ведь реально же реализовать простое игнорирование текста между /* и */, и пусть не важно будет, сколько их внутри!.. У меня в
BlockSelect.js такой алгоритм используется (функция
getRangebyBordersEx из
selCompleteLine.js).
Posted: Wed Apr 13, 2011 10:55 am
by InnI
Instructor wrote:
Code: Select all
var hMainWnd=AkelPad.GetMainWnd();
var nOffset=500;
AkelPad.SendMessage(hMainWnd, 1206 /*AKD_GOTOW*/, 0x2 /*GT_OFFSET*/, AkelPad.MemStrPtr("" + nOffset));
Спасибо. Работает.
Posted: Wed Apr 13, 2011 11:35 am
by Instructor
VladSh wrote:...то Вы предлагаете раскоментировать все такие вхождения или пользоваться односточными? Это неудобно.
Неудобно одевать штаны через голову, а это необходимость продиктованная стандартом языка, ссылка на который была указана выше. Раз уж был приведен в примере мой код, то замечу мне хватает однострочных комментариев. Можно, как вариант, поместить блок в if (0) { CODE }.
Ведь реально же реализовать простое игнорирование текста между /* и */...
Ядро находится в JScript.dll, оно и обрабатывает код.
Posted: Wed Apr 13, 2011 11:48 am
by VladSh
Instructor wrote:Ядро находится в JScript.dll, оно и обрабатывает код.
eval() принимает текст, который мы ему даём. Мы можем дать ему текст без коментариев. И это же можно сделать в методе Include.
Instructor wrote:Можно, как вариант, поместить блок в if (0) { CODE }.
А вот это хороший совет! Когда-то здесь мелькало, но подзабылось...
Спасибо!
Posted: Wed Apr 13, 2011 1:48 pm
by FeyFre
VladSh wrote:Instructor wrote:Можно, как вариант, поместить блок в if (0) { CODE }.
А вот это хороший совет! Когда-то здесь мелькало, но подзабылось...
Спасибо!
Так часто C-шники поступают, если не хотят что-бы комментарий закрашивался
Только в С этим занимается препроцессор и компилятору неоднозначностей не остается. А тут if(0) конструкция языка, и если вставить не подумав можно подавится.
Posted: Wed Apr 13, 2011 2:17 pm
by VladSh
FeyFre wrote:А тут if(0) конструкция языка, и если вставить не подумав можно подавится.
Да, мне уже соседи, сишники, объяснили...
Я думаю, что может добавить простановку "блочного комментария" в виде
поместить "if(0)" и "endif(0)" в настройки блоков, и пометить не просто зелёным, а жирным зелёным. Как идея?
И работать будет, и подсвечивать будет как блочный коммент, и жирный не даст забыть нам об этом

Posted: Thu Apr 14, 2011 7:53 am
by Fr0sT
Вложенные блочные комментарии при выполнении воспринимаются как ошибка, что не есть правильно
Это в любом языке, насколько я знаю. Комментарием считается блок от первой открывающей сигнатуры до первой закрывающей. И только в Паскале мудрые люди догадались ввести два вида блочных комментариев

))
Posted: Thu Apr 14, 2011 10:41 am
by FeyFre
Fr0sT wrote:И только в Паскале мудрые люди догадались ввести два вида блочных комментариев

))
1. Вы немножко не правы. Они не делали два разных вида блочных комментария, комментариев, это только следствие. Они сделали пару альтернативных синтаксическо-декоративных финтов.
Да, один из них касается комментария:
Второй же касается индексного оператора:
Code: Select all
arrvar[index] === arrvar(. index .)
2. Не один Паскаль имеет альтернативные блочные коментарии(и не только их). Например у Lua блочные комментарии такие
Code: Select all
--[[ ]]
--[=[ ]=]
--[==[ ]==]
и т.д
а также у них литеральные кавычки сделаны по такому же принципу
Code: Select all
'строка'
"строка"
[[строка]]
[=[строка]=]
[==[строка]==]
и т.д
И у PHP есть подобная защита от вложенности помоему.
Posted: Sat Apr 16, 2011 9:51 pm
by Infocatcher
А я снова за старое.
viewtopic.php?p=8163&hilit=%EA%EE%E ... EB%FC#p8163
viewtopic.php?p=10054&hilit=%EA%EE% ... B%FC#p10054
viewtopic.php?p=10298&hilit=%EA%EE% ... B%FC#p10298
Как мне это видится. В коде делаем
При этом в специальном окошке выводится сообщение
some.js при этом кликабельное и открывает файл на строке, из которой вызвали ConsoleLog().
Если окно консоли закрыто, то или ничего ничего не делается, или сообщение запоминается, а при открытии консоли – выводится.
Для отладки вполне достаточно. И не нужно каждый раз думать, куда выводить отладочное сообщение, если модальным диалогом делать нельзя.
Posted: Mon Apr 18, 2011 8:01 am
by Fr0sT
Всячески поддерживаю! Если бы туда еще можно было добавить принудительное прибивание зависших скриптов - вообще шикарно было бы!
FeyFre
тут ничего нету про альтернативу /* */ в PHP...
Posted: Mon Apr 18, 2011 8:12 am
by VladSh
Infocatcher wrote:А я снова за старое.

Что-то типа
того и
+ 