Авторизация

Логин: Пароль:
Регистрация Забыли свой пароль?

CGI-приложения на Turbo Pascal

Страницы: 1
CGI-приложения на Turbo Pascal
Хочу обсудить с вами статью моего друга "CGI-приложения на Turbo Pascal". Может быть кто-нибудь дополнит её чем полезным или поделится своим опытом в создании таких приложений.
Прочитал. Что ж, написано доходчиво, в отличие от другой статьи на похожую тему, которую я тут нашел. По крайней мере, вполне понятно, как все делается. С синтаксисом немного знаком, так как приходилось использовать Perl. Вообще видны некоторые ограничения данного подхода по сравнению с тем же Perl, но как раз мне может понадобиться данный подход для написания не больше, чем примерно 50 строк кода, так что ограничения могут и не успеть проявиться. smile:) Сам Perl тоже довольно сложен местами, а здесь синтаксис немного легче, на первый взгляд.
Вот только возникает вопрос, нужно ли делать что-то дополнительное с настройками на сервере? Никаких больше требований к серверу не нужно, только установленное CGI? Просто в свое время я столько намучался с запуском exe файлов, что теперь все время боюсь, что на хостинге что-то будет запрещено. Они обычно такие вещи быстро отслеживают. Хотя если сервер выделенный, делать можно гораздо больше, только он стоит дороже.
Accende lumen sensibus, infude ainorem corbidus!
Хорошая статья. В последнюю табличку думаю надо добавить еще один очень популярный атрибут HTTP_USER_AGENT
Это строка описания браузера смотрящего. Может помочь например для составления счетчика, делаем связку REMOTE_ADDR+HTTP_USER_AGENT

Цитата
motorway11 пишет:
Вот только возникает вопрос, нужно ли делать что-то дополнительное с настройками на сервере? Никаких больше требований к серверу не нужно, только установленное CGI?


настройка веб сервера всегда похожа на шаманский танец с бубном
Изменено: mihail filatov - 31.05.2010 17:00:40
Паскаль был разработан как учебный язык, поэтому нельзя не согласиться с тем что:
"Конечно, по мощности он едва ли сможет тягаться со своими более современными собратьями, но для обучения и создания относительно простых приложений вполне подойдет. И этот большой плюс позволит попробовать свои силы в программировании CGI-приложений людям, пока не имеющим времени/возможности/желания садиться изучать новый для себя язык."
Сам когда-то познавал азы именно с Паскаля... Ну а потом уже и "интерпретируемые языки PHP, Perl, Python или приложения на Java, С++" будет проще освоить smile;)
Цитата
motorway11 пишет:
Вот только возникает вопрос, нужно ли делать что-то дополнительное с настройками на сервере?

cgi-bin как раз тем и хороши что для их работы не требуется вообще ничего устанавливать, как например, php-интерпретатор для php-скриптов. Достаточно указать серверу как он должен обрабатывать файлы с заданным разрешением и этого будет достаточно.
Цитата
Valera пишет:
Паскаль был разработан как учебный язык.

Ну так в статье почти прямым текстом говорилось, что написана в образовательных целях. smile;)

А по сабжу: маловато примеров, хотелось бы увидеть больше. Скриншоты тоже бы не помешали. И да, не помешал бы пример с генерацией HTML-странички.
Изменено: rozpants - 31.05.2010 17:09:35
В общем, возьму на заметку, может быть, пригодится. Еще бы узнать, можно ли запускать из такого приложения на Паскале внешний файл .exe и возвращать результаты скрипту CGI smile8)
Accende lumen sensibus, infude ainorem corbidus!
rozpants, пример вполне вразумительный. статья же не ставит перед собой цель, научить всем возможностям паскаля для веб приложений. А для тестирования можно использовать джентльменский набор веб разработчика denwer. Там как раз не придется ломать голову над настройками безопасности, там все разрешено по умолчанию.
motorway11, Да можно, вот код запуска приложения
Код
 Uses Dos;
 Var ProgramName, CmdLine : String;
 Begin
  Write('Имя программы для запуска (с путем) : ');
  ReadLn(ProgramName);
  Write('Параметры командной строки ', ProgramName, ' : ');
  ReadLn(CmdLine);
  WriteLn('Пробую запустить...');
  SwapVectors;
  Exec(ProgramName, CmdLine);
  SwapVectors;
  WriteLn('... вернулся из Exec');
  { Была ошибка ? }
  If DosError<>0 Then WriteLn('Ошибка DOS #', DosError)
  Else WriteLn('Запуск был удачным. Код выхода = ', DosExitCode);
 End.

Ну а вывод результата можно перенаправить из консоли в текстовый файл, откуда его будет не трудно прочитать. Наверное можно и напрямую получать, без временного файла, видел такой пример на Delphi, но сейчас уже не вспомню.
Спасибо за пример
Accende lumen sensibus, infude ainorem corbidus!
На ТР не подключишься к БД. Теряется очень большая часть смысла серверных приложений
Хорошо бы найти то, что с помощью него можно сделать легче, чем с помощью других средств. Наверно, все-таки надо признать, что для приложений средней сложности Паскаль уже не подходит полностью, его можно использовать для каких-то частей приложения. К БД же можно обычными средствами подключаться
Accende lumen sensibus, infude ainorem corbidus!
max katonin, Вы не правы, подключится к базе данных на TP можно, но никто этим сейчас разумеется уже не заниматься не станет.
Цитата
Артём Кулинич пишет:
max katonin, Вы не правы, подключится к базе данных на TP можно, но никто этим сейчас разумеется уже не заниматься не станет.


А поподробней можно??? Не будем брать в расчет базы paradox. Интересует подключение к mysql, oracal, mssql.
Ну на примере mysql, думаю если использовать libmysql.dll, то это возможно. То есть я хочу сказать что это возможно, хотя и потребуется произвести достаточно большую работу.
Артём Кулинич,, вы правы,
Я точно не помню, но если TP7 умеет подключать dll тогда можно. но трудоемкость будет калосальной
Страницы: 1
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)