|
@@ -605,90 +605,248 @@ void __fastcall TFrmCctvCamCtrl::IdHTTP1Authorization(TObject *Sender, TIdAuthen
|
|
|
}
|
|
|
//---------------------------------------------------------------------------
|
|
|
|
|
|
+void __fastcall TFrmCctvCamCtrl::IdHTTP2Authorization(TObject *Sender, TIdAuthentication *Authentication, bool &Handled)
|
|
|
+{
|
|
|
+ // For ZenoSys
|
|
|
+}
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+
|
|
|
+
|
|
|
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
+void __fastcall TFrmCctvCamCtrl::Ptz_BtnUpMouseDown(int command, String ptzSpeed)
|
|
|
+{
|
|
|
+ // not apply
|
|
|
+}
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+void __fastcall TFrmCctvCamCtrl::Ptz_BtnUpMouseUp(int command, String ptzSpeed)
|
|
|
+{
|
|
|
+ // not apply
|
|
|
+}
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
+
|
|
|
+
|
|
|
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
+void __fastcall TFrmCctvCamCtrl::Get_Request(String apiUrl)
|
|
|
+{
|
|
|
+ IdHTTP1->HTTPOptions = IdHTTP1->HTTPOptions >> hoInProcessAuth;
|
|
|
+ IdHTTP1->HTTPOptions = IdHTTP1->HTTPOptions << hoInProcessAuth;
|
|
|
+ String sResult = IdHTTP1->Get(apiUrl);
|
|
|
+ reMsg->Lines->Add(sResult.Trim());
|
|
|
+ IdHTTP1->Disconnect();
|
|
|
+}
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
+void __fastcall TFrmCctvCamCtrl::Truen_BtnUpMouseDown(int command, String ptzSpeed)
|
|
|
+{
|
|
|
+ String sCmdHtml = "";
|
|
|
+ // URL ="/httpapx/SendPTZ?action=sendptz&PTZ_CHANNEL=" + ch + "&PTZ_MOVE=";
|
|
|
+ switch(command)
|
|
|
+ {
|
|
|
+ case 0: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=home,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), ptzSpeed.c_str()); break; // HOME
|
|
|
+ case 1: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=up,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), ptzSpeed.c_str()); break; // Tilt Up
|
|
|
+ case 2: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=down,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), ptzSpeed.c_str()); break; // Tilt Down
|
|
|
+ case 3: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=left,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), ptzSpeed.c_str()); break; // Pan left
|
|
|
+ case 4: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=right,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), ptzSpeed.c_str()); break; // Pan right
|
|
|
+ case 9: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=zoomin,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), ptzSpeed.c_str()); break; // Zoom In
|
|
|
+ case 10: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=zoomout,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), ptzSpeed.c_str()); break; // Zoom Out
|
|
|
+ case 12: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=focusnear,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), ptzSpeed.c_str()); break; // Focus In
|
|
|
+ case 13: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=focusfar,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), ptzSpeed.c_str()); break; // Focus Out
|
|
|
+ default: return;
|
|
|
+ }
|
|
|
+
|
|
|
+ Get_Request(sCmdHtml);
|
|
|
+}
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+void __fastcall TFrmCctvCamCtrl::Truen_BtnUpMouseUp(int command, String ptzSpeed)
|
|
|
+{
|
|
|
+ String sCmdHtml = "";
|
|
|
+ // url ="/httpapx/SendPTZ?action=sendptz&PTZ_CHANNEL=" + ch + "&PTZ_MOVE=";
|
|
|
+ sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=stop,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), ptzSpeed.c_str()); // stop
|
|
|
+
|
|
|
+ Get_Request(sCmdHtml);
|
|
|
+}
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
+
|
|
|
+
|
|
|
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
+void __fastcall TFrmCctvCamCtrl::Pelco_BtnUpMouseDown(int command, String ptzSpeed)
|
|
|
+{
|
|
|
+ // not apply
|
|
|
+}
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+void __fastcall TFrmCctvCamCtrl::Pelco_BtnUpMouseUp(int command, String ptzSpeed)
|
|
|
+{
|
|
|
+ // not apply
|
|
|
+}
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
+
|
|
|
+
|
|
|
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
+void __fastcall TFrmCctvCamCtrl::ZenoSys_BtnUpMouseDown(int command, String ptzSpeed)
|
|
|
+{
|
|
|
+ // command start
|
|
|
+ TBytes cmd;
|
|
|
+ cmd.Length = 8;
|
|
|
+ cmd[0] = 0x10;
|
|
|
+ cmd[1] = 0xFF;
|
|
|
+ cmd[2] = 0x01;
|
|
|
+ cmd[3] = 0x00;
|
|
|
+ cmd[4] = 0x08;
|
|
|
+ cmd[5] = 0x00;
|
|
|
+ cmd[6] = 0x28;
|
|
|
+ cmd[7] = 0x31;
|
|
|
+
|
|
|
+ switch(command)
|
|
|
+ {
|
|
|
+ case 0: return; // HOME
|
|
|
+ case 1: cmd[4] = 0x08; break; // Tilt Up
|
|
|
+ case 2: cmd[4] = 0x10; break; // Tilt Down
|
|
|
+ case 3: cmd[4] = 0x04; break; // Pan left
|
|
|
+ case 4: cmd[4] = 0x02; break; // Pan right
|
|
|
+ case 9: cmd[0] = 0x50; cmd[3] = 0x00; cmd[4] = 0x20; cmd[6] = 0xFF; break; // Zoom In
|
|
|
+ case 10: cmd[0] = 0x50; cmd[3] = 0x00; cmd[4] = 0x08; cmd[6] = 0xFF; break; // Zoom Out
|
|
|
+ case 12: cmd[0] = 0x50; cmd[3] = 0x00; cmd[4] = 0x80; cmd[6] = 0xFF; break; // Focus In
|
|
|
+ case 13: cmd[0] = 0x50; cmd[3] = 0x01; cmd[4] = 0x00; cmd[6] = 0xFF; break; // Focus Out
|
|
|
+ default: return;
|
|
|
+ }
|
|
|
+
|
|
|
+ ZenoSys_Request(cmd);
|
|
|
+}
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+void __fastcall TFrmCctvCamCtrl::ZenoSys_BtnUpMouseUp(int command, String ptzSpeed)
|
|
|
+{
|
|
|
+ // command stop
|
|
|
+ TBytes cmd;
|
|
|
+ cmd.Length = 8;
|
|
|
+ cmd[0] = 0x10;
|
|
|
+ cmd[1] = 0xFF;
|
|
|
+ cmd[2] = 0x01;
|
|
|
+ cmd[3] = 0x00;
|
|
|
+ cmd[4] = 0x00;
|
|
|
+ cmd[5] = 0x00;
|
|
|
+ cmd[6] = 0x00;
|
|
|
+ cmd[7] = 0x01;
|
|
|
+
|
|
|
+ switch(command)
|
|
|
+ {
|
|
|
+ case 0: return; // HOME
|
|
|
+ case 1: // Tilt Up
|
|
|
+ case 2: // Tilt Down
|
|
|
+ case 3: // Pan left
|
|
|
+ case 4: // Pan right
|
|
|
+ break;
|
|
|
+ case 9: // Zoom In
|
|
|
+ case 10: // Zoom Out
|
|
|
+ cmd[0] = 0x50;
|
|
|
+ cmd[6] = 0xFF;
|
|
|
+ break;
|
|
|
+ case 12: // Focus In
|
|
|
+ case 13: // Focus Out
|
|
|
+ cmd[0] = 0x50;
|
|
|
+ cmd[4] = 0x08;
|
|
|
+ cmd[6] = 0xFF;
|
|
|
+ cmd[7] = 0x31;
|
|
|
+ break;
|
|
|
+ default: return;
|
|
|
+ }
|
|
|
+
|
|
|
+ ZenoSys_Request(cmd);
|
|
|
+}
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+
|
|
|
+#include <IdCoderMIME.hpp>
|
|
|
+void __fastcall TFrmCctvCamCtrl::ZenoSys_Request(TBytes controlData)
|
|
|
+{
|
|
|
+ String apiUrl = "";
|
|
|
+ apiUrl.printf(L"%s/cgi-bin/admin/uartctrl.cgi", FStrmHttp.c_str());
|
|
|
+
|
|
|
+
|
|
|
+ TIdEncoderMIME* encoder = new TIdEncoderMIME(NULL);
|
|
|
+ TMemoryStream* requestStream = NULL;
|
|
|
+ TStringStream* responseStream = NULL;
|
|
|
+
|
|
|
+ try {
|
|
|
+ try {
|
|
|
+ AnsiString auth = encoder->EncodeString(FStrmUser + ":" + FStrmPswd);
|
|
|
+
|
|
|
+ IdHTTP2->Request->Clear();
|
|
|
+ IdHTTP2->ReadTimeout = 5000;
|
|
|
+ IdHTTP2->ConnectTimeout = 5000;
|
|
|
+ IdHTTP2->AllowCookies = false;
|
|
|
+
|
|
|
+ IdHTTP2->Request->CustomHeaders->Clear();
|
|
|
+ IdHTTP2->Request->CustomHeaders->Add("Authorization: Basic " + auth);
|
|
|
+ IdHTTP2->Request->CustomHeaders->Add("Accept-Encoding: identity");
|
|
|
+ //IdHTTP2->Request->CustomHeaders->Add("Content-Length: " + String(controlData.Length));
|
|
|
+
|
|
|
+ IdHTTP2->Request->BasicAuthentication = false;
|
|
|
+ IdHTTP2->Request->ContentType = "application/octet-stream";
|
|
|
+ IdHTTP2->Request->Accept = "text/html, */*";
|
|
|
+ IdHTTP2->Request->UserAgent = "Mozilla/3.0";
|
|
|
+
|
|
|
+ // 요청 데이터 준비
|
|
|
+ requestStream = new TMemoryStream();
|
|
|
+ requestStream->WriteBuffer(&controlData[0], controlData.Length);
|
|
|
+
|
|
|
+ // 응답 받을 스트림
|
|
|
+ responseStream = new TStringStream();
|
|
|
+
|
|
|
+ // POST 요청
|
|
|
+ IdHTTP2->Post(apiUrl, requestStream, responseStream);
|
|
|
+ }
|
|
|
+ catch (const Exception& e) {
|
|
|
+ reMsg->Lines->Add(e.Message.Trim());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ __finally {
|
|
|
+ if (encoder != NULL) delete encoder;
|
|
|
+ if (requestStream != NULL) delete requestStream;
|
|
|
+ if (responseStream != NULL) delete responseStream;
|
|
|
+ IdHTTP2->Disconnect();
|
|
|
+ }
|
|
|
+
|
|
|
+#if 0
|
|
|
+ IdHTTP1->HTTPOptions = IdHTTP1->HTTPOptions >> hoInProcessAuth;
|
|
|
+ IdHTTP1->HTTPOptions = IdHTTP1->HTTPOptions << hoInProcessAuth;
|
|
|
+ String sResult = IdHTTP1->Get(sCmdHtml);
|
|
|
+ reMsg->Lines->Add(sResult.Trim());
|
|
|
+ IdHTTP1->Disconnect();
|
|
|
+#endif
|
|
|
+}
|
|
|
+//---------------------------------------------------------------------------
|
|
|
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
+
|
|
|
void __fastcall TFrmCctvCamCtrl::BtnUpMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
|
|
|
{
|
|
|
- // PANControl
|
|
|
+ // PTZ Control Start
|
|
|
if (!FStrmPlay) return;
|
|
|
if (!FSelCtlr) return;
|
|
|
if (FSelCtlr->CCTV_CTLR_IP.Trim() == "") return;
|
|
|
|
|
|
String sPTZSpeed = String(PTZSpeed->Position);
|
|
|
+ TImageBtn *pBtn = (TImageBtn*)Sender;
|
|
|
try
|
|
|
{
|
|
|
- String sCmdHtml = "";
|
|
|
- TImageBtn *pBtn = (TImageBtn*)Sender;
|
|
|
-
|
|
|
-
|
|
|
int cctvType = FSelCtlr->CCTV_TYPE.Trim().ToIntDef(0);
|
|
|
switch(cctvType) {
|
|
|
case 1: // 다기능 제어기
|
|
|
+ Ptz_BtnUpMouseDown(pBtn->Tag, sPTZSpeed);
|
|
|
break;
|
|
|
case 2: // Truen
|
|
|
- // Truen
|
|
|
- // url ="/httpapx/SendPTZ?action=sendptz&PTZ_CHANNEL=" + ch + "&PTZ_MOVE=";
|
|
|
- switch(pBtn->Tag)
|
|
|
- {
|
|
|
- case 0: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=home,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // HOME
|
|
|
- case 1: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=up,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Tilt Up
|
|
|
- case 2: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=down,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Tilt Down
|
|
|
- case 3: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=left,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Pan left
|
|
|
- case 4: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=right,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Pan right
|
|
|
- case 9: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=zoomin,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Zoom In
|
|
|
- case 10: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=zoomout,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Zoom Out
|
|
|
- case 12: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=focusnear,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Focus In
|
|
|
- case 13: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=focusfar,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Focus Out
|
|
|
- default: return;
|
|
|
- }
|
|
|
+ Truen_BtnUpMouseDown(pBtn->Tag, sPTZSpeed);
|
|
|
break;
|
|
|
case 3: // Pelco
|
|
|
+ Pelco_BtnUpMouseDown(pBtn->Tag, sPTZSpeed);
|
|
|
break;
|
|
|
case 4: // 제노시스
|
|
|
+ ZenoSys_BtnUpMouseDown(pBtn->Tag, sPTZSpeed);
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
-
|
|
|
-#if 0
|
|
|
- if (FSelCtlr->CCTV_TYPE == 1) {
|
|
|
- // 다기능제어기
|
|
|
- }
|
|
|
- else if (FSelCtlr->CCTV_TYPE == 2)
|
|
|
- {
|
|
|
- // Truen
|
|
|
- // url ="/httpapx/SendPTZ?action=sendptz&PTZ_CHANNEL=" + ch + "&PTZ_MOVE=";
|
|
|
- switch(pBtn->Tag)
|
|
|
- {
|
|
|
- case 0: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=home,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // HOME
|
|
|
- case 1: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=up,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Tilt Up
|
|
|
- case 2: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=down,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Tilt Down
|
|
|
- case 3: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=left,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Pan left
|
|
|
- case 4: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=right,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Pan right
|
|
|
- case 9: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=zoomin,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Zoom In
|
|
|
- case 10: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=zoomout,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Zoom Out
|
|
|
- case 12: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=focusnear,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Focus In
|
|
|
- case 13: sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=focusfar,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); break; // Focus Out
|
|
|
- default: return;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- if (FSelCtlr->CCTV_TYPE == 3)
|
|
|
- {
|
|
|
- // Pelco
|
|
|
- }
|
|
|
- else
|
|
|
- if (FSelCtlr->CCTV_TYPE == 4)
|
|
|
- {
|
|
|
- // 제노시스
|
|
|
- }
|
|
|
-#endif
|
|
|
-
|
|
|
- if (sCmdHtml == "") return;
|
|
|
-
|
|
|
- IdHTTP1->HTTPOptions = IdHTTP1->HTTPOptions >> hoInProcessAuth;
|
|
|
- IdHTTP1->HTTPOptions = IdHTTP1->HTTPOptions << hoInProcessAuth;
|
|
|
- String sResult = IdHTTP1->Get(sCmdHtml);
|
|
|
- reMsg->Lines->Add(sResult.Trim());
|
|
|
- IdHTTP1->Disconnect();
|
|
|
}
|
|
|
catch(...) {}
|
|
|
}
|
|
@@ -696,62 +854,33 @@ void __fastcall TFrmCctvCamCtrl::BtnUpMouseDown(TObject *Sender, TMouseButton Bu
|
|
|
|
|
|
void __fastcall TFrmCctvCamCtrl::BtnUpMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
|
|
|
{
|
|
|
- // PANControl Stop
|
|
|
+ // PTZ Control Stop
|
|
|
if (!FStrmPlay) return;
|
|
|
if (!FSelCtlr) return;
|
|
|
if (FSelCtlr->CCTV_CTLR_IP.Trim() == "") return;
|
|
|
|
|
|
String sPTZSpeed = String(PTZSpeed->Position);
|
|
|
+ TImageBtn *pBtn = (TImageBtn*)Sender;
|
|
|
try
|
|
|
{
|
|
|
- String sCmdHtml = "";
|
|
|
- TImageBtn *pBtn = (TImageBtn*)Sender;
|
|
|
-
|
|
|
int cctvType = FSelCtlr->CCTV_TYPE.Trim().ToIntDef(0);
|
|
|
switch(cctvType) {
|
|
|
case 1: // 다기능 제어기
|
|
|
+ Ptz_BtnUpMouseUp(pBtn->Tag, sPTZSpeed);
|
|
|
break;
|
|
|
case 2: // Truen
|
|
|
// Truen
|
|
|
- // url ="/httpapx/SendPTZ?action=sendptz&PTZ_CHANNEL=" + ch + "&PTZ_MOVE=";
|
|
|
- sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=stop,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); // stop
|
|
|
+ Truen_BtnUpMouseUp(pBtn->Tag, sPTZSpeed);
|
|
|
break;
|
|
|
case 3: // Pelco
|
|
|
+ Pelco_BtnUpMouseUp(pBtn->Tag, sPTZSpeed);
|
|
|
break;
|
|
|
case 4: // 제노시스
|
|
|
+ ZenoSys_BtnUpMouseUp(pBtn->Tag, sPTZSpeed);
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
-
|
|
|
-#if 0
|
|
|
- if (FSelCtlr->CCTV_TYPE == 1) {
|
|
|
- // 다기능제어기
|
|
|
- }
|
|
|
- else if (FSelCtlr->CCTV_TYPE == 2)
|
|
|
- {
|
|
|
- // Truen
|
|
|
- sCmdHtml.printf(L"%s/httpapi/SendPTZ?action=sendptz&PTZ_CHANNEL=1&PTZ_MOVE=stop,%s&PTZ_TIMEOUT=5000", FStrmHttp.c_str(), sPTZSpeed.c_str()); // stop
|
|
|
- }
|
|
|
- else
|
|
|
- if (FSelCtlr->CCTV_TYPE == 3)
|
|
|
- {
|
|
|
- // Pelco
|
|
|
- }
|
|
|
- else
|
|
|
- if (FSelCtlr->CCTV_TYPE == 4)
|
|
|
- {
|
|
|
- // 제노시스
|
|
|
- }
|
|
|
-#endif
|
|
|
-
|
|
|
- if (sCmdHtml == "") return;
|
|
|
-
|
|
|
- IdHTTP1->HTTPOptions = IdHTTP1->HTTPOptions >> hoInProcessAuth;
|
|
|
- IdHTTP1->HTTPOptions = IdHTTP1->HTTPOptions << hoInProcessAuth;
|
|
|
- String sResult = IdHTTP1->Get(sCmdHtml);
|
|
|
- reMsg->Lines->Add(sResult.Trim());
|
|
|
- IdHTTP1->Disconnect();
|
|
|
}
|
|
|
catch(...) {}
|
|
|
}
|