- •Федеральное государственное учреждение
- •©Российская таможенная академия, 2008
- •Ростовский филиал
- •© Крицкий с.П.
- •Содержание
- •Введение
- •Основные понятия программирования
- •Классификация языков программирования
- •Характеристика систем программирования на языкахJavaScript/Jscript
- •Типы значений в языкеJavaScript
- •Числовые литералы и значения и их организация в памяти Литералы целых чисел
- •Литералы вещественных чисел (чисел с плавающей точкой)
- •Логические литералы и значения и их организация в памяти
- •Строковые литералы, значения и их организация в памяти
- •Массивы и их организация в памяти. Многомерные массивы, матрицы
- •Записи и их организация в памяти
- •Операции над различными типами данных
- •Арифметические операции
- •Строковые операции
- •Логические операции
- •Операции сравнения
- •Операции выборки
- •Переменные, выражения, условия Переменные
- •Выражения
- •Вызовы функций и методов
- •Порядок вычисления выражения
- •Операции присваивания
- •Автоматическое преобразование типов значений. Функции преобразования и проверки типов
- •Ввод и вывод значений
- •Понятие оператора. Простые и составные операторы. Блок-схемы программ и модулей Операторы и модули
- •Блок-схемы
- •Составные операторы (последовательность, условные). Их синтаксис, блок-схемы и правила выполнения Последовательность операторов
- •Условный операторif … else
- •Операторы цикла (while, do-while и for). Их синтаксис, блок-схемы и правила выполнения. Операторыbreakиcontinue Оператор циклаwhile
- •Операторbreak
- •Операторcontinue
- •Оператор циклаdo…while
- •Оператор циклаfor
- •Функции. Определение и вызов. Выход из функцииreturn. Массив аргументовarguments Определение функции – операторfunction
- •Выход из функции – операторreturn
- •Определение переменной – операторvar
- •Отладка программ. Трассировка, отладочная печать. Тестирование программы
- •Основные понятия объектного подхода
- •ОбъектMath, назначение, свойства, методы. Значения NaN, Infinity, null, undefined.
- •Свойства объектаMath– константы:
- •Методы объекта Math
- •Специальные константы
- •Массивы как объекты в языкеJavaScript. Конструкторы, свойства и методы массивов. Задача копирования массива вJavaScript
- •Конструктор объектов типаArray
- •Свойство объектов типаArray
- •Методы объектов типаArray
- •Типичные задачи с массивами: линейная алгебра
- •Скалярное произведение векторов
- •Произведение матриц
- •Транспонирование квадратной матрицы
- •Типичные задачи с массивами: сортировка. Сортировка вставками. Методsort
- •Сортировка вставками
- •Методsort
- •Типичные задачи с массивами: поиск. Двоичный поиск в упорядоченном массиве
- •Обработка строк. Конструкторы, свойства, методы строк
- •Конструктор объектов типаString
- •Свойство объектов типаString
- •Методы объектов типаString
- •Шаблоны и регулярные выражения. Их использование методами строк.
- •Простые шаблоны
- •Составные шаблоны
- •Пользовательский интерфейс программ. Общее понятие
- •Html-страница как средство интерфейса для программ на языкеJavaScript. Тэги и атрибутыHtml
- •ОбъектыHtml-страниц иWeb-браузера, их свойства и методы. События и их обработка Объектные модели
- •Объекты страницы
- •Объекты браузера
- •СтилиHtml-объектов. Свойства позиционирования объектов страницы
- •Таймеры, примеры использования
- •Понятие ссылочной структуры данных. Односвязный список. Запись списков с помощью литералов.
- •Понятие стека. Функции для стека
- •Двухсвязный список, его структура
- •Понятие очереди и дека, их организация
- •Понятие дерева как ссылочной структуры. Бинарные деревья. Представление дерева литералом
- •Обработка деревьев. Рекурсия
- •Обход дерева «в глубину»
- •Обход дерева «в ширину»
- •Файлы и файловая система
- •Работа с текстовыми файлами
- •Объекты типа TextStream
- •Управление файлами и папками
- •Коллекции дисков, папок и файлов
- •Технология и методология создания программ
- •Жизненный цикл программы
- •Организация процесса разработки
- •Методологии проектирования программ
- •Заключение
- •Приложение 1. Теги, атрибуты и соответствующие свойства Общая структура html-документа
- •Форматирование текста
- •Вставка графики
- •Гиперссылки и карты
- •Приложение 2. События вHtmLи их источники
- •Приложение 3. Атрибуты и свойства стилейCss
- •Приложение 4. Работа с файловой системой вJScript
- •Свойства, методы и коллекции объектов файловой системы
- •Список литературы
- •Словарь терминов
- •If (условие) оператор1 [else оператор2]
- •Основы программирования
Приложение 4. Работа с файловой системой вJScript
Доступ к файловой системе компьютера осуществляется через ActiveX-объектFileSystemObject. Экземпляр этого объекта создаётся конструктором
fso = newActiveXObject("Scripting.FileSystemObject")
Объект FileSystemObjectпредоставляет доступ к объектам типаDrive,FolderиFile, представляющим диски, каталоги (папки) и файлы в файловой системе компьютера. При открытии какого-то файла для чтения-записи текста, создаётся объект типаTextStream, предоставляющий последовательный доступ к содержимому этого файла.
Для просмотра файловой системы объект FileSystemObjectсодержит коллекцию дисков Drives, а каждая папка содержит коллекцию непосредственно содержащихся в ней папок (коллекцияSubFolders) и файлов (коллекцияFiles). Просмотр этих коллекций осуществляется с помощью специального объектаEnumerator– счётчика элементов коллекций.
Свойства, методы и коллекции объектов файловой системы
|
Объект FileSystemObject | |
|
Свойства |
Нет свойств. |
|
Методы |
fso.BuildPath(путь,имя) Добавляет имя к существующему пути. Выдаёт полученный путь. |
|
fso.CopyFile(путь источника,путь назначения[,заменить]) Копирует файл или несколько файлов. Ничего не выдаёт. | |
|
fso.CopyFolder(путь источника,путь назначения[,заменить]) Копирует папку со всем содержимым. Ничего не выдаёт. | |
|
fso.CreateFolder(путь папки) Создаёт папку, если это возможно. Выдаёт объектFolder. | |
|
fso.CreateTextFile(путь [,заменить[,флаг_юникода]]) Создаёт и открывает текстовый файл для записи, если это возможно. Выдаёт объект TextStream(подробнее в п. 39). | |
|
fso.DeleteFile(путь файла [,только для чтения]) Удаляет файл или несколько файлов, если это возможно. Ничего не выдаёт. | |
|
fso.DeleteFolder(путь папки [,только для чтения]) Удаляет одну или несколько папок со всем содержимым, если это возможно. Ничего не выдаёт. | |
|
fso.DriveExists(буква или путь диска) Проверяет существование диска и выдаёт соответствующее логическое значение. | |
|
fso.FileExists(путь) Проверяет существование файла и выдаёт соответствующее логическое значение. | |
|
fso.FolderExists(путь) Проверяет существование папки и выдаёт соответствующее логическое значение. | |
|
fso.GetAbsolutePathName(образец пути) Выдаёт однозначный абсолютный путь, поостренный по заданному образцу. | |
|
fso.GetBaseName(путь) Выдаёт собственное имя папки или файла (без расширения) | |
|
fso.GetDrive(буква или путь диска) Выдаёт соответствующий объект типа Drive. | |
|
fso.GetDriveName(путь) Выдаёт имя диска для заданного произвольного пути. | |
|
fso.GetExtensionName(путь файла) Выдаёт расширение имени файла для заданного пути. | |
|
fso.GetFile(путь файла) Выдаёт соответствующий объект типа File. | |
|
fso.GetFileName(путь файла) Для заданного пути выдаёт имя файла с расширением. | |
|
fso.GetFolder(путь папки) Выдаёт соответствующий объект типа Folder. | |
|
fso.GetParentFolderName(путь папки или файла) Выдаёт имя родительской папки. | |
|
fso.GetSpecialFolder(спецификация) Выдаёт объект типа Folderдля системной папкиWindows, если спецификация равна 0,System, если спецификация равна 1,Temp, если спецификация равна 2. | |
|
fso.GetTempName() Выдаёт сгенерированное случайным образом имя, которое можно использовать для создания временного файла или каталога. | |
|
fso.MoveFile(путь источника,путь назначения) Перемещает файл или несколько файлов. Ничего не выдаёт. | |
|
fso.MoveFolder(путь источника,путь назначения) Перемещает папку или несколько папок с их содержимым. Ничего не выдаёт. | |
|
fso.OpenTextFile(путь,вид [,создать [,формат]]) Открывает и, возможно, создаёт текстовый файл. Выдаёт объект TextStream(подробнее в п. 39). | |
|
Коллекции |
fso.Drives Коллекция всех дисков и дисководов (объектов типа Drive), доступных на компьютере. |
|
Объект TextStream | |
|
Свойства |
ts.AtEndOfLine Логическое значение, указывающее, находится ли указатель текстового файла в конце строки текста. |
|
ts.AtEndOfStream Логическое значение, указывающее, находится ли указатель текстового файла в конце всего текста. | |
|
ts.Column Номер текущего символа в текущей строке текста. Нумерация символов в строке начинается с 1. | |
|
ts.Line Номер текущей строке текста. Нумерация строк начинается с 1. | |
|
Методы |
ts.Close() Закрывает открытый текстовый файл. Ничего не выдаёт. |
|
ts.Read(число) Читает из файла указанное число символов и выдаёт прочитанный текст. | |
|
ts.ReadAll() Читает из файла и выдаёт весь текст. | |
|
ts.ReadLine() Читает из файла текст до конца текущей строки и выдаёт прочитанный текст (без символа конец строки). | |
|
ts.Skip(число) Переносит указатель текста на заданное число символов (только в режиме чтения). Ничего не выдаёт. | |
|
ts.SkipLine() Переносит указатель текста на начало следующей строки (только в режиме чтения). Ничего не выдаёт. | |
|
ts.Write(строка) Записывает заданную строку в конец файла. Ничего не выдаёт. | |
|
ts.WriteBlankLines(число) Записывает заданное число символов конец строкив конец файла. Ничего не выдаёт. | |
|
ts.WriteLine([строка]) Записывает заданную строку и символ конец строкив конец файла. Ничего не выдаёт. | |
|
Коллекции |
Нет коллекций |
|
Объект Drive | |
|
Свойства |
drive.AvailableSpace Количество байтов памяти диска, доступной пользователю. |
|
drive.DriveLetter Буква указанного диска (дисковода). | |
|
drive.DriveType Число, указывающее тип диска: 0 – неизвестный, 1 – съёмный, 2 – локальный (жесткий), 3 – сетевой, 4 – CD-ROM, 5 –RAM-диск. | |
|
drive.FileSystem Тип файловой системы диска – FAT,NTFSилиCDFS. | |
|
drive.FreeSpace Количество байтов свободной памяти (из доступной пользователю) на диске. | |
|
drive.IsReady Логическое значение, указывающее готовность диска (например, установлен ли диск в дисководе). | |
|
drive.Path Путь диска (буква диска с двоеточием) | |
|
drive.RootFolder Объект типа Folder, представляющий корневой каталог диска. | |
|
drive.SerialNumber Уникальный десятичный серийный номер диска. | |
|
drive.ShareName Для сетевого диска – его сетевое имя, в противном случае – пустая строка "". | |
|
drive.TotalSize Полный объём памяти на диске в байтах. | |
|
drive.VolumeName Имя, присвоенное диску. Можно присвоить в сценарии. | |
|
Методы |
Нет методов |
|
Коллекции |
Нет коллекций |
|
Объект Folder | |
|
Свойства |
folder.Attributes Байт атрибутов – целое число от 0 до 255. Представляет 8 одноразрядных атрибутов папки (каталога) или файла (в ОС каждая папка является специальным файлом). Атрибуты нумеруются справа налево от 0 до 7. 1 в некотором разряде означает наличие соответствующего свойства, а 0 – его отсутствие. 1 в n-м разряде представляется числом 2n. Атрибуты выражают следующие свойства: 0-й – файл «только для чтения» (число 1), 1-й – «скрытый» файл (число 2), 2-й – «системный» файл (число 4), 3-й – файл «метка тома» (число 8), 4-й – файл «папка (каталог)» (число 16), 5-й – «архивный» файл, т.е. измен1нный после последнего резервного копирования (число 32), 6-й – файл «ярлык», т.е. ссылка на другой файл (число 64), 7-й – «сжатый» файл (число 128), К байту атрибутов можно применять арифметические операции, но лучше использовать поразрядные логические операции &,|,^и~, которые называютсяпоразряднымиAND (И),OR (ИЛИ),XOR(исключающее ИЛИ) иNOT (НЕ). В этих операцияхистинупредставляет 1, аложь– 0. |
|
folder.DateCreated Дата и время создания (строка). | |
|
folder.DateLastAccessed Дата и время последнего открытия (строка). | |
|
folder.DateLastModified Дата и время последнего изменения файла (строка). | |
|
folder.Drive Буква содержащего диска. | |
|
folder.IsRootFolder Логическое значение, указывающее, является ли папка корневой. | |
|
folder.Name Полное имя папки (или файла). | |
|
folder.ParentFolder Родительская папка (объект типа Folder) | |
|
folder.Path Путь папки (или файла). | |
|
folder.ShortName Короткое имя папки (или файла) – имя в DOS. | |
|
folder.ShortPath Короткий путь папки (или файла) – путь в DOS. | |
|
folder.Size Размер в байтах всего содержимого. | |
|
folder.Type Строка, указывающая тип папки или файла (тип файла определяется по его расширению). | |
|
Методы |
folder.Copy(путь назначения[,заменить]) Копирует указанную папку (folder) вместе с её содержимым. Подробности в п 39. |
|
folder.Delete([только для чтения]) Удаляет указанную папку. Подробности в п 39. | |
|
folder.Move(путь назначения) Перемещает указанную папку. Подробности в п 39. | |
|
Коллекции |
folder.Files Коллекция файлов (объектов типа File), содержащихся непосредственно в указанной папке. |
|
folder.SubFolders Коллекция подпапок – папок (объектов типа Folder), содержащихся непосредственно в указанной папке. | |
|
Объект File | |
|
Свойства |
file.Attributes – аналогично объекту типаFolder |
|
file.DateCreated – аналогично объекту типаFolder | |
|
file.DateLastAccessed – аналогично объекту типаFolder | |
|
file.DateLastModified – аналогично объекту типаFolder | |
|
file.Drive – аналогично объекту типаFolder | |
|
file.Name – аналогично объекту типаFolder | |
|
file.ParentFolder – аналогично объекту типаFolder | |
|
file.Path – аналогично объекту типаFolder | |
|
file.ShortName – аналогично объекту типаFolder | |
|
file.ShortPath – аналогично объекту типаFolder | |
|
file.Size – аналогично объекту типаFolder | |
|
file.Type– аналогично объекту типаFolder | |
|
Методы |
file.Copy – аналогично объекту типаFolder |
|
file.Delete – аналогично объекту типаFolder | |
|
file.Move – аналогично объекту типаFolder | |
|
file.OpenAsTextStream(вид[,формат]]) Открывает указанный текстовый файл аналогично методу OpenTextFile. Выдаёт объектTextStream(подробнее в п. 39). | |
|
Коллекции |
Нет коллекций |
|
Коллекции Drives, Folders, Files | |
|
Свойства |
collect.Count Число элементов коллекции. |
|
Методы |
folders.Add(имя новой папки) Создаёт новую папку с указанным именем и выдаёт соответствующий объект типа Folder. Папка создаётся в той папке, для которой указанный объектfoldersявляется коллекцией подпапок. Новая папка добавляется в эту коллекции. Если папка с таким именем уже была в коллекции, возникает ошибка. |
|
Объект Enumerator | |
|
Конструктор |
new Enumerator(коллекция) Создаёт счётчик для заданной коллекции. Счётчик имеет указатель на текущий элемент коллекции, сначала – на первый. |
|
Методы |
enum.atEnd() Выдаёт логическое значение, показывающее, что указатель находится в конце коллекции и не указывает никакого элемента. |
|
enum.item() Выдаёт текущий элемент коллекции (указатель не сдвигается). | |
|
enum.moveFirst() Сдвигает указатель в начало коллекции. Ничего не выдаёт. | |
|
enum.moveNext() Сдвигает указатель на следующий элемент. Ничего не выдаёт. | |
