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

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

Спасибо за внимание.



Опубликовал admin
8 Дек, Четверг 2005г.



Программирование для чайников.