Показать сообщение отдельно
Старый 06.11.2010, 06:54   #7  
player is offline
player
Участник
 
107 / 69 (3) ++++
Регистрация: 25.08.2007
Пользуясь на версии 2009 "в лоб" столкнулся с "уплыванием" строк после вставляемых комментариев, вида
было:
X++:
    InventSum inventSum;
    InventDim inventDim;
    InventTable inventTable;
стало:
X++:
    //<-- begin
        InventSum inventSum;
    //--> end
        InventDim inventDim;
    InventTable inventTable;
Исправляю это так:
X++:
/// <summary>
/// Обрамляет выделенную область в тексте комментарием об авторстве и дате изменения данного блока текста
/// </summary>
/// <param name="e">
/// текущий редактор
/// </param>
/// <remarks>
/// Для версии 2009
/// </remarks>
#define.StartComment("//--> \%1, \%2")
#define.EndComment("//<-- \%1, \%2")
public void comments_insertDevComment(Editor e)
{
    int start = e.selectionStartLine();
    int end   = e.selectionEndLine();
    int firstSym;
    str tmpLine;
    ;

    e.gotoLine(start);
    firstSym = strnfind(e.currentLine(), " ", 1, strlen(e.currentLine()));
    e.unmark();
    //Нижний комментарий
    e.gotoLine(end + 1);
    e.gotoCol(0);
    e.insertLines("\n");
    e.gotoLine(end +1);
    e.gotoCol(0);
    e.insertLines(strrep(" ", firstSym - 1) +
                  strfmt(#EndComment,
                            strupr(curUserId()),
                            date2str(today(),123,2,1,3,1,4, DateFlags::FormatAll )));
    //Верхний комментарий
    e.gotoCol(0);
    e.gotoLine(start);
    e.gotoCol(0);
    e.insertLines("\n");
    e.gotoLine(start);
    e.gotoCol(0);
    e.insertLines(strrep(" ", firstSym - 1) +
                  strfmt(#StartComment,
                            strupr(curUserId()),
                            date2str(today(),123,2,1,3,1,4, DateFlags::FormatAll )));
    e.gotoLine(end + 3);
    e.gotoCol(firstSym);
}

Последний раз редактировалось player; 06.11.2010 в 08:11.
За это сообщение автора поблагодарили: leva (1).