AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.10.2006, 16:40   #1  
Blog bot is offline
Blog bot
Участник
 
25,626 / 848 (80) +++++++
Регистрация: 28.10.2006
Dynamics AX Geek: Productivity tip: classes EditorScripts & xppSource
Источник: http://AxGeek.spaces.live.com/Blog/c...DB13!139.entry
==============
Did you ever notice that little service icon in the Axapta source editor? When you open it, it reveals some tools like commenting a source-block or inserting a template. That can for example be a while() loop or an if() block.
It is actually surprisingly easy to hook your own little scripts up to this menu.

All you need is a method in Classes\EditorScripts. comments_insertHeader() is one of the standard methods, but you can add your own methods. Use the underscore to define the menu path.
Having defined a method you need to add some task. The example I will show here is adding a block to iterate a map. I will add the template to \Classes\xppSource and call it from my EditorScripts method. And that's it. You are ready to use your new tool.
 
This is the template we will build:
 
    miMap = new mapIterator(map);
    miMap.begin();
    while (miMap.more())
    {
        miMap.next()
    }
 
..and this is how we do it:
 
\Classes\EditorScripts
void template_flow_iterateMap(Editor editor)
{
    xppSource xppSource = new xppSource(editor.columnNo());
    ;
    editor.insertLines(xppSource.iterateMap());
}
 
\Classes\xppSource
Source iterateMap(Source _mapName = 'map')
{
    str miMapName = "mi"+StrUpr(substr(_mapName,1,1))+substr(_mapName,2,strlen(_mapName));
    ;
 
    source += strfmt("%1 = new mapIterator(%2);",miMapName,_mapName);
    source += '\n';
    source += this.indent();
    source += strfmt("%1.begin();",miMapName);
    source += '\n';
    source += this.indent();
    this.while(strfmt("%1.more()",miMapName),strfmt("%1.next()",miMapName));
 
    return source;
}
 
Now obvisouly there’s some room for improvement here. We could search the code for defined maps / mapIterator and use those etc. This is just to show how it works in general.
 




==============
Источник: http://AxGeek.spaces.live.com/Blog/c...DB13!139.entry
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Dynamics AX: Dynamics AX 2009 & SQL Server 2008 Blog bot DAX Blogs 0 10.06.2008 21:08
Inside Dynamics AX 4.0: Usage Scenarios Blog bot DAX Blogs 0 04.10.2007 05:15
Inside Dynamics AX 4.0: Inside the Business Connector Blog bot DAX Blogs 0 04.10.2007 05:15
Dynamics AX Geek: Axapta & precision Blog bot DAX Blogs 0 28.10.2006 16:40

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:20.