C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
HTML, TWebModule
jo
Отправлено: 15.08.2006, 10:19


Не зарегистрирован







Работаю с TWebModule сталкнулся с такой проблемой
Использую QueryTableProducer1 для вывода отчета если без использования ссылки то выводит если ссылка через кнопку то выводит "Невозможно отобразить страницу"
Acnions у TWebModule 3 шт. Может кто знает.
Вот пример:
CODE

void __fastcall TWebModule1::WebModule1WebActionItem1Action(
     TObject *Sender, TWebRequest *Request, TWebResponse *Response,
     bool &Handled)
{
Response->Content="<HEAD><META http-equiv=Content-Type content="
"text/html; charset=windows-1251>"
"<META content="
"MSHTML 6.00.2800.1106"
"name=GENERATOR></HEAD>"
"<h1>ОТЧЁТЫ</h1>"
"<p><A HREF=\"/cgi-bin/Raport/1?1\"> О неисправностях оборудования</A></p>"
"<p><A HREF=\"/cgi-bin/Raport/1?2\"> Контроль загрязненности</A></p>"
"<p><A HREF=\"/cgi-bin/Raport/1?3\"> О доступе персонала в ЗКД</A></p>";
Handled=true;
}
//---------------------------------------------------------------------------

void __fastcall TWebModule1::WebModule1WebActionItem2Action(
     TObject *Sender, TWebRequest *Request, TWebResponse *Response,
     bool &Handled)
{
 if (Request->Query=="1")
 {
  Dat=DateToStr(Date());
 Response->Content="<HEAD><META http-equiv=Content-Type content="
"text/html; charset=windows-1251>"
"<META content="
"MSHTML 6.00.2800.1106"
"name=GENERATOR></HEAD>"
"<h1>Формирование отчета о неисправностях оборудования<h1>"
"<p>Введите период</p>"
"<form method=post"
" action=\"/cgi-bin/Raport/2?1\">"

"Начало:"
"<input type=\"text\" name=Num1 size=10 value="+DateToStr(Date())+">"
"Конец:"
"<input type=text name=Num2 size=10 value="+DateToStr(Date())+">
"
 "<input type=submit  value=Сформировать>"
"</form>";
}
 if (Request->Query=="2")
{
 Response->Content="<HEAD><META http-equiv=Content-Type content="
"text/html; charset=windows-1251>"
"<META content="
"MSHTML 6.00.2800.1106"
"name=GENERATOR></HEAD>"
"<h1>Формирование отчета о контроле загрязненности<h1>"
"<p>Введите период</p>"
"<form method=post"
" action=\"/cgi-bin/Raport/2?2\">"

"Начало:"
"<input type=\"text\" name=Num1 size=10 value="+DateToStr(Date())+">"
"Конец:"
"<input type=text name=Num2 size=10 value="+DateToStr(Date())+">
"
"Отдел:"
"<SELECT NAME=Otdel>"
"<OPTION>Все";
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("select DISTINCT Отдел FROM Personal");
Query1->Open();
Query1->Active=true;
while (!(Query1->Eof))
{
a=Query1->FieldByName("Отдел")->AsString;
Response->Content=Response->Content+"<OPTION>"+a;
Query1->Next();
}
Query1->Close();
Query1->Active=false;

Response->Content=Response->Content+"</SELECT>
";
Response->Content=Response->Content+"<input type=submit  value=Сформировать>"
"</form>";
}
 if (Request->Query=="3")
{
 Response->Content="<HEAD><META http-equiv=Content-Type content="
"text/html; charset=windows-1251>"
"<META content="
"MSHTML 6.00.2800.1106"
"name=GENERATOR></HEAD>"
"<h1>Формирование отчета о доступе персонала в ЗКД<h1>"
"<p>Введите период</p>"
"<form method=post"
" action=\"/cgi-bin/Raport/2?3\">"

"Начало:"
"<input type=\"text\" name=Num1 size=10 value="+DateToStr(Date())+">"
"Конец:"
"<input type=text name=Num2 size=10 value="+DateToStr(Date())+">
"
"Отдел:"
"<SELECT NAME=Otdel>"
"<OPTION>Все";
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("select DISTINCT Отдел FROM Personal");
Query1->Open();
Query1->Active=true;
while (!(Query1->Eof))
{
a=Query1->FieldByName("Отдел")->AsString;
Response->Content=Response->Content+"<OPTION>"+a;
Query1->Next();
}
Query1->Close();
Query1->Active=false;

Response->Content=Response->Content+"</SELECT>
";
Response->Content=Response->Content+"<input type=submit  value=Сформировать>"
"</form>";
 "<input type=submit  value=Сформировать>"
"</form>";
}
 Handled=true;
}
//---------------------------------------------------------------------------
void __fastcall TWebModule1::WebModule1WebActionItem3Action(
     TObject *Sender, TWebRequest *Request, TWebResponse *Response,
     bool &Handled)
{
Query2->Active=true;
Response->Content= QueryTableProducer1->Content();
Query2->Active=false;
}


Отредактировано olegenty — 15/08/2006, 12:39

Вернуться в Вопросы программирования в C++Builder