Лена |
Отправлено: 21.06.2005, 10:34 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
На сервере имеется таблица с ценами. Надо организовать следующее:
посетитель сайта выбирает нужные ему товары, нажимает кнопку и получат окно с расчетом общей стоимости выбранных товаров. Как легче всего реализовать такую технологию? Что использовать JavaScript, или с помощью Builder 6 реализовать CGI приложение, или еще что? В каком правильном направлении начать двигаться (задача в дальнейшем может усложняться) для решения подобных задач?
|
|
AVC |
Отправлено: 21.06.2005, 11:05 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Если сервер не в вашем распоряжении, то придется пользоваться средствами, разрешенными у владельца сервера. Скорее всего php, perl. JavaScript доступен, практически, всегда. С моей точки зрения использование CGI для такой мелкой проблемы — излишне. И вообще использование exe CGI проблематично, так как exe зависит от ОС.
Использовать Builder CGI можно только если "сервер у вас под столом". |
|
Лена |
Отправлено: 21.06.2005, 12:50 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Это наш сервер (можно сказать, что под столом) |
|
AVC |
Отправлено: 21.06.2005, 13:07 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
И он стоит на Win? Вам повезло. Ну тогда вы можете себе позволить и Builder CGI и динамичскую генерацию страниц эти CGI. |
|
Иван |
Отправлено: 21.06.2005, 13:10 |
|
Машинист паровоза
Группа: Участник
Сообщений: 207
|
сервер на Windows? насколько это надежно?
если сравнить с Linux/Unix
|
|
Лена |
Отправлено: 21.06.2005, 13:46 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Сервер нашей конторы стоит на Linux. |
|
Иван |
Отправлено: 21.06.2005, 14:34 |
|
Машинист паровоза
Группа: Участник
Сообщений: 207
|
Ну тогда, если я все правильно понял Вам нужно писать на Kylix...
|
|
Лена |
Отправлено: 21.06.2005, 15:51 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
А можно ли реализовать СGI приложение в Builder 6 используя компонеты СLX в случае если сервер Linux? |
|
AVC |
Отправлено: 21.06.2005, 16:12 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Скорее всего нет. CGI (ISAPI) это расширение сервера и, следовательно, выполняется в рамках его ОС (процесса для ?SAPI). |
|
Лена |
Отправлено: 21.06.2005, 16:29 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Спасибо.
В остатке остается JavaScript. Правда если задача будет усложняться, то и проблем будет много.
О JavaScript имею не большое представление, а вот php, perl, вообще не знаю. |
|
Иван |
Отправлено: 21.06.2005, 16:35 |
|
Машинист паровоза
Группа: Участник
Сообщений: 207
|
с perl не знаком вообще, а с php думаю проблем не будет, на С он похож.
|
|
AVC |
Отправлено: 21.06.2005, 16:39 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
А JavaScript очень напоминает C интерпритатор. Часто писал автоматически привычные c конструкции и приятно удивлялся их работоспособности. |
|
Иван |
Отправлено: 21.06.2005, 16:45 |
|
Машинист паровоза
Группа: Участник
Сообщений: 207
|
QUOTE (AVC @ 21/06/2005, 16:39) | А JavaScript очень напоминает C интерпритатор. Часто писал автоматически привычные c конструкции и приятно удивлялся их работоспособности. |
Как то надо было создать pdf документ с кнопочками и edit' ами, там тоже JavaScrypt. — тоже интуитивно писал скрипты со второго третьего раза работали
|
|
Treumer |
Отправлено: 21.06.2005, 17:31 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 92
|
QUOTE (Лена @ 21/06/2005, 16:29) | Спасибо.
В остатке остается JavaScript. Правда если задача будет усложняться, то и проблем будет много.
О JavaScript имею не большое представление, а вот php, perl, вообще не знаю. |
JavaScript конечно сильно вырос с тех пор, как я его использовал..
Но тем не менее это малопригодное для обработки мало-мальски крупных объемов данных средство.
К тому же все обрабатываемые данные лежат в этом случае на клиенте — т.е. в Эксплорере (кстати, JavaScript для эксплорера и других браузеров не хило так отличется объектной моделью, что приводит к несовместимости на разных браузерах) и будут потеряны если Эксплорер "грохнется"..
Ну и прочие недостатки... К примеру — отсутсвие связи с БД, чтобы туда что-то записать нужно подготовить на JavaScript данные и отослать их как-то на сервер...
Проще всего начинать писать на РНР, т.к. (по сравнению с Perl) удобно отлаживать.
Вообще-то, насколько я понимаю, есть Веб-сервисы на Яве — может тогда уж лучше на ней писать ? Хотя по сравнению с РНР они более ресурсо-прожорливые...
Отредактировано Treumer — 22/06/2005, 09:53 |
|
Valdemar |
Отправлено: 22.06.2005, 07:55 |
|
Мастер участка
Группа: Участник
Сообщений: 433
|
Я тоже советую использовать РНР, тем более если вы знаете С++ (они сильно похожи). У меня, когда возникла необходимость разрабртки проекта под Web, больших проблем с РНР не возникло. Для работы с базами данных в РНР есть дополнительные библиотеки, которые можно подключить, а поддержка MySQL включена в ядро РНР.
Для РНР есть много редакторов, как платных так и бесплатных. Некоторые позволяют отлаживать программу. Сам я использую PHP Expert Editor. |
|
Лена |
Отправлено: 22.06.2005, 08:34 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Спасибо всем за советы.
Просто задачка маленькая, неизвестно или будет ее дальнейшее развитие, поэтому хотелось обойтись средствами C++ Builder 6, а не изучать новый для меня язык программирования (просто нет времени).
Значит окончательное резюме такое:
нельзя в среде C++ Builder 6 написать CGI приложение, используя межплотформенные компоненты CLX?
|
|
timson |
Отправлено: 22.06.2005, 16:41 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 82
|
сори за офтоп.
Лена просто красавица!!! еще умница.. =)))
|
|
Лена |
Отправлено: 23.06.2005, 08:17 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Спасибо за комплемент, но если бы я была умница, то я бы отвечала на вопросы, а не задавала бы их |
|
Gedeon |
Отправлено: 23.06.2005, 11:48 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
QUOTE (timson @ 22/06/2005, 16:41) | сори за офтоп.
Лена просто красавица!!! еще умница.. =))) |
Не могу не согласиться.
|
|
Иван |
Отправлено: 23.06.2005, 13:31 |
|
Машинист паровоза
Группа: Участник
Сообщений: 207
|
QUOTE (Лена @ 23/06/2005, 08:17) | Спасибо за комплемент, но если бы я была умница, то я бы отвечала на вопросы, а не задавала бы их |
нельзя знать абсолютно все, все задают вопросы, другое дело кому!
|
|
Treumer |
Отправлено: 27.06.2005, 17:33 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 92
|
QUOTE (Лена @ 23/06/2005, 08:17) | Спасибо за комплемент, но если бы я была умница, то я бы отвечала на вопросы, а не задавала бы их |
Главное — не то, задает ли человек вопросы, а то — в состоянии ли он понять данные ему ответы. |
|
-=\SeaWolF/=- |
Отправлено: 16.03.2006, 22:49 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 24
|
собсвтенно вопрос...
ближу сюда чем в дуругой топик...
Вот допустим у нас Есть Linux
Тама стоит GCC — Как заюзать открыйты код
чтобы запустить приложение через веб сервер?
Или как и чем копмпилировать... чтобы заработал...
Вот простой пример...
замутил чтобы запустить несколько затяжных процессво и посмотреть на загрузку сервера во время их исполнения....
sdtio.h
и printf — должен рабоать на всех платформах...
Однако подскажите как это победить? на WEBсервере
CODE |
#include<stdio.h>
int rgbtable(){
int r=0, g=0, b=0;
for(r=0;r<=0xFF;r++)
for(r=0;r<=0xFF;r++)
for(r=0;r<=0xFF;r++)
{printf("<tr><td bgcolor=\"%06X\">%06X</td></tr>",r+g+b,r+g+B);}
return 0;
}
main()
{
printf("Content-Type: text/html\n\n"); /*Это надо для задния типа данных на сколько я понимаю*/
printf( "<HTML><HEAD><TITLE>Environment</TITLE></HEAD>\n");
printf( "<BODY>\n");
printf( "<TABLE>\n");
rgbtable();
printf( "</TABLE>\n");
printf( "</HTML></BODY>\n");
return 0;
}
|
Отредактировано AVC — 17/03/2006, 08:08 |
|
AVC |
Отправлено: 17.03.2006, 09:42 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE |
Как заюзать открыйты код
чтобы запустить приложение через веб сервер?
|
Построить исполняемый модуль.
Поместь его в определенное место (в какое знает ваш webсервер)
Опубликовать ссылку на страницу, которая получается с помощью этого расширения. Это либо указанием пути через CGI либо спец.расширением (как вы договоритесь со своим сервером)
Активировать её.
Для вашего случая лучше воспользоваться стандартным расширением, например PHP.
CODE |
<table>
<?php
for ($r=0; $r < 256; $r += 32)
for ($g=0; $g < 256; $g += 32)
for ($b=0; $b < 256; $b += 32)
{ $rgb = sprintf("%02X", $r).sprintf("%02X", $g).sprintf("%02X", $b);
echo("<tr><td bgcolor='#$rgb'> </td></tr>\n");
}
?>
</table>
|
QUOTE |
Вот простой пример...
замутил чтобы запустить несколько затяжных процессво и посмотреть на загрузку сервера во время их исполнения....
|
Этот код для этой цели не подходит, так как время потраченное на передачу результата будет намного превосходить время построения страницы и вы просто забъете канал связи. |
|
-=\SeaWolF/=- |
Отправлено: 18.03.2006, 06:57 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 24
|
Так мне и надо несколько затяжных процессов и забивать канал...
чтобы н-ным количесвом клинтов успеть запустиь это процесс...
И посмотртеь на скольких забъется канал...(под сурьезный проект протестить надо)
А вот использование С/С++ на Unix Web серверах Это вопрос для меня тонки й пока
Вообщем уточню свои непонятки...
ПОчему взял это пример да потму что он простой
и по идее это код подходит для всех систем (опять же смотрю по таблице функции и библиотек)
Реально знаю как это работает только теритески... на практике писал только для ДОС и Виндовс... чем дальше тем больше хочетя вернуться к ДОСу
Ну не суть
Собственно задача-вопрос:
1. Если компиоировать как CGI-Exutable
Как именно компилировать...? и гиде?
Т.е. могу ли я в среде DOS или Windows откомпилировать бинарник для Unix
2. Я так и не понял как именно запускать через веб Cи-ный исходник..
Те сервек не у меня физичски... а у мое повайдера...
Там есть gcc
Вообщем ткните меня пальцем где мануалы почитать — поустепнее или расскажите на пальцацах как это все сделать?
Если конечно это не займет много времени..
|
|