Отправляет email-рассылки с помощью сервиса Sendsay

Программирование на JavaScript

  Все выпуски  

Азы и секреты программирования на JavaScript.


Служба Рассылок Subscribe.Ru проекта Citycat.Ru
Азы и секреты программирования на JavaScript Выпуск 6

Ссылка на архив предыдущих выпусков: http://www.b-soft.ru/prof/index.shtml
Статистика рассылки: http://subscribe.ru/stat/comp.soft.prog.javascript/

Уважаемые подписчики! Спасибо за Ваше участие в голосовании. Итоги голосования распределилсь следующим образом:
за продолжение подробного изучения использования
JS в локальных системах – 82%,
за скорейший переход к теме
WWW – 12%.

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

StarK - http://stark.boom.ru. 
«Я голосую за продолжение подробного описания возможностей JavaScript в локальных системах.
Считаю, что это абсолютно правильный подход... Дело в том, что про программирование для Web уже написано очень много, а руководств (нормальных) по программированию сценариев JavaScript в локальных системах я не видел...
»

"Vadim" <vadim@monolit.com>
Добрый день, Игорь!
Большое спасибо за рассылку. Очень интересно и полезно. Думаю, что желание некоторых подписчиков скорее перейти к использованию JavaScript в Web, связано с возможностью его применения в практических задачах которые им хорошо видны, хотя многие и не подозревают, что применение JavaScript в локальных системах. во многом может облегчить им жизнь. Так, что, по возможности, приводите в свох рассылках больше практических примеров использования JavaScript в локальных системах. Я думаю у Вас таких практических задач было много - так не бойтесь рассказывать о них, показывая тем ценность изучения JavaScript в локальных системах.
С уважением Вадим.

Еще один автор (я не получил от него разрешения опубликовать его имя, поэтому не привожу его):
То что ты рассматриваешь, это совсем даже и не JavaScript, а JScript от MS. Описание и различие спецификаций JS5 и JavaScript 1.3 можно почитать... нуа основное то, что JavaScript - это всеж таки разработка Нетскейпа именно для исполнения в броузере, а вот то что Windows Scripting Host умеет отрабатывать несколько скриптовых языков в том числе и JScript - это, имхо, совсем другой вопрос.

Я полностью согласен с автором последнего сообщения. То что мы рассматриваем СЕЙЧАС, действительно относится больше к «JScript от MS». В свое время я сознательно выбрал язык сценариев Java (независимо от его модификаций) именно потому, что он широко поддерживается разными производителями ПО. Разработка Нетскейпа была подхвачена во всем мире: Microsoft, Adobe, Corel, ClobalScape и т.д и т.д. И сейчас можно с помощью этого средства управлять работой практически всех современных программ самого широкого профиля – от графических редакторов до FTP клиентов. И наша рассылка призвана помочь Вам найти тот универсальный язык, который можно с успехом применять в большинстве своих задач – от архивирования файлов на своем домашнем компьютере до создания интерактивных Web-страниц. И этим уникальным средством, по моему глубокому убеждению, и является Java Script. Тем более, что он открывает дорогу к более легкому освоению еще одного молодого, но очень перспективного универсального языка - Java


Но вернемся к «нашим баранам» ;-).

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

FileSystemObject

Объектная модель FileSystemObject (FSO) содержит следующие объекты и коллекции.

Object/Collection

Описание

FileSystemObject

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

Drive

Объект. Содержит методы и свойства, которые позволяют Вам собирать такую информацию о диске, подключенном к системе, как сетевое имя и доступный объем. Обратите внимание, что "диск" не обязательно должен быть «жесткий диск», это может быть диск CD-ROM, ПСЕВДОДИСК (RAM), и т.д. Диск не обязательно должен быть физически подключен к системе, он может также быть логически связанным через сеть.

Drives

Коллекция. Обеспечивает получение списка дисков в системе, или физических или логических. Коллекция Drives включает все диски, независимо от типа. Диски со сменными носителями не обязательно должны иметь носители, вставленные в них, чтобы появиться в этой коллекции.

File

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

Files

Коллекция. Обеспечивает получение списка всех файлов, содержащихся в пределах папки.

Folder

Объект. Содержит методы и свойства, которые позволяют Вам создавать, удалять, или перемещать папки. Также позволяет сделать запрос к системе для получения названий (имен) папки, путей, и различных других свойств.

Folders

Коллекция. Обеспечивает получение списка всех папок в пределах текущей Папки.

TextStream

Объект. Позволяет Вам читать и записывать текстовые файлы.


Программирование с использованием объектной модели
FileSystemObject (FSO):

1.      Используя метод CreateObject, создают объект FileSystemObject.

2.      Используют соответствующий метод созданного объекта.

3.      Получают доступ к свойствам объекта.

Объектная модель FSO содержится в библиотеке типов Сценариев, которая расположена в файле Scrrun.dll. Поэтому Вы должны иметь Scrrun.dll в соответствующем системном каталоге Вашего компьютера, или на вашем сервере Web, чтобы использовать объектную модель FSO.

FileSystemObject Object
Обеспечивает доступ к файловой системе компьютера.
y = new ActiveXObject("Scripting.FileSystemObject")

Замечания
Следующий код иллюстрирует, как используется FileSystemObject, чтобы получить объект TextStream (как текстовый файл), который может быть открыт для чтения или записи:

var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("c:\\testfile.txt", true);
a.WriteLine("This is a test.");
a.Close();

В коде примера создается объект FileSystemObject как экземпляр объекта ActiveXObject. CreateTextFile метод создает файл, как объект TextStream, и метод WriteLine записывает строку текста в созданный текстовый файл. Завершение метода сбрасывает на диск буфер и закрывает файл.

Предвижу Ваш возможный вопрос: «Будет ли ЭТО работать с HTML страниц?». Для ответа на этот вопрос ниже привожу код HTML-файла. Загрузите этот файл на своем компьютере, и Вы получите ответ.

<HTML> <HEAD> <TITLE>Creating text file</TITLE> </HEAD> <SCRIPT> function crfile() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var a = fso.CreateTextFile("c:\\testfile.txt", true); a.WriteLine("This is only the text file..."); a.Close(); document.write('<H2>File "c:\\testfile.txt" is CREATED ' + 'on <Font color=#FF0000>You</Font> disk!</H2>'); } </SCRIPT> <body> <BUTTON onClick="crfile();">Create file</BUTTON> </body> </HTML>

Как видите - работает. Правда, навигатор (у меня IE 5.5) предупреждает о том, что это небезопасно. Но всегда ли мы придаем значение таким предупреждениям? А кто в этом случае помешает злоумышленнику передать на наш компьютер «определенную» комбинацию кодов, затем переименовать файл в исполняемый и запустить его с помощью этого же сценария? Или, к примеру, просто удалить все файлы с Вашего жесткого диска? Но теперь Вы предупреждены, а значит – вооружены.

Методы:
BuildPath Метод | CopyFile Метод | CopyFolder Метод | CreateFolder Метод | CreateTextFile Метод | DeleteFile Метод | DeleteFolder Метод | DriveExists Метод | FileExists Метод | FolderExists Метод | GetAbsolutePathName Метод | GetBaseName Метод | GetDrive Метод | GetDriveName Метод | GetExtensionName Метод | GetFile Метод | GetFileName Метод | GetFolder Метод | GetParentFolderName Метод | GetSpecialFolder Метод | GetTempName Метод | MoveFile Метод | MoveFolder Метод | OpenTextFile Метод

Свойства:
Drives Property

Продолжение следует.


Ссылка на архив предыдущих выпусков: http://www.b-soft.ru/prof/index.shtml
Статистика рассылки: http://subscribe.ru/stat/comp.soft.prog.javascript/

Автор и ведущий рассылки Игорь Балезин
Возможно-ли зарабатывать в Интернет?


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться Рейтингуется SpyLog

В избранное