Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

СGI приложение в Builder 6

343
21 июня 2005 года
lena_ki
282 / / 14.04.2005
Имеется таблица с ценами. Надо организовать следующее:
посетитель сайта выбирает нужные ему товары из этой таблицы, нажимает кнопку и получат окно с расчетом общей стоимости выбранных товаров. Как легче всего реализовать такую технологию? Что использовать JavaScript, или с помощью Builder 6 реализовать CGI приложение? В каком правильном направлении начать двигаться (задача в дальнейшем может усложняться) для решения подобных задач? Языки типа php, perl я не знаю.
Можно ли реализовать СGI приложение в Builder 6 используя компонеты СLX потому что сам сервер Linux?
2
21 июня 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by lena_ki
Имеется таблица с ценами. Надо организовать следующее:
посетитель сайта выбирает нужные ему товары из этой таблицы, нажимает кнопку и получат окно с расчетом общей стоимости выбранных товаров. Как легче всего реализовать такую технологию? Что использовать JavaScript, или с помощью Builder 6 реализовать CGI приложение? В каком правильном направлении начать двигаться (задача в дальнейшем может усложняться) для решения подобных задач? Языки типа php, perl я не знаю.
Можно ли реализовать СGI приложение в Builder 6 используя компонеты СLX потому что сам сервер Linux?



потому, что гладиолус... нельзя. потому что CGI сценарий должен исполнятся на сервере, соответственно должен быть исполняемым файлом ELF или COFF формата.
так что учите perl (php), либо пишите на С++ но под Линукс.

343
21 июня 2005 года
lena_ki
282 / / 14.04.2005
Цитата:
Originally posted by squirL
потому, что гладиолус... нельзя. потому что CGI сценарий должен исполнятся на сервере, соответственно должен быть исполняемым файлом ELF или COFF формата.
так что учите perl (php), либо пишите на С++ но под Линукс.



Сервер находится у нас.

2
21 июня 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by lena_ki
Сервер находится у нас.


я вас с этим поздравляю.
работать с exe форматом исполняемых файлов ваш сервер от этого все равно не научится ;)

243
22 июня 2005 года
pacific_7
1.9K / / 06.09.2004
Цитата:
Originally posted by squirL
я вас с этим поздравляю.
работать с exe форматом исполняемых файлов ваш сервер от этого все равно не научится ;)


Я конечно ландух в этих делах, но: squirL, CLX - специально сделано для работы в винде и линуксе. Другое дело, насколько гарантированно и правильно оно будет там работать.

10
22 июня 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by pacific_7
CLX - специально сделано для работы в винде и линуксе


Сундуки! Подразумевается совместимость на уровне исходников, но никак не результирующего кода.

10
22 июня 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by squirL
работать с exe форматом исполняемых файлов ваш сервер от этого все равно не научится ;)


Можно научить, и наверное, ты даже в деталях знаешь, как. Вот только нужно ли - большой вопрос.

343
22 июня 2005 года
lena_ki
282 / / 14.04.2005
Значит окончательное резюме такое:

нельзя в среде C++ Builder 6 написать CGI приложение, используя межплотформенные компоненты CLX?
585
22 июня 2005 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by lena_ki
Значит окончательное резюме такое:

нельзя в среде C++ Builder 6 написать CGI приложение, используя межплотформенные компоненты CLX?


Можно, но в виде сорцов для компиляции на платформе под которую пишется приложение.
Вопрос на засыпку. Леночка, если бы с переносимостью на уровне исполняемого кода все было так просто, JRE и иже с ними умерли бы во младенчестве

2
22 июня 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by Freeman
Можно научить, и наверное, ты даже в деталях знаешь, как. Вот только нужно ли - большой вопрос.


можно и тараканов научить строем ходить... ИМХО - если можно, но через ... и вопрос - нужно ли вообще, то нельзя.

343
22 июня 2005 года
lena_ki
282 / / 14.04.2005
Скажите напоследок, среда разработки Kylix это решение моей задачи?
2.3K
22 июня 2005 года
ART-CODE
134 / / 15.11.2004
Цитата:
Originally posted by lena_ki
Скажите напоследок, среда разработки Kylix это решение моей задачи?



Сам не пробовал , но теоретически -да.

А еще есть возможность запуска Win приложений в
*.nix это должен знать Ваш админ...

А еще можно сделать TCP/IP туннель через *.nix
сервер на другой - Win server, на котром
работает твой сервис.
Для специалиста, владеющего необходимыми
знаниями все равно - на какой OS это делать.

Есть успешные бизнес решения и на Windows и на *nix.
Выбор зависит от специалиста - как ему удобнее реализовывать.

Можно даже и свой порт открыть на IdHTTPServer
(что важно для бизнеса - он может и SSL шифрование поддерживать)...
Если будет интересно скину тестовый исходник
(для столь очаровательной и любознательной девушки исходников не жалко :) ).

Старайся выполнить как можно больше работы
на стороне клиента - используй JavaScript (DHTML)
Чем меньше обращений к серверу - тем лучше .
Сразу почувствуешь разницу на медленном интернете.

Смотри как работают другие сайты в интернете -
что хорошо и что плохо...
Кстати вот одна из серьзных ошибок , допущеных
разработчиками Web интерфейса почтового
сервера CommuniGate Pro - когда пользователь
хочет отметить все сообщения, чтобы что-то с
ними сделать - удалить, переместить и т. п.
- отправляется запрос на сервер, и вся страница
обновляется (20-40 сек), а можно было-бы
выполнить JavaScript локально за 0.5 сек...
(так я сделал в своем Web Mail Server.
Мой почтовый Web сайт работает на IdHTTPServer+SSL
и повторяет интерфейс программы
OutlookExpress , при этом работает по- максимуму
на стороне клиента используя DHTML)

343
22 июня 2005 года
lena_ki
282 / / 14.04.2005
Спасибо за разъяснения и предложенные исходники. Проблема в том, что у меня точно не хватит ума в них разобраться. Я даже не знаю что это за файлы *.nix
Все что я умею по вопросу CGI это создать его в Windows c нужной функциональностью. Как это делать для Линукс я теперь смутно представляю благодаря форуму:

1. Мне нужно установить Kylix. (Что он из себя представляет? Там есть VCL?)
2. Сделать в этом самом Kylix-е нужное мне приложение CGI.
3. Разместить его на сервере Линукс.
Или:
1. Сделать CGI приложение в Builder 6 на основе CLX компонентов.
2. Протестировать его в среде Windows.
3. Получить еще один исполняемый файл откомпилировав исходный код моего CGI приложения в компиляторе для Линукс (в том же Kylix-e). (Какое на выходе получиться расширение? Сможет ли Kylix откомпилировать CLX компоненты?)
4. Этот файл надо установить на сервере Линукс.

Какой подход более правленый. В первом варианте придется изучать Kylix чтобы написать в нем CGI приложение, что весьма не хочется.
:(
2
22 июня 2005 года
squirL
5.6K / / 13.08.2003
Лена, несколько уточнений по вашему посту. CGI - это независящий от платформы интерфейс. поэтому где вы напишите код - неважно. если, как говорили коллеги CLX действительно - кросплатформенные компоненты (я не знаю) значит пройдет и второй вариант. далее..
в Линуксе понятие расширения отсутствует.
все что вам нужно - написать прогу и получить исполняемый файл. дальше - дело вашего системного администратора.
2.3K
22 июня 2005 года
ART-CODE
134 / / 15.11.2004
Я бы Kylix поставил - прото из любопытства - как там работается...

*nix это не файлы, а обобщенное название
операционных ситем
семейства Linux (RedHat, BSD, Unix...)
:)

Все не так сложно, и опять-же - спросить всегда можно. Если есть конкретный вопрос....

P.S.
А с передачей файлов как сделала - используешь
компоненты Indy или Server/ClientSocket ?

Удачи.
:)
343
22 июня 2005 года
lena_ki
282 / / 14.04.2005
Большое всем спасибо! Наконец-то в моей голове наступило прояснение, после Ваших ответов!

По поводу пересылки файлов, я оставила код, который в конечном итоге стал для меня самым понятным и коротким:
Вот он (Indy):
Отправка:

Цитата:
if(OpenDialog1->Execute()){
try{
IdTCPClient1->Connect();
IdTCPClient1->WriteLn(OpenDialog1->FileName);
TFileStream *f = new TFileStream(OpenDialog1->FileName,fmOpenRead);
Screen->Cursor = crHourGlass;
IdTCPClient1->OpenWriteBuffer();
IdTCPClient1->WriteStream(f,true,true);
Screen->Cursor = crDefault;
IdTCPClient1->CloseWriteBuffer();
delete f;
IdTCPClient1->Disconnect();
}
catch(...)
{
ShowMessage("Не удалось!");
return;
}

}



Прием:

Цитата:

void __fastcall TForm1::IdTCPServer1Execute(TIdPeerThread *AThread)
{


AnsiString C_Path = "C:\\CHAT\\" + ExtractFileName(AThread->Connection->ReadLn());


TFileStream *f;

if(!FileExists(C_Path)){
f = new TFileStream(C_Path,fmCreate);
}
else
{
f = new TFileStream(C_Path,fmOpenWrite);
}


AThread->Connection->ReadStream(f,-1,true);
delete f;

}



Ну а пересылкой текста занимаются компоненты Server/ClientSocket, которые меня так измучили, что я готова была их убить!:)

2
22 июня 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by lena_ki
Большое всем спасибо! Наконец-то в моей голове наступило прояснение, после Ваших ответов!



ну, как говориться, одна голова хорошо... а с телом лучше. :)

343
23 июня 2005 года
lena_ki
282 / / 14.04.2005
Цитата:
Originally posted by squirL
CGI - это независящий от платформы интерфейс. поэтому где вы напишите код - неважно.



Еще прошу не много разъяснений.
В Builder можно создать CGI как exe файл, также можно создать как альтернативу ISAPI как DLL.
Как было сказано выше надо использовать для создания CGI компоненты CLX в Builder 6, но если как сказал squirL что CGI - это независящий от платформы интерфейс, то получается можно использовать любые компоненты, ведь после компиляции Builder превратит приложение CGI в независящее от платформы?! Дайте разъяснение, так ли это? Хочется приступит к работе с пониманием того, что собираюсь делать :)

2
23 июня 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by lena_ki
Еще прошу не много разъяснений.
В Builder можно создать CGI как exe файл, также можно создать как альтернативу ISAPI как DLL.
Как было сказано выше надо использовать для создания CGI компоненты CLX в Builder 6, но если как сказал squirL что CGI - это независящий от платформы интерфейс, то получается можно использовать любые компоненты, ведь после компиляции Builder превратит приложение CGI в независящее от платформы?! Дайте разъяснение, так ли это? Хочется приступит к работе с пониманием того, что собираюсь делать :)



ну я немного не то имел ввиду. дело не в любых компонентах, и не в том, что Builder сделает. упрощенно CGI - это интерфейс, позволяющий писать программы, обрабатывающие данные с HTML форм, и выдающие результат на страницу. не зависящий от платформы (и языка) значит - что все что надо, это предусмотреть корректную "точку входа" для параметров, и корректную "точку выхода" для результата. а на каком языке вы будете это делать, под какой Web-сервер или ОС - большой роли не играет. поэтому если у вас будет корректный участок кода принимающий параметры со страницы, то внутренняя логика работы приложения ничем не будет отличаться от обычного.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог