Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];

Вниз

ISAPI в Delphi   Найти похожие ветки 

 
isasa ©   (2006-11-22 14:36) [40]

:) Ну тогда и к IE, Opera, Mozilla ...


 
Чапаев ©   (2006-11-22 14:37) [41]

> [39] Anatoly Podgoretsky ©   (22.11.06 14:27)
Почему CGI? Это способы передачи данных серверу.


 
Anatoly Podgoretsky ©   (2006-11-22 14:39) [42]

> isasa  (22.11.2006 14:36:40)  [40]

Которые являются CGI приложениями


 
Anatoly Podgoretsky ©   (2006-11-22 14:46) [43]

> Чапаев  (22.11.2006 14:37:41)  [41]

> Это способы передачи данных серверу.
Или способы приема данных. Это унифицированый интерфейс передачи.
Данные передаются или в строке вызова через заголовок или в виде потока, сразу за заголовком в виде name=value. Определяется ключевым словом GET/POST. Сервер принимает данные и через стандартный поток вывода передает их приложению обработчику, одновременно устанавливая системные переменные, а ответы принимает через стандартный поток ввода.

Я тут лопухнулся в предыдущем ответе, браузеры к этому имеют только косвенное отношение, они передают данные серверу и принимают ответ от него, они не обязательны. И они не используют (в общем случае) стандартные потоки.


 
isasa ©   (2006-11-22 14:46) [44]

:)
CGI это Common Graphic Interface. Я правильно мысль понял?


 
Чапаев ©   (2006-11-22 14:48) [45]

> [44] isasa ©   (22.11.06 14:46)
Gateway, а не Graphic.


> Определяется ключевым словом GET/POST
Анатолий, это протокол HTTP, а никак не CGI...


 
isasa ©   (2006-11-22 14:49) [46]

Виноват. Задолбали абревиатуры ...


 
Anatoly Podgoretsky ©   (2006-11-22 14:53) [47]

> isasa  (22.11.2006 14:46:44)  [44]

Абсолютно правильно понял.
Как передавать данные от клиента до приложения. Вся нагрузка на сервер, клиент просто посылает запрос и получает ответ. Формат запроса стандартизирован, передача параметров приложению тоже.
Обязательно участвуют две части сервер и приложение, без этого об CGI говорить неприлично.


 
Anatoly Podgoretsky ©   (2006-11-22 14:57) [48]

> Чапаев  (22.11.2006 14:48:45)  [45]

Ну и где он еще используется :-)
Он для него и используется, но это все таки не протокол HTTP, хотя они и связаны.
Для HTTP не требуется приложение, хватает только сервера.
CGI часть начинается после символа ?

Ну естествено это только самое общее пояснение, без нюансов и легенд, которые крутятся вокруг.

Но подай свое пояснение, мы и его рассмотрим. Вдруг я заблуждаюсь.


 
Чапаев ©   (2006-11-22 15:06) [49]

> [48] Anatoly Podgoretsky ©   (22.11.06 14:57)
Так... Покопавшись в определениях, пришёл к выводу, что таки да.

Просто как-то так уж сложилось, что под CGI принято понимать серверное CGI-приложение...


 
Anatoly Podgoretsky ©   (2006-11-22 15:22) [50]

> Чапаев  (22.11.2006 15:06:49)  [49]

> Просто как-то так уж сложилось, что под CGI принято понимать серверное CGI-приложение...

Ну так оно и есть, только через веб сервер.
Если напрямую, то это уже WEB сервис
Если без приложения, то это просто HTTP

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

Я не зря намекнул насчет легенд, поскольку вокруг этих технологий столько лишнего напридумано, что только скрывает суть.


 
poganka ©   (2006-11-23 15:35) [51]

ПРОГРАММЕРЫ!!!

компилятор на меня очень сильно ругается! что и где он хочет от меня видетьГ?
_____________________________________

unit myISAPI;

interface

uses
 SysUtils, Classes, HTTPApp;

type
 TWebModule1 = class(TWebModule)
   procedure WebModule1WebActionItem1Action(Sender: TObject;
     Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 WebModule1: TWebModule1;

implementation

{$R *.dfm}

procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
 Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
varMyname1:=Request.ContentFields.Values["myname1"];

var sl: TStringList;
sl:= TStringList.Create;
sl.LoadFromFile("1.html");
Response.Content:= sl.Text;
sl.Free;
end;

end.


 
Чапаев ©   (2006-11-23 15:42) [52]

> [51] poganka ©   (23.11.06 15:35)
Ох, человече... Ну зачем ты за такое берёшься, если языка не знаешь совсем?


 
poganka ©   (2006-11-23 15:46) [53]


> Ох, человече... Ну зачем ты за такое берёшься, если языка
> не знаешь совсем?

дадада, знаю. сознательно иду на позор.
не я за это берусь. это за меня в университете крепко взялись. методика преподавания у нас (причем, далеко не на первом даже курсе)- вообще отдельная тема для обсуждения.
за один семестр мы по их понятиям должны выучить Java, C++, JS, ASP, Perl и т.д. и т.п. я даже хороших книг найти не успеваю, не то что прочитать и уж тем более основательно освоить синтаксис.


 
Anatoly Podgoretsky ©   (2006-11-23 15:50) [54]

> poganka  (23.11.2006 15:35:51)  [51]

Что то ISAPI не видать, а уж ругани совсем.


 
poganka ©   (2006-11-23 15:51) [55]

:((((((((((((((((
здевайтесь. я заслужила.


 
Чапаев ©   (2006-11-23 15:52) [56]

> [55] poganka ©   (23.11.06 15:51)
Хоть текст исходной html со знаменитой радиокнопкой приведи, чтоб было от чего плясать


 
Anatoly Podgoretsky ©   (2006-11-23 15:53) [57]

> poganka  (23.11.2006 15:51:55)  [55]

Конечно заслужила, что сообщение об ругани сложно привести?


 
poganka ©   (2006-11-23 15:55) [58]

так наверху же он же ж есть!!!! one more time!

___________________________________________________
<html>
<body>
<form action="myISAPI.exe" method="post">
<input type="radio" name="myname1">Список товаров    <BR>
<input type="radio" name="myname2">Список услуг      <BR>
<input type="radio" name="myname3">Список партнеров  <BR>

<input type="submit">
<input type="reset"">
</form>
</body>
<html>
____________________________________________________

плюс, грубо говоря, есть 3 хтмл-файла вида:
____________________________
<html>
<body>
ТОВАРЫ
</body>
<html>
____________________________


 
poganka ©   (2006-11-23 15:56) [59]


> Anatoly Podgoretsky ©   (23.11.06 15:53) [57]

 [Error] myISAPI.pas(28): Unknown directive: "varMyname1"
 [Error] myISAPI.pas(30): Statement expected but "VAR" found
 [Error] myISAPI.pas(31): Identifier redeclared: "sl"
 [Error] myISAPI.pas(31): "," or ":" expected but "." found
 [Error] myISAPI.pas(32): Identifier redeclared: "sl"
 [Error] myISAPI.pas(32): "," or ":" expected but "(" found
 [Error] myISAPI.pas(33): "," or ":" expected but "." found
 [Error] myISAPI.pas(33): Identifier redeclared: "sl"
 [Error] myISAPI.pas(34): Identifier redeclared: "sl"
 [Error] myISAPI.pas(35): Type expected but "END" found
 [Fatal Error] Project2.dpr(9): Could not compile used unit "..\..\..\..\WEB_ISAPI\myISAPI.pas"


 
Anatoly Podgoretsky ©   (2006-11-23 16:03) [60]

> poganka  (23.11.2006 15:55:58)  [58]

Это CGI


 
poganka ©   (2006-11-23 16:05) [61]


> Anatoly Podgoretsky ©   (23.11.06 16:03) [60]

я думаю, это не принципиально. препод сказал, что в данном случае вся разница в том, какое именно Web Server Application выбирать. суть типа не меняется.


 
Anatoly Podgoretsky ©   (2006-11-23 16:13) [62]


> var sl: TStringList;

Вот это должно быть перед begin


> Unknown directive: "varMyname1"

Это не понятно почему, когда просто переменная не объявлена, возможно ихз-за следующего var


 
Чапаев ©   (2006-11-23 16:16) [63]

> [58] poganka ©   (23.11.06 15:55)
Действительно, наверху есть. Просю пардону. ;-)


> <input type="radio" name="myname1">Список товаров    <BR>
> <input type="radio" name="myname2">Список услуг      <BR>
> <input type="radio" name="myname3">Список партнеров  <BR>
Это неправильно, насколько я понял. Надо так:
<input type="radio" name="myname" value="tovar.html">Список товаров    <BR>
<input type="radio" name="myname" value="uslugi.html">Список услуг      <BR>
<input type="radio" name="myname" value="partnery.html">Список партнеров  <BR>
Не ручаюсь за правильность, в боевых условиях я этим уже года три не пользовался.

procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
 Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
 Value:string;
begin
 Value:="c:\webapp\"+Request.ContentFields.Values["MyName"];
 Response.ContentStream:=TFileStream.Create(Value,fmOpenRead);
end;


 
poganka ©   (2006-11-24 14:55) [64]

всем соучастникам спасибо! я дид ит естэдэй! препод сам дописал мне код!
...и дал новую задачу по ASP. (кстати, никто не знает, на чем ее легче писать: на VBScript или JS?)

спэшл тэнк ю ту Донецк, Эстония и все остальные!
вэри спэшл тэнк ю ту Киев! хлопцы, вы гарны!


 
Anatoly Podgoretsky ©   (2006-11-24 14:58) [65]

> poganka  (24.11.2006 14:55:04)  [64]

Это не о чем не говорит, ASP файл, это обычный текстовый файл, в котором может быть что угодно, часто там кроме HTML кода, еще код и на VBScript или JS, или на чем ни будь еще другом.
Писать на том, на чем получится, у VBScript более человеческий синтаксис.



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2006.12.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.58 MB
Время: 0.046 c
2-1164770308
delphim
2006-11-29 06:18
2006.12.17
данные ячейки сетки в несколько строк


2-1164977633
Basis
2006-12-01 15:53
2006.12.17
TreeView


15-1164489734
Дмитрий Белькевич
2006-11-26 00:22
2006.12.17
Выполнение праллельных тредов на нескольких камнях


15-1164598280
Slider007
2006-11-27 06:31
2006.12.17
С днем рождения ! 27 ноября


2-1164818064
мишок
2006-11-29 19:34
2006.12.17
Системный файл





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский