FreemanRU

Silver Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Вот и я наступил на грабли различий между VBScript (далее VBS) и Jscript (далее JS). Первый, как понятно, имеет в своей основе Visual Basic, а соотвественно крайне скудный запас типов данных. В основном используется Variant, т.е. общий тип данных. Jscript основан на Java, который в свою очередь основан на C. Это дает более гибкий инструмент для манипуляции различными типами данных, но при этом теряется удобство общих типов данных. Первое на что надо обратить внимание - JS чувствителен к регистру и каждая строка должна завершаться ";" (точкой с запятой) Очень сильно отличаются массивы. В VBS маccив - это любой набор данных, тогда как в JS есть два типа массива - Array и VBArray. Первый - это массив любых данных, создается стандартными средствами: Код: var Arr1 = new Array // var Arr2 = new Array('1','2','3'); // это массив типа char var Arr3 = new Array("1","2","3"); // это массив типа string var Arr2 = new Array(2,2); // это двухмерный массив 2х2 | VBArray служит для совместимости с массивами из VBS и создается только так: Код: var Arr2 = new VBArray(VBarr1); | где VBarr1 - это уже заполненный массив VBarray. Пример использования Что еще можно отметиь про работу с массивами - так это определение длины. Также, как было отмечено выше, в VBS напрочь отсутвуют функции работы с бинарными операторами (битовое OR, AND и пр.) Но проблема в том, что Microsoft выбрала основой для себя именно VBS (что вобщем-то не удивительно). Н-р все функции работы с реестром, возращаюищие массив значений работают только с VBS. Многие запросы WMI также работают только с VBS. Вопрос - что делать. Ответ очень простой. С версии WSH (Windows Script Host) 2 поддерживаются мультизадачьнуе (multy job) файлы. Такие файлы имеют расширение .wsf и следующий общий синтаксис Исходя из всего вышеизложенного удобнее писать основной текст на VBS, и использовать функции, написанные на JS. Вот пример, показывающий все вышеизложенные способы. Данный скрипт стоит у меня как login для пользователей и записывает информацию в БД MSSQL. Коментарии отсутвуют, но думаю и так все понятно. Если не понятно - спрашивайте в топике. Пример скрипта
---------- Если не получается с первого раза - прочти инструкцию. (с) "Откуда нам знать, что такое война, если мы не знаем мира..."(с) Записки |
| Всего записей: 3796 | Зарегистр. 16-07-2004 | Отправлено: 13:59 23-08-2005 | Исправлено: FreemanRU, 14:02 23-08-2005 |
|