-Поиск по дневнику

Поиск сообщений в Чарубаэль

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 14.08.2008
Записей:
Комментариев:
Написано: 168


Шаблоны в студии Cache

Среда, 10 Ноября 2010 г. 11:31 + в цитатник

Часто приходится набивать один и тот же текст, что довольно нудно.
Помочь могут Cache Studio Templates.
Создаем новую CSP страницу, удаляем весь текст пишем тег:
<csp:StudioSimpleTemplate name="cursorTemplate" type="CSP,CLS,MAC"  accelerator="9" >
Здесь name - название шаблона, type - тип страниц на которых он доступен
accelerator - цифра от 0-9. При комбинации Ctrl + Chift + acceletator вызывается шаблон. Работает с перебоями, если отказывает приходится перекомпилировать CSP страницу.

После тега можно написать любой текст - он вставится в код. Если хотим упростить себе жизнь, то можно передавать в Template выделенный в редакторе текст, и обрабатывать его в теге:

 

<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
///кашовый код
</SCRIPT>

Добраться до текста можно через %request.Data("SelectedText", 1)

Шаблон объявления курсора:

code:

<csp:StudioSimpleTemplate name="declareCursorTemplate" type="CSP,CLS,MAC"  accelerator="1" >
<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
    s tab = $c(9)
    w tab, "&sql(",!
    s cursorName = $G(%request.Data("SelectedText", 1), "cursor1")
    w tab, tab, tab, "declare ", cursorName, " cursor for",!
    w tab, tab, tab, "select id into :id from asv_entities ",!
    w tab, tab, ")",!
    w tab, "&sql(open ", cursorName,")",!
    w tab, "#dim SQLCODE = 100",!
    w tab, "#dim id = """"",!
    w tab, "f", !, tab, "{", !
    w tab, tab,"&sql(fetch ", cursorName,")",!
    w tab, tab,"q:(SQLCODE '= 0)",!
    w tab, tab,";work here",!
    w tab, "}",!
    w tab, "&sql(close ", cursorName,")",!
</SCRIPT>

Шаблон для ResultSet

code:

<csp:StudioSimpleTemplate name="declareResultSet" type="CSP,CLS,MAC" accelerator="0" >
<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
    s tab = $c(9)
    s commandText = $G(%request.Data("SelectedText", 1), "cursor1")
    w tab, "s rs = ##class(%ResultSet).%New(""%DynamicQuery:SQL"")",!
    w tab, "s commandText = """,commandText, """",!
    w tab, "$$$CheckStatus(rs.Prepare(commandText))",!
    w tab, "$$$CheckStatus(rs.Execute())",!
    w tab, "while rs.Next()",!
    w tab, "{",!
    w tab, "\\\do work here",!
    w tab, "}",!
    w tab, "kill rs",!
</SCRIPT>

Шаблон для обхода глобала

 

code:

<csp:StudioSimpleTemplate name="orderGlobal" type="CSP,CLS,MAC"  accelerator="2" >
<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
    s tab = $c(9)
    s globalName = $G(%request.Data("SelectedText", 1), "^||tmp")
    w tab, "set key = """"",!
    w tab, "f",!
    w tab, "{",!
    w tab,        tab, "set key = $order(",globalName,"(key))",!
    w tab,        tab, "q:(key = """") ",!
    w tab, "}",!
    </SCRIPT>

Это самые простые варианты - без диалогов и прочего. Зато быстро - с помощью горячих клавиш.

 

 

Рубрики:  Программирование

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку