Редактор для создания скриптов: Primal Script 4.0::Журнал СА 11.2005
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6175
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6887
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4168
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2983
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3787
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3796
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6291
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3145
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3441
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7258
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10625
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12345
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 13976
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9107
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7060
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5370
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4600
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3410
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3138
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3386
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3006
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Редактор для создания скриптов: Primal Script 4.0

Архив номеров / 2005 / Выпуск №11 (36) / Редактор для создания скриптов: Primal Script 4.0

Рубрика: Программирование /  Веб-программирование

ИВАН КОРОБКО

Редактор для создания скриптов: PrimalScript 4.0

Существует множество редакторов, позволяющих создавать скрипты. Как правило, они поддерживают один-два языка программирования. Редактор PrimalScript 4.0, имеет встроенную поддержку более чем 30 языков программирования, начиная от HTML, XML и VBScript, и заканчивая узкоспециализированными, такими как KIXTart.

О том, как пользоваться этим редактором, вы можете узнать из встроенной справки в редактор или из официальной документации, опубликованной на сайте разработчика (http://www.sapien.com). Мы поговорим о недокументированных возможностях, вы сможете самостоятельно интегрировать в редактор свои собственные шаблоны, создавать описание новых языков программирования, при необходимости вносить изменения в объектную модель, отображаемую в виде подсказки.

Интегрируем собственные шаблоны

Каждый программист имеет собственные наработки, которые позволяют ему быстро и качественно создавать различные скрипты. Получив возможность интегрировать их в редактор, он сможет еще быстрее их создавать, не тратя время на поиск нужного файла, содержащего шаблон. Словом, это позволит сделать работу в редакторе еще приятнее и эффективнее.

Создадим шаблон, в котором осуществляется соединение с Active Directory с помощью ADODB-соединения. За основу шаблона примем сценарий, с помощью которого осуществляется чтение всех пользователей в AD (о том, как осуществляется подключение и чтение данных из AD, см. статью «Программное управление ADSI: LDAP», №3, 2004 г. – http://www.samag.ru/cgi-bin/go.pl?q=articles;n=03.2004;a=09):

domain = "LDAP://" + GetObject("LDAP://RootDSE").Get("defaultNamingContext")

Set objConnection = CreateObject("ADODB.Connection")

Set objCommand = CreateObject("ADODB.Command")

objConnection.CommandTimeout = 120

objConnection.Provider = "ADsDSOObject"

objConnection.Properties("ADSI Flag")=1+2

objConnection.Properties("User ID")="msk\adminstrator"

objConnection.Properties("Password")="password"

objConnection.Properties("Encrypt Password")=TRUE

objConnection.Open "Active Directory Provider"

Set objCommand.ActiveConnection = objConnection

objCommand.properties("Page size")=10000

objCommand.properties("Timeout")=300

objCommand.properties("Cache Results")=false

Set st=objconnection.execute("SELECT Samaccountname, description FROM ' " & Domain & " '  WHERE objectClass='person')

st.Movefirst

Temp=""

Do Until st.EOF

SamAccountName=""

SamAccountName= St.Fields("Samaccountname").Value

Description=""

A_Description= St.Fields("Description").Value

For Each AA in A_Description

Description= Description+AA

Next

Temp=Temp+ "Имя: "+ SamAccountName + "Описание: " + Description +chr(13)+chr(10)

st.MoveNext

Loop

Wscript.Echo Temp

Из приведенного сценария можно сделать несколько шаблонов: шаблон определения длинного имени домена, соединения с AD, SQL-запрос обращения к объекту, чтения данных строка и массив.

Однако ограничимся созданием только одного шаблона. По местоположению в скрипте соединение с AD располагается в самом начале и сразу после него формируется SQL-запрос.

Выбор создания именно такого шаблона не случаен. Дело в том, что для успешного соединения с AD и чтения/записи данных необходимы административные права доступа. Как следствие, эти значения параметров необходимо указать, и они не статичны, поэтому для формирования шаблона скрипт необходимо трансформировать:

Admin_Name=" "

Password=" "

Set Domain= GetObject("LDAP://RootDSE").Get("defaultNamingContextм)

Short_Domain = mid(Domain, instr(Domain,"=")+1,instr(Domain,",")-instr(Domain,"=")-1)

Set objConnection = CreateObject("ADODB.Connection")

Set objCommand = CreateObject("ADODB.Command")

objConnection.CommandTimeout = 120

objConnection.Provider = "ADsDSOObject"

objConnection.Properties("ADSI Flag")=1+2

objConnection.Properties("User ID")= Short_Domain + "\"+Admin_Name

objConnection.Properties("Password")=Password

objConnection.Properties("Encrypt Password")=TRUE

objConnection.Open "Active Directory Provider"

Set objCommand.ActiveConnection = objConnection

objCommand.properties("Page size")=10000

objCommand.properties("Timeout")=300

objCommand.properties("Cache Results")=false

Именно такой шаблон, в котором имя и пароль пользователя перенесены в начало скрипта, будет просто и удобно использовать.

Определившись с содержанием шаблона, обратимся к файловой структуре редактора PrimalScript. Шаблон представляет собой текстовый файл с расширением snippet, расположенном в папке «C:\Program Files\SAPIEN\PrimalScript Professional\Snippets\», если программа установлена по умолчанию. Иерархическую структуру расположения шаблонов и описания функций различных языков определяет структура каталогов и файлы с расширением snippet (см. рис. 1).

Рисунок 1. Файловая структура PrimalScript

Рисунок 1. Файловая структура PrimalScript

Итак, создадим в каталоге «Snippets» подкаталог «Шаблоны на VBScript», а в нем файл «AD Connection.snippet», который является текстовым. Все его содержимое представляет собой шаблон.

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

Войдя в редактор, необходимо вызвать меню «Snippets Windows», в котором находятся все шаблоны. Для этого необходимо в меню «Tools» выбрать пункт Options, а в появившемся окне войти в «Environment/Nexus Windows» и сделать активным меню «Snippet Browser», как это показано на рис. 2. Чтобы сделанные изменения вступили в силу, необходимо перезапустить редактор.

Рисунок 2. Вид окна Tools для управления отображения меню с шаблонами

Рисунок 2. Вид окна Tools для управления отображения меню с шаблонами

Рисунок 3. Snippet Browser. Пример использования шаблонов

Рисунок 3. Snippet Browser. Пример использования шаблонов

Описываем новую объектную модель

Создание собственных объектных моделей поможет вам избежать ошибок при создании кода.

Разберем простой пример. На рис. 4 изображена некая объектная модель, которую предстоит описать. В ней присутствует ряд объектов, которые имеют свойства.

Рисунок 4. Тестовая объектная  модель

Рисунок 4. Тестовая объектная  модель

Существует несколько правил описания модели. По структуре файл представляет собой INI-файлы, которые раньше активно использовались. Иерархии описываются с помощью имени раздела. Сами параметры, которые могут быть объектами или свойствами, различаются символами «P» или «M» соответственно. Синтаксис строки выглядит следующим образом: сначала пишется идентификатор P или M. Затем пишется название объекта или свойства, после него уточняющие параметры. Обратите внимание, что в названии раздела и описании значения раздела между идентификатором и именем объекта символ пробела не допускается!

Отображенная иерархическая модель описывается в файле, как показано на рис. 5, там же показана иерархическая связь объектов. Связанные объекты выделены одинаковыми цветами. Направления связей (дочерний/родительский объект) показаны на рисунке стрелками.

Рисунок 5. Описание объектной модели в файле

Рисунок 5. Описание объектной модели в файле

Рисунок 6. Демонстрация работы тестовой объектной модели

Рисунок 6. Демонстрация работы тестовой объектной модели

Добавляем новые функции в существующие языки программирования

Существует масса языков программирования, набор функций которых расширяется до сих пор: выходят новые версии. Ярким примером представителя такого языка программирования является KIXTart, который уже несколько лет находится в активной разработке. С выходом новой версии в нем становятся доступны новые функции, которые хотелось бы сделать «понятными» для редактора. Для этого нам опять же придется отредактировать соответствующий файл с расширением «sense», например, KIXTart.sense.

Приведу пример добавления абстрактной функции WriteToXml(), которая имеет три параметра: имя файла, записываемый текст и кодировку. Причем кодировка – не обязательный параметр. Исходя из этих условий, функция имеет синтаксис:

WriteToXml("filename", "doby" [, "encoding"])

Для того чтобы редактор воспринял «WriteToXml» как служебное слово, необходимо в файл Kixtart.sense добавить строку:

M, WriteToXml("filename", "doby" [, "encoding"])

Обратите внимание, что пробел между «M» и названием функции не допускается.

После сохранения файла также необходимо перезагрузить редактор, чтобы внесенные в файлы изменения вступили в силу.

Заключение

Теперь, когда вы знаете, как создать собственные шаблоны, добавлять описания новых функций и объектные модели различных объектов для разных языков, хочется надеяться, что программирование станет для вас еще большим удовольствием, поскольку сделан огромный шаг по предупреждению синтаксических ошибок и удобству использования созданных вами же шаблонов.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru