"Интернет решения от доктора Боба" - читать интересную книгу автора (Swart Bob)

2.1.8.2. Таблицы

Использование фреймов для показа содержимого индекса и одной записи это одна из возможностей. Но имеется возможность отображать это и как таблицу. HTML 3.0 поддерживает ТАБЛИЦЫ, которое является одним из наиболее используемых свойств наших дней. Таблицы с рамками и без могут использоваться для всего, что вы не можете сделать нормальным путем (например, нет метода иметь множественные колонки в HTML странице, без использования таблиц). В нашем случае это может быть двух колоночная таблица с рамкой. В левой колонке мы просто отображаем название каждого поля, а правой колонке – значение этого поля. Подобно предыдущему текстовому решению, единственная вещь которую нужно изменить это коды заголовков в коды таблицы. lt;TRgt; начинает новую строку таблицы, заканчивая ее тегом lt;/TRgt;. Тег lt;TDgt; открывает новое поле , закачивающее тегом lt;/TDgt;. Для окончательно преобразования, мы должны написать специальную индексную HTML страницу как файл (файл g в нашем случае). Преобразованный листинг выглядит следующим образом:

if (keys gt;= 0) then

begin

  writeln(g,'lt;TRgt;');

  write(g,'lt;TDgt;lt;A HREF="../',FileName,'/',PageNr(RecNr), '"TARGET="Main"gt;');

  writeln(g,RecNr:3,'lt;/Agt;lt;/TDgt;')

end;

  { print fields }

writeln(f,'lt;TABLE BORDERgt;');

for i:=0 to Pred(FieldCount) do if FieldTypes[i] gt; sf_UnKnown then

begin

  writeln(f,'lt;TRgt;');

  write(f,'lt;TDgt;lt;Bgt;',FieldDefs[i].Name,'lt;/Bgt;lt;/TDgt;lt;TDgt;');

  if FieldTypes[i] = sf_Memo then

    writeMemo(f,Fields[i])

  else writeln(f,Fields[i].AsString);

  writeln(f,'lt;/TDgt;lt;/TRgt;');

  if (keys gt;= i) then

    writeln(g,'lt;TDgt;',Fields[i].AsString,'lt;/TDgt;')

end;

if (keys gt;= 0) then writeln(g,'lt;/TRgt;');

writeln(f,'lt;/TABLEgt;');