FRNET.NAROD.RU » Статьи » Создание файлов при помощи JavaScript и VBScript
  » Навигация
- - - - - - - - - - - - - - - -
  » Книги
- - - - - - - - - - - - - - - -
  » Наша кнопка
- - - - - - - - - - - - - - - -
   » Создание файлов при помощи JavaScript и VBScript
 
Автор: Алексей Голубев

Сайт: http://www.frnet.narod.ru/

Многие книги по 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 и т. д. и т.п. На этой оптимистической ноте я заканчиваю. Спасибо за внимание.

P.S. Вы можете cкачать этот пример.
 

  » Друзья сайта
- - - - - - - - - - - - - - - -
  » Разное
- - - - - - - - - - - - - - - -
  » Счетчики
- - - - - - - - - - - - - - - -
  Дизайнер и ведущий проекта: Голубев Алексей
Copyright Alexei Golubev © 2004
Hosted by uCoz