Основы языка программирования 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>.
Реализация публикации
Теперь возможно рассмотреть пример публикации базы данных, т. е. процедур Б и 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.
Рис. 13.3. Окно Delphi до запуска программы
Рис. 13.4. Результат работы программы
Окно приложения Delphi до запуска программы показано на рис.
После запуска программы и последовательного нажатия кнопок "Перевести в HTML" и "Просмотреть HTML-файл" в нижней части окна (рис. 13.4) отобразится сгенерированный HTML-файл.
При изменении данных в исходной таблице (рис. 13.4) меняется и результат в нижней части окна.
Выход из программы осуществляется нажатием кнопки "Выход".
- [1] Работа выполнена С. Кузнецовым под руководством авторов.