Turbo Pascal: тряхнем стариной! (Часть 2) | Михаил Проломов | 23.01.2001 | ||||||||||||||||||||||||||||||
|
9k | |||||||||||||||||||||||||||||||
Софтерра
Turbo Pascal: тряхнем стариной! (Часть 2)Приступим к практике и сваяем с помощью ТР... веб-сайт. Михаил Проломов23.01.2001 В продолжение статьи о возможностях применения Turbo Pascal "в наши дни" (можно даже сказать более пафосно: "в наш век"), мы рассмотрим практические аспекты создания web-сайтов. Сегодня большие сайты часто создаются с использованием автоматической генерации HTML-документов. Самый типичный пример - поисковая система. Даже главная страница на таких сайтах генерируется автоматически, а не вручную. Каждые несколько минут содержание страницы меняется - обновляются новости, "горячие десятки" и так далее. В то же время, стиль страницы остается неизменным. Разметка практически не меняется. Таким образом, в каждой странице можно выделить статическую и динамическую части. Статическая часть - это HTML тэги, а также текст и графика, постоянные для каждой страницы. Сюда относится, как правило, header ("шапка"), т.е. информация о фирме, баннер, навигация, находящиеся вверху страницы, и footer (затрудняюсь с русским переводом), то бишь информация, располагающаяся внизу страницы - e-mail адреса, контактные телефоны и т.д. Также часто используются боковые навигационные панели и другие статические элементы. Динамическими элементами мы будем называть те области HTML-документа, содержание которых изменяется на различных страницах. При этом их местоположение и стиль (вид и размер шрифта, начертание) остаются одинаковыми. Для графических элементов неизменным остается выравнивание, иногда - размеры. На этом начальная терминология заканчивается. Дальнейшее обсуждение будет трудно понять без базовых знаний Turbo Pascal (конечно, желательно также знание HTML). Тем, кто HTML не знает, надо принять к сведению, что так называемые "тэги" - это управляющие операторы разметки; они заключены в скобки "<" и ">" (например <head> или <HEAD>), и их нужно будет оставлять неизменными от одной страницы к другой. В начале статьи мы коснулись работы генератора страниц поисковой машины. Сразу хочу предупредить, что на Turbo Pascal написать онлайновый генератор страниц невозможно. Необходимые страницы можно создать лишь на своем ПК и после загрузить их на сервер провайдера. Таким образом, количество файлов будет ограничено размером вашего web-сервера, и создавать страницы ответов на запросы не получится. Хотя, если ваш сайт содержит более 10 страниц, такие программы могут сильно упростить вашу жизнь. Итак, нужно создать программу на Turbo Pascal, которая бы формировала на основе "базового" HTML-документа другие, подобные ему, с заменой динамической информации. Для осуществления этой задачи необходимо, во-первых, создать (руками или в html-редакторе) документ-"родитель". Затем, просмотреть документ в текстовом редакторе (WordPad) и заменить все динамические элементы на СПЕЦИАЛЬНЫЕ КОДЫ. Пример:
Естественно, что если созданный файл имел какую-либо практическую ценность, перед созданием из него "базы" файл надо переименовать. После этого нужно присвоить созданному файлу условное имя (у нас это будет index1.htm), запустить Turbo Pascal и написать программу. Для начала разработаем алгоритм программы в "общем виде":
Если даже этот текст перевести на английский, получится почти готовая программа. Вот основные операторы, которые нам понадобятся:
В данной статье приведены лишь начальные данные. О том, как, к примеру, создать цикл для обработки нескольких страниц, организовать загрузку динамического текста из файла или с клавиатуры и еще о многом другом здесь не говорится. Но, думаю, полученной информации вполне достаточно, чтобы увидеть, как просто можно создавать различные интересные программы для разработки веб-сайтов в оффлайне. В остальном вам предлагается полная свобода, но не забывайте писать автору на submitit2me@mail.ru об интересных решениях, придуманных вами. Пробуйте. Фантазируйте. Творите! И делитесь впечатлениями со мной, я их обязательно опубликую. Софтерра | ||||||||||||||||||||||||||||||||