Полная версия

Главная arrow Информатика arrow Базы данных

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

13.2. Основы языка программирования HTML

Простейшая программа на языке HTML имеет следующий вид:

<HTML>

<HEAD>

<TlTLE> . .. </TITLE>

</HEAD>

<BODY>

...

</BODY>

</HTML>.

Из программы видно, что каждый блок, как правило, открывается оператором (тегом) <F> и закрывается тегом </F>.

Перечислим некоторые теги. Поскольку их достаточно много, введем некоторую классификацию [49].

Общее назначение:

<HTML> – программа на языке HTML;

<TITLE> – титул документа;

<HEAD> – заголовок страницы;

<BODY> – тело программы;

<р> – элемент абзаца;

<BR> – переход на новую строку;

<NOBR> – выполнение в одну строку;

<PRE> – отформатированный текст.

Шрифт:

<В> – полужирный шрифт;

<ЕМ> – курсив;

<U> – подчеркивание;

<BIG> – увеличение размера шрифта;

<1> – уменьшение размера шрифта;

<STRONG> – выделение текста;

<SUB> – нижний индекс;

<SUP> – верхний индекс;

<VAR> – переменная.

Списки:

<UL> <LI> </UL> – LI – нумерованный список;

<OL type T> </OL> – где type имеет такие значения: 1 – I, II, III, ...; i – 1, 2, 3, ...; А – А, В, С, ...; а – а, и, с, ....

Рисунки:

<IMG>

Таблица:

<TABLE> – таблица;

<CAPTION> – заголовок таблицы;

<TR> – строка таблицы;

<ТН> – заголовок столбца или строки внутри TR;

<TD> – ячейка таблицы.

Форма:

<form> – представляет интерактивную форму ввода и имеет два атрибута: method и action (действие). Чаще всего используют метод post, как способ передачи ISAPI-программе введенных данных. Например,

<form method=POSTюaction=getphone.htm>.

<input> – поле ввода, задаваемое внутри тега <form>. Input имеет много атрибутов, из которых рассмотрим основные: name (название поля), value (значение поля), type.

Например,

<input type=text name=Familia value=Ivanov>.

В свою очередь, атрибут type тоже имеет несколько значений. Рассмотрим основные из них.

type=text – задает однострочные текстовые поля;

type= password – определяет пароль;

type=radio – задает радиокнопку; type=checkbox – определяет флажок.

Например,

Select the credit card to place the order:<BR>

Visa<input type=radio name=CreditCard value=Visa>

Master Card<inputtype=radio name=CreditCard value=MCard>.

Type=range – проверка диапазона задания (от минимума до максимума);

Type=hidden – скрытые поля, которые используются обычно для формирования правил проверки. Например,

<form method-POST action=getphone.htm>

<inputtype=text name=WWWMY1 size=5>

<input type=hidden name=WWWMY1_range value='MIN=0 MAX=25'>

cinput type=submit va1uе='Ответ'>.

</form>

В последней строке submit – это кнопка, нажатие которой вызывает передачу введенных данных полей в Web-сервер, при этом value определяет название кнопки.

Аналогично задается кнопка reset для сброса значений полей к начальному состоянию.

Тег <select> отображает с помощью тега <option> некоторый список:

<select name=tovar>

<option> tea

<option> coffee

<option> water

</select>.

Для создания многострочного окна используют тег <textarea>.

13.3. Реализация публикации

Теперь возможно рассмотреть пример публикации базы данных, т. е. процедур Б и 2А примера 13.1. Процедура 1А – создание источника данных – реализована в виде базы данных.

По-прежнему пример выполним в рамках приложения Delphi.

Для выполнения публикации удобно – для передачи базы данных на www-страницу – использовать специальные компоненты TDatasetTableProducer и TQueryTableProducer.

В частности, компонента TQueryTableProducer позволяет обращаться к базам данных на основе СУБД Access и InterBase, в которых таблицы размещаются в одном файле, через имя БД (файл) и SQL-оператор select с указанием в нем имени таблицы и публикуемых полей.

Для учебных целей составим простую программу с передачей полей таблицы в некотором цикле[1].

Исходная таблица построена в СУБД Paradox (рис. 13.2).

Она публикуется с помощью следующей программы.

Отображаемая таблица

Рис. 13.2. Отображаемая таблица

unit Uniti;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls,

Forms, Dialogs,

OleCtrls, SHDocVw, Grids, DBGrids, Db, DBTables, HTTPApp,

StdCtrls,

Buttons, DBWeb;

TForml = class(TForm)

DataSourcel: TDataSource;

Table1:TTable;

DBGrid1:TDBGrid;

BitBtnl: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

WebBrowser: TWebBrowser; procedure BitBtnlClick(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure FindAddress;

private

{Private declarations}

public

{Public declarations}

end;

var

Forml: TForml;

implementation

{$R *.DFM}

uses shellapi, filectrl; //подключение модулей

procedure TForml .FindAddress;

var

Flags: OLEVariant;

begin

Flags := 0; //установка адреса броузера

WebBrowser.Navigate(WideString('c:HTMLTEST.htm'), Flags, Flags, Flags, Flags);

end;

procedure TForml .BitBtnl Click(Sender: TObject); //закрытие формы

begin

close;

end;

procedure TForml .BitBtn2C!ick{Sender: TObject); //алгоритм публикации

var

HTMLStr: TStringList;

l,k: Integer;

Begin //основные теги HTML

HTMLStr:= TStringList.Create;

HtmIStr.Clear;

HtmIStr.Add ('<HTML>');

HtmIStr.Add ('<HEAD>');

HtmIStr.Add ('<TITLE>' + 'HTML-страница, содержащая отчет из БД'+ '</TITLE>') ;

HtmIStr.Add ('</HEAD>');

HtmlStr.Add ('<BODY BGCOLOR='#FFFFEE">'); //добавление файла в заголовок //документа

HtmIStr.Add ('<Н1 ><CENTER>BA из файла'+ Tablet .TableName + '</CENTERx/H1 >');

HtmIStr.Add ('ctable border>');

HtmIStr.Add (/<tr>/);

Table 1 .Open; //открытие таблицы для чтения for l:=0 to Table1.FieldCount – 1 do

HtmIStr.Add('<th >'+Table 1. Fields[l]. FieldName+'</th>');

HtmIStr.Add('</tr>'); //закрытие заголовка таблицы

Table 1. First;

while not Table 1 .EOF do //копирование данных из ячеек базы данных в ячейки таблицы begin

HtmlStr.Add("<tr>");

for!:- 0 to Tablel .FieldCount – 1 do

if Tablet .Fields[l].DisplayText=/ then

HtmlStr.Add('<td>' + '___'' + '</td>')

else HtmlStr.Add('<td>' + Tablel.Fields[l].DisplayText + '</ td>');

HtmlStr.Add('</tr>');

Tablel.Next;

end;

HtmlStr.Add('</tr>'); //закрытие выходного файла

HtmIStr.Add ('</table>');

HtmIStr.Add ('</BODY>');

HtmlStr.SaveToFile('c:Htmltest.htm');

HtmIStr.Free;

end;

//запуск сгенерированного файла на просмотр

procedure TForml .BitBtn3Click(Sender: TObject);

begin

FindAddress;

end;

end.

Окно Delphi до запуска программы

Рис. 13.3. Окно Delphi до запуска программы

Результат работы программы

Рис. 13.4. Результат работы программы

Окно приложения Delphi до запуска программы показано на рис.

После запуска программы и последовательного нажатия кнопок "Перевести в HTML" и "Просмотреть HTML-файл" в нижней части окна (рис. 13.4) отобразится сгенерированный HTML-файл.

При изменении данных в исходной таблице (рис. 13.4) меняется и результат в нижней части окна.

Выход из программы осуществляется нажатием кнопки "Выход".

  • [1] Работа выполнена С. Кузнецовым под руководством авторов.
 
<<   СОДЕРЖАНИЕ   >>