AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Scripts plugin
Goto page Previous  1, 2, 3 ... 46, 47, 48 ... 56, 57, 58  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
VladSh



Joined: 29 Nov 2006
Posts: 2703
Location: Киев, Русь

PostPosted: Thu Oct 04, 2012 12:26 pm    Post subject: Reply with quote

Instructor
Есть ли возможность быстро проверить, есть ли агрумент в списке агрументов, без анализа на вхождение в результате от GetArgLine?
GetArgValue со значением по умолчанию всё-таки возвращает значение, и непонятно, был ли там аргумент этот или нет. Хотелось бы иметь возможность анализа, и, в зависимости от этого, писать логику. Т.е. хотелось бы иметь метод, т.к. перед этим вызывался GetArgValue, и все параметры собственно уже были считаны и разобраны.
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5524

PostPosted: Thu Oct 04, 2012 3:46 pm    Post subject: Reply with quote

KDJ
Quote:
AkelPad.TextReplace(hEditWnd, "\\r", "", 0x00280001 /*FRF_BEGINNING|FRF_REGEXP|FRF_DOWN*/, true);


VladSh
Можно так:
Code:
var nArgValue=AkelPad.GetArgValue("ArgName", undefined);

if (nArgValue == undefined)
  WScript.Echo("Not defined");
else
  WScript.Echo("Defined");
Back to top
View user's profile Send private message Send e-mail
KDJ



Joined: 06 Mar 2010
Posts: 1441
Location: Poland

PostPosted: Thu Oct 04, 2012 6:28 pm    Post subject: Reply with quote

Instructor
Oh, really. Sometimes I forget about the basic things. Laughing
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2703
Location: Киев, Русь

PostPosted: Thu Oct 04, 2012 9:16 pm    Post subject: Reply with quote

Instructor
Интересная возможность, прямо "из коробки" Smile Спасибо!
Back to top
View user's profile Send private message Visit poster's website
FeyFre



Joined: 07 Aug 2007
Posts: 2061
Location: Vinnitsa, Ukraine

PostPosted: Sun Oct 14, 2012 8:30 pm    Post subject: Reply with quote

Напишу сюда:
Просьба Инструктору, ну или всем желающим/имеющим возможность проверить насколько проворно подхватывает Microsoft Visual Studio(любых версия которые есть в наличии) скрипты, и как хорошо работает вахта, точки останова и прочая функциональность.
(У меня почему-то только MSVS 7.0 ведет себя адекватно. 8.0 и 9.0 цепляются но будто бы оглохли,... но в чем причина предположить не могу ибо запускаются на отличной от 7.0 системе)
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
DV



Joined: 16 Nov 2006
Posts: 856
Location: Kyiv, Ukraine

PostPosted: Mon Oct 15, 2012 6:51 am    Post subject: Reply with quote

FeyFre
А как это сделать? Как задать такую точку останова, чтобы Студия на неё среагировала? И что такое "вахта"?
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2061
Location: Vinnitsa, Ukraine

PostPosted: Mon Oct 15, 2012 8:28 am    Post subject: Reply with quote

DV
Вахта, оно же дозор, оно же, внезапно, watch. Ликбез для новичков
watch - это такая услуга среды отладки, которая позволяет инспектировать рабочие данные налаживаемого объекта: значения переменных а также элементарных выражений. По объективным причинам Вахта работает исключительно во время отладочного останова. Разделяют четыре вида вахты(и то по внешнему виду, суть одна и та же): классическая-ручная вахта, собственно везде она так и называется watch - программист обязан самостоятельно выбрать данные которые нужно отобразить, вахта автоматическая и локальная(Autos, Locals) отображают данные с которыми оперирует команда и значения доступные текущей области видимости соответственно(если конечно такие понятия доступны в технологии отладки), ну и последняя - мониторинг памяти в сыром виде(разработчик указывает адрес и среда отображает порцию данных как они лежат в памяти побайтово(некоторые среды позволяют приводить к другим базовым типам: слова, плавающие и пр), если такая технология предусмотрена отладкой(первый тип вахты в сыром виде).

1. Этот пункт нужен если по какой-либо причине JIT отладка скриптов отключена. Если она включена то JIT автоматически запустит студию.(JIT настраивается внутри каждой студии независимо, так что можете иметь 4 студии и JIT даст Вам выбрать в какой отлаживаться) Нужно студию подцепить к процессу в котором выполняются скрипты. Делается это также как и подцепиться к нативной отладке уже существующего процесса:
1) Запускаем AP
2) Запускаем студию
3) Идем в меню Debug выбираем пункт Attach to.../Processes (по ходу сориентируетесь)
4) Находим в списка нашу жертву
5) Выставляем тип отладки - скрипты(другие типы обязательно снять, на всякий случай), и жмем кнопку Attach/Debug
Студия немножко подумает и либо матернется что что-то пошло не так, либо молча успешно вцепится.
2. Как задать точку останова - вопрос хитрый. Не инвазивного в отлаживаемый скрипт метода я пока не знаю. Инвазивный такой:
1) Грязный метод. В коде скрипта кидаем какой-нибудь исключение. Запускаем скрипт, студия его ловит - мы в дамках. Но это конец скрипта, ибо пошагать мы не сможем, а не отловленное исключение будет поймано плагином и автоматически завершит скрипт. Подходит лишь для недоделанных скриптов на этапе разработки.
2) Воспользуемся документированным в ECMA262 финтом(12.15). А именно оператором debugger; Ставим его в начале скрипта и пускаем скрипт. И наблюдаем как всплывает JIT(выбираем студию), либо если уже вцепились - студия открывает текст нашего скрипта и показывает останов на этом операторе. Теперь мы можем преспокойно по наставлять точек останова, вахту, прошагать сколько нужно, ну и далее по списку.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
VladSh



Joined: 29 Nov 2006
Posts: 2703
Location: Киев, Русь

PostPosted: Wed Oct 24, 2012 11:31 am    Post subject: Reply with quote

Ещё немного по определению позиции ошибки в коде.
Запуск такого скрипта
Code:
var arr = new Array(3,5);
WScript.Echo(arr.indexOf(5));
даёт такое сообщение
Scripts плагин wrote:
Скрипт: C:\Program Files\AkelPad\AkelFiles\Plugs\Scripts\test.js
Строка: 2
Символ: 1
Ошибка: Объект не поддерживает это свойство или метод
Back to top
View user's profile Send private message Visit poster's website
Infocatcher



Joined: 06 Aug 2007
Posts: 1648

PostPosted: Wed Oct 24, 2012 12:40 pm    Post subject: Reply with quote

VladSh wrote:
даёт такое сообщение
Если запустить через wscript.exe, сообщение будет точно такое же. Так что вряд ли плагин тут может что-то сделать.

P.S.
Code:
var arr = [3,5];
Smile
Back to top
View user's profile Send private message Visit poster's website
VladSh



Joined: 29 Nov 2006
Posts: 2703
Location: Киев, Русь

PostPosted: Wed Oct 24, 2012 1:27 pm    Post subject: Reply with quote

Infocatcher
Это я пробовал в первую очередь, но пытаясь indexOf завести дошёл и до такой жизни, как "new Array" Smile
Back to top
View user's profile Send private message Visit poster's website
Infocatcher



Joined: 06 Aug 2007
Posts: 1648

PostPosted: Wed Oct 24, 2012 2:22 pm    Post subject: Reply with quote

VladSh
Да там вообще логика за гранью моего понимания: в IE9 есть и Array.prototype.indexOf(), и JSON.parse()/stringify(), даже Object.create() есть, но вот в WSH ничего этого нет.
Back to top
View user's profile Send private message Visit poster's website
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Fri Oct 26, 2012 7:38 am    Post subject: Reply with quote

Кмк, они забили на развитие WSH в пользу Павершелла
А indexOf у Array вообще нигде в спеках не указан.
Back to top
View user's profile Send private message
DV



Joined: 16 Nov 2006
Posts: 856
Location: Kyiv, Ukraine

PostPosted: Fri Oct 26, 2012 7:49 am    Post subject: Reply with quote

Fr0sT wrote:
А indexOf у Array вообще нигде в спеках не указан.

Это точно: http://www.w3schools.com/jsref/jsref_indexof_array.asp Wink
Хотя это же про "полноценный" JavaScript, а не про M$ JScript.
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2061
Location: Vinnitsa, Ukraine

PostPosted: Fri Oct 26, 2012 9:23 am    Post subject: Reply with quote

"полноценный" JavaScript какой версии? Знаете, их там тоже десяток, как и JScript.
Собственно в чем проблема? Прямо написано какую версию EcmaScript реализовано в конкретных версиях JScript. Весь JScript до версии поставляемой с IE9 приблизительно соответствует JavaScript 1.5, т.е. EcmaScript 3rd edition. indexOf и иже с ними появились в пятой редакции(см. Annex E.15). Так что возможно стоит писать максимально совместимо с интерпретатором для которого пишете, а не со стандартом который лежит в основе. Тем более что задачи сделать переносное на другой интерпретатор не стоит.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Fr0sT



Joined: 24 Jul 2007
Posts: 876

PostPosted: Fri Oct 26, 2012 1:07 pm    Post subject: Reply with quote

DV
блин, точно. А я поверил javascript.ru...
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins All times are GMT
Goto page Previous  1, 2, 3 ... 46, 47, 48 ... 56, 57, 58  Next
Page 47 of 58

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group