SiteMaker - Академия сайтостроительства | Разработка сайта
| Вёрстка сайта
| Веб программирование
| Интернет технологии
| Продвижение ресурса
| Инструментарий
карта сервера :: форум :: профайл :: авторам :: о сайте
Гид: SiteMaker.Ru » Веб программирование » JavaScript и VBScript » Создание файлов при помощи JavaScript и VBScript

Создание файлов при помощи JavaScript и VBScript


Версия для печати
Многие книги по Web-программированию отрицают возможность создания и использование файлов на клиентском компьютере, однако это совсем не так. Я в этом убедился, когда копаясь по документации VBScript и JavaScript, внезапно обнаружил эти функции. Недостаток их в том, что перед их выполнением IE и другие браузеры запрашивают подтверждение на их выполнение, но это и правильно, кто знает, что этот программист задумал ввести в файл... Давайте теперь приступим к самим функциям.

1. Создание пустого файла.

На первый взглад эта функция может показаться бесполезной, однако, как вы занесете данные в файл, не имея самого файла, не будем же мы потртить файлы посетителя нашей страницы. Для того, чтобы создать пустой файл с помощью VBSctipt надо написать в HTML-файле следующий код:
<script language="VBScript">
Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
</script>
Ту же самую функцию выполняет и следующий код, написанный уже на JavaScirpt:
<script language="JavaScript">
var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile("c:\\testfile.txt", true);
</script>
Вот теперь, создав чистый файл, можно приступить к его заполнению...

2. Запись данных в файл.

а) Открытие файла.

Для того, чтобы открыть файл надо применить следующий скрипт:
Dim fso, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting. FileSystemObject")
Set ts = fso.OpenTextFile("c:\test.txt", ForWriting, True)
Данный скипт написан на VBScript. Здесь по-моему все понятно. ForWriting - флаг, показывающий зачем открывать файл. Вот тот же скрипт на JavaScript:
var fso, ts;
var ForWriting= 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
ts = fso.OpenTextFile("c:\\test.txt", ForWriting, true);
Надо отметить, что при этом файлы будут автоматически создаваться.

б) Непосредственная запись в файл.

Для занесения строчек текста в файл используется следующие методы:
Задача Метод
Втавка новой строки, с последующей возможностью добавления в эту же строку данных, т.е. в конце строки нет символов переноса строки и возврата каретки. Write
Втавка новой строки с переносом на следующую. WriteLine
Вставка одной или нескольких пустых строк. WriteBlankLines

Вот примеры скриптов. На VBScript:
Sub CreateFile()
Dim fso, tf
Set fso = CreateObject("Scripting.FileSystemObject")
Set tf = fso.CreateTextFile("c:\testfile.txt", True)
' Вставка строки с переносом на новую.
tf.WriteLine("Testing 1, 2, 3.")
' Вставка 3 путых строк.
tf.WriteBlankLines(3)
' Вставка новой строки, без переноса.
tf.Write ("This is a test.")
' Закрытие файла.
tf.Close
End Sub
На JavaScript:
function CreateFile()
{
var fso, tf;
fso = new ActiveXObject("Scripting.FileSystemObject");
tf = fso.CreateTextFile("c:\\testfile.txt", true);
// Вставка строки с переносом на новую.
tf.WriteLine("Testing 1, 2, 3.") ;
// Вставка 3 путых строк.
tf.WriteBlankLines(3) ;
// Вставка новой строки, без переноса.
tf.Write ("This is a test.");
' Закрытие файла.
tf.Close();
}
Вот и все. Что с этим делом делать вы наверное уже знаете. В мирных целях эта возможность создавать файлы на клиентских машинах очень полезна. Можно предложить посетителю скачать ваш фирменный значок и установить его в качестве значка диска C, D, E, F, ..., Z. Можно создать autorun для диска X, в котором будет прописана строка, которая позволит загружать ваш фирменный сайт при запуске этого диска. Сохранение настроек без использования cookies и т. д. и т.п. На этой оптимистической ноте я заканчиваю. Спасибо за внимание.

Ссылки по теме:
Ссылка на сайт к статье о создании файлов при помощи JavaScript и VBScript: http://www.frnet.narod.ru/


Автор: Голубев АлексейДата публикации: 05.06.2004
Рейтинг статьи: [4.33] рейтинг статьи: 4.33рейтинг статьи: 4.33рейтинг статьи: 4.33рейтинг статьи: 4.33 [голосов: 27]Кол-во просмотров: 44536
Оценить статью: Установите cookies!

Комментарии читателей:


Сообщение №385 matador 08.06.2004 12:44:11
ребята, а причем здесь js? Всем известно что через ActivX это можно сделать.
Сообщение №432 Holopainen 20.09.2004 12:41:28
Эти "внезапно обнаруженные" функции относятся к работе с Windows Scripting Host и при правильно настроенной политике безопасности не выполняются для загружаемых из интернета страниц.
Курить мануалы к WSH, много думать.
Сообщение №490 alinabagi 22.12.2004 12:32:02
A vy ne mogli by mne podskazat', kak v VBScript napisat' function sravnenija dvux fajlov? Ja ne ponimaju kak eto mozhno sdelat' bez EOF, kotorogo v VBScript kak ja ponjala net. Mozhet mozhno kak-to po-drugomu opredelit' konec fajla? Zaranee spasibo.
Сообщение №551 Vova 10.04.2005 3:27:30
Читайте Андрей Попов Windows Script Host для Windows 2000/XP
СПб.: БХБ-Петербург,2003
Сообщение №563 Владhttp://www.foto-land.narod.ru в новом окне03.05.2005 16:32:32
Через ActivX сбои будут, лучше помучится и js

» Читать все комментарии...

Ваши комментарии:

Ваше имя:*
Ваш E-mail:
Ваш URL:
HTML запрещен
BB Код разрешен


Ваше сообщение:*
* - обязательные поля для заполнения

Внимание!
Перед появлением сообщения на сайте, оно пройдет премодерацию.

Поиск по сайту:

Последние статьи:
Предварительная загрузка рисунков (preload) и перекат (rollover) Предварительная загрузка рисунков (preload) и перекат (rollover)
» архив всех статей
Схожая тематика:
:: PHP
:: Perl/CGI
:: ASP

Академия веб мастеринга и веб дизайна. Разработка сайта, вёрстка сайта, веб программирование, продвижение ресурса, инструментарий и другие темы, посвященные разработке ресурсов в сети Интернет. Форум для веб мастера.


карта сервера :: форум :: профайл :: авторам :: о сайтеНаверх
Rambler's Top100Rambler's Top100 Valid HTML 4.01! © 2000-2016 Все права защищены
страница создана за 0.018 секунд
На главную страницуDeveloped by SiteMaker