Глава 3. РАБОТА С ДАННЫМИ НА Web-СТРАНИЦАХ

Сохранение данных в виде отдельного файла

Использование VBScript для создания интерактивных динамических Web-страниц позволяет разрабатывать приложения, которые предоставляют пользователю возможность сохранять введенные данные на своем рабочем месте или в сети на файловом сервере. Напомним, что для того чтобы сохранить данные на Web-сервере, необходимо создавать приложение, которое принимает сообщение пользователя и проводит все манипуляции с данными на сервере. Такие процедуры создаются на языках типа Perl или PHP, как это делается можно посмотреть в обширной литературе по созданию серверных приложений [5, 6], в данном пособии упор сделан на разработке сценариев только на стороне клиента.

Во всех языках программирования существуют функции для открытия файлов, записи в них данных, открытия файлов и просмотра данных. В языке VBScript такие возможности отсутствуют, так как считается, что пользователь должен только отправлять данные на Web-сервер, а затем получать ответ об их безопасности. Тем не менее, возможность ввода в текстовые окна  данных существует, поэтому можно использовать объекты Windows, которые воспринимают данные и сохраняют в формате приложения Windows. Например, MS Word воспринимает символьную информацию, которую пользователь может использовать на своем рабочем месте. Комплексное использование приложений Windows и возможностей VBScript во многом упрощает работу пользователя. Предположим, что с текущей Web-страницы необходимо скопировать фрагмент текста, добавить к нему собственный комментарий, а затем все сохранить в виде отдельного файла в формате MS Word.  ПРИМЕР8 демонстрирует возможность ввода данных в текстовое окно на Web-странице и сохранения их в виде отдельного файла, внешний вид приложения показан на рис. 16.

Рис. 16. Приложение для ввода текста и сохранения в виде отдельного файла

В рассматриваемом примере, на Web-странице размещены: текст; кнопка для удаления текста; текстовое окно для ввода текста; текстовое окно для ввода адреса расположения файла с данными и имя файла; кнопка для записи данных в файле, гиперссылка для открытия программных кодов приложения. Программные коды Web-страницы представлены в листинге 10.

Листинг 10.

<HTML>

  <HEAD>

    <TITLE>Сохранение данных в Word</TITLE>

  <SCRIPT LANGUAGE="VBScript">

    Dim word1

  Sub D1

    Ta.value=""

  End Sub

  Sub D2 

         name1=gr.value

     Set word1 = CreateObject("Word.Application")  ' Переменной Word1 назначаю новый объект

         word1.Documents.Add

         word1.Documents(1).Activate

         word1.Selection.TypeText Ta.value

         word1.Documents(1).SaveAs name1

         MsgBox("Файл с именем  " & name1 & "  создан")

         word1.Documents(1).close

   End Sub

  </SCRIPT>

 </HEAD>

 <BODY BGCOLOR="#ddffcc">

<P ALIGN=CENTER>

   <FONT SISE=4 FACE="Arial Cyr" COLOR=Brown>

     Данное приложение предоставляет возможность пользователю вводить текст в окно,<BR>

     копировать с Web-страницы фрагменты текста и переносить в текстовое окно. А затем<BR>

     сохранять данные, например, в текстовом редакторе Word. Файл можно хранить<BR>

     либо на своем рабочем месте, либо на удаленном сервере в локальной сети организации.<BR>

   </FONT>

    <INPUT TYPE="BUTTON" VALUE="Очистить окно" onClick="D1()">

  </P>

 <P ALIGN=CENTER>

     <TEXTAREA NAME="Ta" ROWS=6 COLS=28 Style="Font-size=16pt; Color=Navy;">

     </TEXTAREA>

      </P>

 <P ALIGN=CENTER style="background-color: yellow">

  <FONT SIZE=3  Face=Arial COLOR=navy><I>

    Необходимо указать путь для хранения данных в файле.<BR>

 В качестве примера в окне показано имя файла </I><B>dialog1.doc</B><I> и<BR>

наименование папки </I><B>zona</B>, <I>в которой будет сохранен файл, и имя<BR>

устройства </I><B>c:\</B>, <I>на котором находится указанная папка (директория).<BR>

Вы можете заменить имена устройства папки(ок) и имя файла, а затем нажмите на кнопку.</I><BR>

  <INPUT TYPE="TEXT" NAME="gr" VALUE="c:\zona\dialog1.doc" SIZE=28

  style="background-color: #000000; color: white; font: 16pt bold"><BR>

  <INPUT TYPE="BUTTON" VALUE="Сохранить в документе Word" onClick="D2()"><BR>

  </FONT>

<A Target=Local HREF="../Dop_files\Code2.htm" Title="Открыть страницу с кодами программы">

Посмотреть коды программы</A></P>

 </BODY>

</HTML>

На VBScript созданы две процедуры D1 и D2, которые запускаются кнопками. Процедура Sub D2 запускается после нажатия на кнопку с наименованием «Сохранить в документе Word». На рис. 16 в текстовом окне находится строка, скопированная непосредственно с Web-страницы (строка выделена темным цветом) и текст, который пользователь ввел с клавиатуры в текстовое окно. Сценарий формирует новый объект, запись которой выглядит следующим образом: Set word1 = CreateObject("Word.Application"). Далее  встречается ссылка на коллекцию объектов, которые принадлежат документу word1.Documents(1).Activate, в скобках стоит индекс объекта, находящийся на документе, это текстовое окно с именем Ta, нумерация индексов начинается с нуля, так как первым по порядку встречается объект – кнопка, то его индекс равен нулю. Другая процедура Sub D1 срабатывает после нажатия на кнопку с наименованием «Очистить окно», при этом значению текстового окна присваивается – пусто (Ta.value="").

Так как объект Word.Application является стандартным элементом ActiveX, имеет расширение .ocx, то при попытке сохранить данные в приложении Windows MS Word, система выдает предупреждение рис. 17.

Рис. 17. Предупреждение системы

Пользователь может в текстовом окне, где для примера уже сформирован путь к файлу с именем dialog1.doc, заменить имя файла и путь к нему на свое усмотрение, поэтому в сценарии предусмотрено вывод диалогового окна с подтверждением о том, в каком месте записаны данные, которое показано на рис. 18.

Рис. 18. Сообщение сценария

На рис. 19 показан фрагмент открытого документа Word с записанными в него данными.

Рис. 19. Отображение данных, переданных с Web-страницы в MS Word

На Web-странице, рассматриваемого примера введена гиперссылка, которая позволяет открыть программные коды всего приложения в браузере:

<A Target=Local HREF="../Dop_files\Code2.htm"

       Title="Открыть страницу с кодами программы">

  Посмотреть коды программы

</A>

В данной гиперссылке используется параметр тега <A> - Target=Local, который указывает системе Windows, что необходимо открыть новое окно браузера и в нем отобразить Web-страницу с именем: Code2.htm.

 

Oglav.gifSled.gif

Hosted by uCoz