try
{
if(!DoSome10())
throw 10;
if(!DoSome20())
throw 20;
if(!DoSome30())
throw 30;
if(!DoSome40())
throw 40;
if(!DoSome50())
throw 50;
//! Если всё хорошо, то тоже выбрасываем исключение, что-бы почистить всё
//! Конечно если нужно. В приципе чистку можно сделать и тут без выброса исключения
//! но в некоторых случаях получим дублирование кода
throw 50;
}
catch (e)
{
if(typeof(e)=="number")
{
switch(e)
{
case 50: //Clanup 50
case 40: //Clanup 40
case 30: //Clanup 30
case 20: //Clanup 20
case 10: //Clanup 10
default: //! Сюда попасть не должны только если пришли с другог case-а.
}
}
else //! Неожидаемое(не наше) исключение
{
throw e;
//! Пускаем исключение дальше.
//! В том числе сюдой пройду ошибки синтаксиса, а прочие RunTime
//! И Akel их поймает как будто этого try{}catch{} блока не было(место в исходнике покажет правильно)
}
}
Posted: Mon Nov 22, 2010 10:47 pm
by Infocatcher
FeyFre
Вроде бы, наворотов пока нет, но нужна возможность использовать функции в качестве данных. Впрочем, можно ведь передавать имя глобальной функции, если язык не может передать саму функцию или ссылку на нее.
А я думал про подключение готовых модулей. Вот как с хранением настроек в INI – чтобы в самом конце модуль мог проверить, не нужно ли сохраниться.
Posted: Tue Nov 23, 2010 9:36 am
by FeyFre
но нужна возможность использовать функции в качестве данных.
Вот этого по-моему VBScript не умеет(могу ошибаться, давно его не лапал). Я в принципе потому и забил на хотелку по-поводу доработки CALLBACK-а забил.
AkelPad.InputBox всегда возвращает "string", неудобно. Как при этом узнать, что пользователь нажал отмену?
window.prompt() в таких случаях возвращает null.
И мне снова подсказывают:
Если null будешь просить, проси сразу и password prompt
AkelPad.InputBox всегда возвращает "string", неудобно. Как при этом узнать, что пользователь нажал отмену?
Реализовано. При нажатии отмены typeof будет undefined.
...password prompt
Ну это уже своим диалогом.
Posted: Sun Nov 28, 2010 12:48 pm
by Infocatcher
Instructor wrote:
...password prompt
Ну это уже своим диалогом.
Это как? Моя без примера не понимать.
Впрочем, практика показывает, что все это ни разу не быстро, так что подобные вещи лучше делать на чем-нибудь более быстром.
Posted: Thu Dec 02, 2010 7:14 am
by Instructor
Изменено: при нажатии отмена метод InputBox возвращает "undefined". Исправлено: MemCopy с типом DT_WORD, DT_BYTE.
Changed: when cancel button is pushed, InputBox method returns "undefined". Fixed: MemCopy with type DT_WORD, DT_BYTE.
I need a function that gets the text in columns.
For example:
AkelPad.GetTextRangeColumn(Start, End[, nNewLine])
where
Start = [nLineStart, nColumnStart]
End = [nLineEnd, nColumnEnd]
or
Start = nOffsetStart
End = nOffsetEnd
Is it possible to do this?
Posted: Sun Dec 05, 2010 9:20 pm
by FeyFre
KDJ, definitely yes
AkelEdit message AEM_GETTEXTRANGE
There is usage example in source of AkelPad (AkelEdit.h)
Posted: Sun Dec 05, 2010 9:51 pm
by KDJ
FeyFre
Well, I thought that Instructor can do such a function in Scripts plugin.
Posted: Mon Dec 06, 2010 7:15 pm
by Infocatcher
Для случая, когда скрипт реализует немодальное окошко, очень хотелось бы возможность одновременного запуска нескольких скриптов.
А ведь раньше что-то такое было, и mutex'ы были, кажется.
Posted: Tue Dec 07, 2010 12:38 pm
by Fr0sT
Насчет функции, которая бы выполнялась при определенном событии: можно жестко зафиксировать их названия, например, scriptOnStart, scriptOnFinish, scriptOnBreak и при выполнении скрипта смотреть, если они реализованы, то вызывать, если же нет - то и нехай.
Posted: Tue Dec 07, 2010 3:37 pm
by Instructor
KDJ
I need a function that gets the text in columns.
SetSel -> AEM_UPDATESEL with AESELT_COLUMNON -> GetSelText
Posted: Tue Dec 07, 2010 3:56 pm
by VladSh
Infocatcher wrote:А ведь раньше что-то такое было, и mutex'ы были, кажется.
Из-за этого было море багов.
Fr0sT wrote:Насчет функции, которая бы выполнялась при определенном событии: можно жестко зафиксировать их названия, например, scriptOnStart, scriptOnFinish, scriptOnBreak и при выполнении скрипта смотреть, если они реализованы, то вызывать, если же нет - то и нехай.
Это лучше в Scripts-плагин отдельными функциями добавить, чтобы можно было галками отмечать "к исполнению". Ну или не отмечать, кому не надо.
И ещё бы в командную строку параметр, который мог бы подменять наименование скрипта при загрузке.
Posted: Tue Dec 07, 2010 5:35 pm
by FeyFre
Для случая, когда скрипт реализует немодальное окошко, очень хотелось бы возможность одновременного запуска нескольких скриптов.
А ведь раньше что-то такое было, и mutex'ы были, кажется.
Ну дык сейчас тоже запускаются и работают несколько одних и тех же скриптов.
(Другое дело что это не эксплуатируется в полную силу. Есть у меня одна идейка).