LibKing » Книги » comp-programming » Bob Swart - Интернет решения от доктора Боба

Bob Swart - Интернет решения от доктора Боба

Тут можно читать онлайн Bob Swart - Интернет решения от доктора Боба - бесплатно полную версию книги (целиком). Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
libking
  • Название:
    Интернет решения от доктора Боба
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    3.88/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

Bob Swart - Интернет решения от доктора Боба краткое содержание

Интернет решения от доктора Боба - описание и краткое содержание, автор Bob Swart, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Интернет решения от доктора Боба - читать онлайн бесплатно полную версию (весь текст целиком)

Интернет решения от доктора Боба - читать книгу онлайн бесплатно, автор Bob Swart
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать
HTML tag text effect
Ограничивает HTML страницу
Секция заголовков
Заголовок документа
Секция содержимого страницы

Заголовок (возможные уровни 1..6)
Жирный текст
Наклонный текст

Разрыв строки

Горизонтальная черта
Абзац
…. Ссылка на другую страницу или URL

HTML страница всегда начинается тегом и заканчивается тегом

.

Содержимое страницы размещается между тегами

и. Множественные разрывы строк и пробелы/табуляции игнорируются и заменяются на один пробел, это причина, по которой требуется специальный тег разрыва строки
и

. Простая HTML страница с одним заголовком и ссылкой выглядит так.

Hello, world!


Dr.Bob's Delphi Clinic

Примечание: тег

, который мы можем использовать для помещения адресной информации и ссылки на домашнюю страницу или e-mail адрес. Эта информация будет отображена наклонным шрифтом. Тег часть основы HTML; данная форма используется для указания гипер-ссылки, в данном случае на другую страницу (мою домашнюю страницу) по адресу http://www.drbob42.com. Для данной простой HTML страницы, браузер (такой как Netscape Navigator) покажет одну страницу с заголовком и с ссылкой.

Для освоения HTML я могу рекомендовать хорошую книгу "Netscape & HTML Explorer".

1.3. CGI

Аббревиатура CGI означает Common Gateway Interface, и является связевым протоколом между формой в Web браузере (клиент) и приложением запущенным на Web сервере (сервер). Приложение обычно называется CGI скрипт, но мы можем использовать Дельфи для написания CGI приложений без скриптов.

Имеется два типа CGI: стандартное или консольное CGI приложение и позже появилась версия для Windows называемая WinCGI.

1.3.1. Консольное CGI приложение

Стандартное или консольное CGI приложение взаимодействует с формой на клиенте с помощью переменных среды (управляющая информация), стандартным входом (данные формы) и стандартным выводом (возвращаемая динамическая HTML страница).

1.3.2. WinCGI

Приложение WinCGI взаимодействует с формой на клиенте с помощью Windows.INI файла вместо переменных среды. Windows.INI файл содержит управляющую информацию, иногда данные формы и имена входного, данных и выходного файлов.

1.3.3. Delphi и CGI

В данной главе я расскажу, как написать простое Дельфи CGI приложение, без использования Web Modules или других Client/Server модулей.

Во первых аббревиатура CGI означает Common Gateway Interface, и это только имя для передачи информации от клиента серверу. На клиентской стороне это реализуется с помощью формы, содержащей только теги. На серверной стороне

На сервере запускается CGI приложение, которое иногда называется CGI скрипт (для примера на Unix машинах, где Perl используется для исполнения CGI скриптов).

В данной главе я сконцентрирую внимание на написание CGI приложения для Windows NT web сервера, и использовании 32-битной Дельфи (например Delphi 2.x или 3.x) для данной задачи, данный код может быть также без проблем откомпилирован в C++Builder.

Стандартное CGI приложение получает данные через стандартный вход и должно выдать ответ через стандартный вывод. (например сгенерированную HTML страницу). Это означает необходимость написания консольного приложения. Если даже нет входных данных мы все равно можем использовать CGI приложение для генерации динамических HTML страниц (например для выдачи данных их таблицы).

1.3.4. Динамический вывод

Для начала посмотрим на стандартное "hello world" CGI приложение. Единственное, что оно должно сделать, это вернуть HTML страницу со строкой "hello, world". Перед тем как мы начнем делать это – обратим внимание на следующее: CGI приложение должно сообщить миру какой (MIME) формат оно выдает. В нашем случае это "text/html", которое мы должны указать как: content-type: text/html , и затем одну пустую строку.

Вот код нашего первого "Hello, world!" CGI приложения:

programCGI1;

{$APPTYPE CONSOLE}

begin

writeln('content-type: text/html');

writeln;

writeln('

writeln('

writeln('Hello, world!');

writeln('

writeln('

end.

Если вы откомпилируете данную программу в Дельфи 2 или 3 и затем запустите ее из web браузера подключенного к web серверу, где оно записано в исполнимом виде в исполняемом каталоге таком как cgi-bin, то вы увидите текст "Hello, world!" на странице.

1.3.5. CGI ввод

Теперь, мы знаем как создавать CGI приложение, которое может генерировать динамическую HTML страницу (или в действительности почти статическую). Но как насчет ввода ? Здесь более чем одно действие: мы должны проверять переменную DOS 'CONTENT LENGTH' что бы знать как много символов мы можем прочитать со стандартного ввода (если мы попытаемся читать больше чем есть, то мы повиснем навсегда). Конечно, это широко известный факт. Я написал компонент TBDosEnvironmentчтобы вы могли иметь доступ до переменных среды DOS:

unitDrBobDOS;

interface

uses

SysUtils, WinTypes, WinProcs, Classes;

type

TBDosEnvironment = class(TComponent)

public

{ Public class declarations (override) }

constructorCreate(AOwner: TComponent); override;

destructorDestroy; override;

private

{ Private field declarations }

FDosEnvList: TStringList;

procedureDoNothing( constValue: TStringList);

protected

{ Protected method declarations }

Dummy: Word;

functionGetDosEnvCount: Word;

public

{ Public interface declarations }

functionGetDosEnvStr( constName: String): String;

{ This function is a modified version of the GetEnvVar function thatappears in the WinDos unit that comes with Delphi. This function's interface uses Pascal strings instead of null-terminated strings.

}

published

{ Published design declarations }

propertyDosEnvCount: Word readGetDosEnvCount writeDummy;

propertyDosEnvList: TStringList readFDosEnvList writeDoNothing;

end;

implementation

constructorTBDosEnvironment.Create(AOwner: TComponent);

var

P: PChar;

begin

inheritedCreate(AOwner);

FDosEnvList := TStringList.Create;

{$IFDEF WIN32}

P := GetEnvironmentStrings;

{$ELSE}

P := GetDosEnvironment;

{$ENDIF}

whileP^ <> #0 do

begin

FDosEnvList.Add(StrPas(P));

Inc(P, StrLen(P)+1) { Fast Jump to Next Var }

end;

end {Create} ;

destructorTBDosEnvironment.Destroy;

begin

FDosEnvList.Free;

FDosEnvList := nil;

inheritedDestroy

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


Bob Swart читать все книги автора по порядку

Bob Swart - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Интернет решения от доктора Боба отзывы


Отзывы читателей о книге Интернет решения от доктора Боба, автор: Bob Swart. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img