public static DataTable QueryData(String vSQL) { String cWebUrl = INIConfig.ReadString("Config", "WEB_URL"); String cUrl = "http://" + cWebUrl + "/api/rest.ashx"; try { String cActionType = "SQLDB"; String cActionMethod = "QueryData"; cUrl = cUrl + "?action_type=" + cActionType + "&action_method=" + cActionMethod; HttpUtil vPost = new HttpUtil(); Dictionary <String, String> vData = new Dictionary <string, string>(); vData.Add("SQL", vSQL); String cStr = vPost.HttpPost(cUrl, vData); ActiveResult vret = JsonLib.ToObject <ActiveResult>(cStr); if (vret.result == AppConfig.SUCCESS) { cStr = StringEx.getString(vret.info); DataTable dtRows = JsonLib.ToObject <DataTable>(cStr); return(dtRows); } else { return(null); } } catch (Exception ex) { return(null); } }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); INIConfig.setConfigFile(Application.StartupPath + @"\Config.ini"); Application.Run(new frmCut()); }
private void frmConfig_Load(object sender, EventArgs e) { this.txtVIDEO_HOST.Text = INIConfig.ReadString("Config", "VIDEO_HOST"); this.txtVIDEO_PORT.Text = INIConfig.ReadString("Config", "VIDEO_PORT"); this.txtVIDEO_USER.Text = INIConfig.ReadString("Config", "VIDEO_USER"); this.txtVIDEO_PASS.Text = INIConfig.ReadString("Config", "VIDEO_PASS"); }
private void btnApply_Click(object sender, EventArgs e) { INIConfig.Write("Config", "VIDEO_HOST", this.txtVIDEO_HOST.Text); INIConfig.Write("Config", "VIDEO_PORT", this.txtVIDEO_PORT.Text); INIConfig.Write("Config", "VIDEO_USER", this.txtVIDEO_USER.Text); INIConfig.Write("Config", "VIDEO_PASS", this.txtVIDEO_PASS.Text); }
public SftpClient getAnalyseClient() { if (AnalyseClient == null) { String cDFSType = "ANALYSE"; String cDFS_HOST = INIConfig.ReadString(cDFSType, "DFS_HOST", ""); String cDFS_PORT = INIConfig.ReadString(cDFSType, "DFS_PORT", "22"); int iDFS_PORT = StringEx.getInt(cDFS_PORT); String cDFS_USER = INIConfig.ReadString(cDFSType, "DFS_USER", "root"); String cDFS_PASS = INIConfig.ReadString(cDFSType, "DFS_PASS", ""); AnalyseClient = new SftpClient(cDFS_HOST, iDFS_PORT, cDFS_USER, cDFS_PASS); } if (!AnalyseClient.IsConnected) { try { AnalyseClient.Connect(); return(AnalyseClient); } catch (Exception ex) { log4net.WriteLogFile(ex.Message); AnalyseClient = null; return(null); } } else { return(AnalyseClient); } }
public static int ExecSQL(List <String> sqlList, List <Object[]> parmList) { String cWebUrl = INIConfig.ReadString("Config", "WEB_URL"); String cUrl = "http://" + cWebUrl + "/api/rest.ashx"; try { String cActionType = "SQLDB"; String cActionMethod = "ExecSQL"; cUrl = cUrl + "?action_type=" + cActionType + "&action_method=" + cActionMethod; HttpUtil vPost = new HttpUtil(); Dictionary <String, String> vData = new Dictionary <string, string>(); for (int i = 0; i < sqlList.Count; i++) { String vSQL = sqlList[i]; vData.Add("SQL_" + (i + 1), vSQL); if (parmList != null) { String cParm = JsonLib.ToJSON(parmList[i]); vData.Add("PARM_" + (i + 1), cParm); } } String cStr = vPost.HttpPost(cUrl, vData); ActiveResult vret = JsonLib.ToObject <ActiveResult>(cStr); return(vret.result); } catch (Exception ex) { return(AppConfig.FAILURE); } }
private void geckoWebBrowser1_DocumentCompleted(object sender, Gecko.Events.GeckoDocumentCompletedEventArgs e) { String cUrl = geckoWebBrowser1.Url.AbsoluteUri; if (!LOAD_LAST_FLAG) { if (cUrl.IndexOf("login") > 0) { WebJS js = new WebJS(geckoWebBrowser1.Document); js.setFieldValue("user_id", INIConfig.ReadString("System", "UserID")); js.setFieldValue("user_pass", INIConfig.ReadString("System", "UserPass")); LOAD_LAST_FLAG = true; } } if ((LOAD_LAST_FLAG) && (!LOAD_TOKEN_FLAG)) { if (cUrl.IndexOf("index") > 0) { WebJS js = new WebJS(geckoWebBrowser1.Document); string cUserCode = js.getFieldValue("usercode"); ApplicationEvent.setUserCode(cUserCode); // ApplicationEvent.UserInfo.USER_CODE = cUserCode; string cOrgID = js.getFieldValue("orgid"); //ApplicationEvent.UserInfo.ORG_ID = cOrgID; string cToken = js.getFieldValue("token"); ApplicationEvent.Token = cToken; LOAD_TOKEN_FLAG = true; } } }
public static List<KeyValue> getImageList(String cFileName) { int iMinVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.IMAGE_MIN, "0")); int iMaxVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.IMAGE_MAX, "0")); int iGrayMinVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.GRAY_MIN, "0")); int iGrayMaxVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.GRAY_MAX, "0")); int iEXPORT_IMAGE = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.EXPORT_IMAGE, "0")); return getImageList(cFileName, iMinVal, iMaxVal, iGrayMinVal, iGrayMaxVal); }
/// <summary> /// 应用程序的主入口点。 /// </summary> static void Main() { INIConfig.setConfigFile(Application.StartupPath + @"\Config.ini"); ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new Service1() }; ServiceBase.Run(ServicesToRun); }
public static List <Rectangle> getImageRect(String cFileName) { try { Image <Bgr, Byte> BgrImage = null; Image <Gray, Byte> GrayImage = null; List <Rectangle> ImageList = new List <Rectangle>(); int iMinVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.IMAGE_MIN, "0")); int iMaxVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.IMAGE_MAX, "0")); int iGrayMinVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.GRAY_MIN, "0")); int iGrayMaxVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.GRAY_MAX, "0")); //调取图片 BgrImage = new Image <Bgr, byte>(cFileName); GrayImage = new Image <Gray, byte>(BgrImage.Width, BgrImage.Height); //转灰度 CvInvoke.CvtColor(BgrImage, GrayImage, Emgu.CV.CvEnum.ColorConversion.Rgb2Gray); //转黑白 Image <Gray, byte> BinaryImage = GrayImage.ThresholdToZeroInv(new Gray(iGrayMinVal)); VectorOfVectorOfPoint rvs = new VectorOfVectorOfPoint(); CvInvoke.FindContours(BinaryImage, rvs, null, RetrType.List, ChainApproxMethod.ChainApproxSimple); int j = 10001; for (int i = 0; i < rvs.Size; i++) { var contour = rvs[i]; Rectangle BoundingBox = CvInvoke.BoundingRectangle(contour); ImageList.Add(BoundingBox); if ((BoundingBox.Width < iMinVal) || (BoundingBox.Height < iMinVal)) { continue; } if ((BoundingBox.Width > iMaxVal) || (BoundingBox.Height > iMaxVal)) { continue; } j++; CvInvoke.Rectangle(BgrImage, BoundingBox, new MCvScalar(255, 0, 0, 0), 3); } BgrImage.Save(cFileName.Replace("01.jpg", "02.jpg")); return(ImageList); } catch (Exception ex) { log4net.WriteLogFile("报错,原因为:" + ex); return(null); } }
public static void Execute() { AnalyseTask Task = AnalyseTask.getInstance(); int iANALYSE_ALLOW = INIConfig.ReadInt("ANALYSE", "DFS_ALLOW"); while (!ApplicationEvent.isUploadAbort) { Boolean Find_File_Flag = false; log4net.WriteLogFile("UploadTask.Execute..", LogType.DEBUG); String cFileName = null; if (iANALYSE_ALLOW > 0) { cFileName = Task.getAnalyseFile(); if (String.IsNullOrWhiteSpace(cFileName)) { log4net.WriteLogFile("UploadTask.Execute..未发现图片", LogType.DEBUG); } else { Task.UpdateAnalyseFile(cFileName); if (!Find_File_Flag) { Find_File_Flag = true; } } } if (Find_File_Flag) { try { Thread.Sleep(500); } catch (Exception ex) { log4net.WriteLogFile("UploadTask.Sleep." + ex.Message); } } else { try { Thread.Sleep(1000 * 3); } catch (Exception ex) { log4net.WriteLogFile("UploadTask.Sleep." + ex.Message); } } } }
private void frmTask_Load(object sender, EventArgs e) { iskin.SkinFile = "skins/PageColor2.ssk"; btnLoad_Click(null, null); String cORG_ID = INIConfig.ReadString("Config", AppConfig.ORG_ID); String cLeftCount = WebSQL.GetStrValue("SELECT COUNT(1) FROM XT_TASK_LIST WHERE ORG_ID LIKE '" + cORG_ID + "%' "); int iLeftCount = StringEx.getInt(cLeftCount); if (iLeftCount > 0) { this.timAfter.Enabled = true; } }
private ActiveMQ_Producer() { try { string cHost = INIConfig.ReadString("ACTIVE_MQ", AppConfig.ACTIVE_MQ_HOST); string cPort = INIConfig.ReadString("ACTIVE_MQ", AppConfig.ACTIVE_MQ_PORT); //初始化工厂,这里默认的URL是不需要修改的 factory = new ConnectionFactory("tcp://" + cHost + ":" + cPort); } catch { log4net.WriteLogFile("ActiveMQ:初始化失败!!"); } }
public void btnAutoTake_Click(object sender, EventArgs e) { String cORG_ID = INIConfig.ReadString("Config", AppConfig.ORG_ID); String cLeftCount = WebSQL.GetStrValue("SELECT COUNT(1) FROM XT_TASK_LIST WHERE ORG_ID LIKE '" + cORG_ID + "%' "); int iLeftCount = StringEx.getInt(cLeftCount); if (iLeftCount == 0) { int iCode = WebSQL.ExecSQL("INSERT INTO XT_TASK_LIST(DEVICE_ID,ORG_ID) " + " SELECT DEVICE_ID,ORG_ID " + " FROM XT_CAMERA WHERE ORG_ID like '" + cORG_ID + "%' " + " AND NOT EXISTS(SELECT 1 FROM XT_TASK_LIST X WHERE X.DEVICE_ID=XT_CAMERA.DEVICE_ID AND X.ORG_ID='" + cORG_ID + "') "); } this.timAfter.Enabled = true; }
private ActiveMQ_Consumer() { try { string cHost = INIConfig.ReadString("ACTIVE_MQ", AppConfig.ACTIVE_MQ_HOST); string cPort = INIConfig.ReadString("ACTIVE_MQ", AppConfig.ACTIVE_MQ_PORT); //初始化工厂,这里默认的URL是不需要修改的 factory = new ConnectionFactory("tcp://" + cHost + ":" + cPort); } catch (Exception ex) { log4net.WriteLogFile("ActiveMQ:初始化失败--" + ex.Message); } }
private void frmWebKit_Load(object sender, EventArgs e) { String cWeb = Config.GetAppSettings("WEB_URL"); String cUrl = cWeb + "Admin/login.aspx"; String cORG_ID = INIConfig.ReadString("Config", "ORG_ID"); if (cUrl.IndexOf("?") > -1) { cUrl = cUrl + "&ORG_ID=" + cORG_ID; } else { cUrl = cUrl + "?ORG_ID=" + cORG_ID; } this.browser.Load(cUrl); }
private AnalyseTask() { iMinVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.IMAGE_MIN, "0")); iMaxVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.IMAGE_MAX, "0")); iGrayMinVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.GRAY_MIN, "0")); iGrayMaxVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.GRAY_MAX, "0")); iALARM_ALLOW = INIConfig.ReadInt("ALARM", "DFS_ALLOW"); cALARM_PATH = INIConfig.ReadString("ALARM", "DFS_PATH", ""); iANALYSE_ALLOW = INIConfig.ReadInt("ANALYSE", "DFS_ALLOW"); cANALYSE_PATH = INIConfig.ReadString("ANALYSE", "DFS_PATH", ""); cAppDir = Application.StartupPath; }
private void btnLoad_Click(object sender, EventArgs e) { InitCameraLogin(); int iCameraCount = Camera_GetCount(); int iCameraNum = StringEx.getInt(INIConfig.ReadString("Config", "VIDEO_MAX", "100")); if (iCameraCount > iCameraNum) { iCameraCount = iCameraNum; } if (iCameraCount > 0) { InitCamearaList(iCameraCount); } TASK_VAL_LIST = CAMEAR_INF_LIST; }
private void button1_Click(object sender, EventArgs e) { int iMinVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.IMAGE_MIN, "0")); int iMaxVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.IMAGE_MAX, "0")); int iGrayMinVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.GRAY_MIN, "0")); int iGrayMaxVal = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.GRAY_MAX, "0")); int iEXPORT_IMAGE = StringEx.getInt(INIConfig.ReadString("Config", AppConfig.EXPORT_IMAGE, "0")); String cDFS_PATH = INIConfig.ReadString("UPLOAD", "DFS_PATH", "0"); String cAppDir = Application.StartupPath; Boolean isUpload = false; JActiveTable aMaster = new JActiveTable(); JActiveTable aSlave = new JActiveTable(); aSlave.TableName = "XT_IMG_LIST"; aMaster.TableName = "XT_IMG_REC"; }
public static Boolean SSH_Upload(SftpClient sftp, String cFileName, String cDFSType) { if (sftp == null) { return(false); } FileStream fs = null; try { String cDFS_PATH = INIConfig.ReadString(cDFSType, "DFS_PATH", ""); fs = new FileStream(cFileName, FileMode.Open); String cStr = Path.GetFileName(cFileName); String cDFSPath = cDFS_PATH; if (!cDFSPath.EndsWith("/")) { cDFSPath = cDFSPath + "/"; } sftp.UploadFile(fs, cDFSPath + cStr); return(true); } catch (Exception ex) { log4net.WriteLogFile("CopyUnit..UploadFile." + ex.Message, LogType.ERROR); sftp = null; return(false); } finally { if (fs != null) { try { fs.Close(); fs = null; } catch (Exception ex) { log4net.WriteLogFile("CopyUnit.." + ex.Message, LogType.ERROR); } } } }
private void onIdle_Event(object sender, EventArgs e) { if (!LOAD_FLAG) { LOAD_FLAG = true; InitCameraLogin(); dtInfo = WebSQL.QueryData("SELECT * FROM XT_CAMERA WHERE DEVICE_ID='" + ActiveCameraCode + "'"); this.Text = StringEx.getString(dtInfo, 0, "CAMERA_NAME"); X = StringEx.GetDouble(dtInfo, 0, "X"); Y = StringEx.GetDouble(dtInfo, 0, "Y"); if (X > 0 && Y > 0) { String cWebUrl = INIConfig.ReadString("Config", AppConfig.WEB_URL, ""); String cUrl = "http://" + cWebUrl + "/pages/webgis.aspx?TOKEN=" + ApplicationEvent.Token + "&TYPE_ID=2&X=" + X.ToString() + "&Y=" + Y.ToString(); //geckoWeb.Navigate(cUrl); } btnStartReal_Click(null, null); } }
public int InitCameraLogin() { //VIDEO_HOST=111.6.99.50 //VIDEO_PORT=9900 //VIDEO_USER=13569364016 //VIDEO_PASS=13569364016 //String VIDEO_HOST = "111.6.99.50"; //String VIDEO_PORT = "9900"; //String VIDEO_USER = "******"; //String VIDEO_PASS = "******"; String VIDEO_HOST = INIConfig.ReadString("Config", "VIDEO_HOST", "111.6.99.50"); String VIDEO_PORT = INIConfig.ReadString("Config", "VIDEO_PORT", "9900"); String VIDEO_USER = INIConfig.ReadString("Config", "VIDEO_USER", "15090669997"); String VIDEO_PASS = INIConfig.ReadString("Config", "VIDEO_PASS", "15090669997"); IVS_LOGIN_INFO info = new IVS_LOGIN_INFO(); info.stIP.cIP = VIDEO_HOST; info.uiPort = (UInt32)StringEx.getInt(VIDEO_PORT); info.cUserName = VIDEO_USER; info.pPWD = VIDEO_PASS; info.stIP.uiIPType = 0; info.uiClientType = 0; info.uiLoginType = 0; int iCode = IVS_API.IVS_SDK_Init(); iCode = IVS_API.IVS_SDK_Login(ref info, ref ApplicationEvent.iSession); if (iCode == 0) { log4net.WriteLogFile("用户登录视频服务器成功!"); } else { log4net.WriteLogFile("IVS_SDK_Login:"******" 调用失败"); } return(iCode); }
public String getAlarmFile() { if (cAppDir == null) { cAppDir = Application.StartupPath; } if (AlarmFileList == null) { AlarmFileList = new Queue <string>(); } if (AlarmFileList.Count == 0) { String cFILE_PATH = INIConfig.ReadString("ALARM", "FILE_PATH", @"\images\"); String cDFS_PATH = cAppDir + cFILE_PATH; if (!Directory.Exists(cDFS_PATH)) { return(null); } String[] FileList = Directory.GetFiles(cDFS_PATH); for (int i = 0; i < FileList.Length; i++) { String cFileName = FileList[i]; AlarmFileList.Enqueue(cFileName); if (i > 10) { break; } } } if (AlarmFileList.Count > 0) { String cFileName = AlarmFileList.Dequeue(); return(cFileName); } else { return(null); } }
public static DBResult Query(String cFileList, String cTableName, String cWhereParm, String cOrderBy, int iPageNo, int iPageSize) { String cWebUrl = INIConfig.ReadString("Config", "WEB_URL"); String cUrl = "http://" + cWebUrl + "/api/rest.ashx"; try { String cActionType = "SQLDB"; String cActionMethod = "Query"; cUrl = cUrl + "?action_type=" + cActionType + "&action_method=" + cActionMethod; HttpUtil vPost = new HttpUtil(); Dictionary <String, String> vData = new Dictionary <string, string>(); vData.Add("FILELIST", cFileList); vData.Add("TABLENAME", cTableName); vData.Add("WHEREPARM", cWhereParm); vData.Add("ORDERBY", cOrderBy); vData.Add("PAGENO", StringEx.getString(iPageNo)); vData.Add("PAGESIZE", StringEx.getString(iPageSize)); String cStr = vPost.HttpPost(cUrl, vData); ActiveResult vret = JsonLib.ToObject <ActiveResult>(cStr); if (vret.result == AppConfig.SUCCESS) { cStr = StringEx.getString(vret.info); DataTable dtRows = JsonLib.ToObject <DataTable>(cStr); DBResult rs = new DBResult(); rs.dtrows = dtRows; rs.ROW_COUNT = vret.total; return(rs); } else { return(null); } } catch (Exception ex) { return(null); } }
private void frmWeb_Load(object sender, EventArgs e) { geckoWebBrowser1.Dock = DockStyle.Fill; geckoWebBrowser1.AddMessageEventListener("OpenWinUrl", OpenWinUrl); String cWeb = Config.GetAppSettings("WEB_URL"); String cUrl = cWeb + "Admin/login.aspx"; String cORG_ID = INIConfig.ReadString("Config", "ORG_ID"); if (cUrl.IndexOf("?") > -1) { cUrl = cUrl + "&ORG_ID=" + cORG_ID; } else { cUrl = cUrl + "?ORG_ID=" + cORG_ID; } this.geckoWebBrowser1.Navigate(cUrl); JQueryExecutor ctx = new Gecko.JQuery.JQueryExecutor(geckoWebBrowser1.Window); //先获取到jquery对象 }
public Boolean CheckTask(String cTaskID) { Boolean AllowTask = INIConfig.ReadInt("TASK", cTaskID + "_FLAG") > 0; String cDayHour = DateTime.Now.ToString("HHmm"); String cDay = DateTime.Now.ToString("yyyyMMdd"); String cORG_ID = INIConfig.ReadString("Config", AppConfig.ORG_ID); if (AllowTask) { String cTASK = INIConfig.ReadString("TASK", cTaskID); if (cTASK.Equals(cDayHour)) { String cTASK_DAY = INIConfig.ReadString("TASK", cTaskID + "_DAY"); if (!cTASK_DAY.Equals(cDay)) { JActiveTable aTable = new JActiveTable(); aTable.TableName = "XT_TASK"; aTable.AddField("TASK_ID", cTaskID); aTable.AddField("TASK_TIME", cTASK); aTable.AddField("TASK_DAY", cDay); aTable.AddField("ORG_ID", cORG_ID); String sql = aTable.getUpdateSQL(" ORG_ID='" + cORG_ID + "' AND TASK_ID='" + cTaskID + "'"); int iCode = WebSQL.ExecSQL(sql); if (iCode == 0) { sql = aTable.getInsertSQL(); iCode = WebSQL.ExecSQL(sql); } INIConfig.Write("TASK", cTaskID + "_DAY", cDay); return(iCode > 0); } } return(false); } else { return(false); } }
static void Main() { //是否可以打开新进程 bool runOne = false; //获取程序集Guid作为唯一标识 Attribute AttGuid = Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(), typeof(GuidAttribute)); string cKeyGuid = ((GuidAttribute)AttGuid).Value; mux = new System.Threading.Mutex(true, cKeyGuid, out runOne); if (!runOne) { Environment.Exit(1); } else { INIConfig.setConfigFile(Application.StartupPath + @"\Config.ini"); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new frmMain()); mux.ReleaseMutex(); } }
private bool UpdateAlarmFile(String cFileName) { JActiveTable aMaster = new JActiveTable(); aMaster.TableName = "XT_IMG_REC"; String cFileExt = Path.GetExtension(cFileName); String cREC_ID = Path.GetFileName(cFileName).Replace(cFileExt, ""); String cWebUrl = INIConfig.ReadString("Config", AppConfig.WEB_URL); String cUrl = "http://" + cWebUrl + "/api/dfs.ashx?UPLOAD_FIELD=UPLOAD_FLAG"; Boolean UploadFlag = CopyUnit.PostFile(cFileName, cWebUrl); if (UploadFlag) { log4net.WriteLogFile("REC_ID为:" + cREC_ID + "的图片,已上传!"); aMaster.ClearField(); aMaster.AddField("UPLOAD_FLAG", 1); aMaster.AddField("UPDATE_TIME", DateUtils.getDayTimeNum()); int iCode = WebSQL.ExecSQL(aMaster.getUpdateSQL(" REC_ID='" + cREC_ID + "' ")); try { File.Delete(cFileName); } catch (Exception ex) { log4net.WriteLogFile("UploadTask.Execute." + ex.Message); } log4net.WriteLogFile("REC_ID为:" + cREC_ID + "的图片,本删除成功!"); return(true); } else { return(false); } }
private void timAfter_Tick(object sender, EventArgs e) { timAfter.Enabled = false; int iCode = 0; try { iCode = IVS_API.IVS_SDK_StopRealPlay(ApplicationEvent.iSession, (UInt32)ulRealPlayHandle); } catch (Exception ex) { log4net.WriteLogFile("IVS_SDK_StopRealPlay失败!"); } try { String cORG_ID = INIConfig.ReadString("Config", AppConfig.ORG_ID); if (getTaskCameraCode(cORG_ID)) { log4net.WriteLogFile("剩余任务:" + ActiveLeftCount + ",当前任务:" + ActiveDevice_ID); int idx = CAMEAR_CODE_LIST.IndexOf(ActiveDevice_ID); if (idx == -1) { log4net.WriteLogFile("未找到匹配的摄像机!"); } else { Object objInfo = CAMEAR_INF_LIST[idx]; IVS_CAMERA_BRIEF_INFO rowKey = (IVS_CAMERA_BRIEF_INFO)objInfo; IVS_REALPLAY_PARAM para = new IVS_REALPLAY_PARAM(); para.bDirectFirst = false; para.bMultiCast = false; para.uiProtocolType = 2; para.uiStreamType = 1; ActiveCameraCode = rowKey.cCode; ActiveCameraName = rowKey.cName; this.txtCameraName.Text = ActiveCameraName; this.btnStartReal_Click(null, null); ArrayList YWZList = Camera_YZW_List(ActiveCameraCode); YWZ_TXT_LIST.Items.Clear(); YWZ_VAL_LIST.Clear(); // for (int i = 0; (YWZList != null) && (i < YWZList.Count); i++) if (YWZList.Count > 0) { for (int i = YWZList.Count - 1; i >= 0; i--) { IVS_PTZ_PRESET vPreset = (IVS_PTZ_PRESET)YWZList[i]; YWZ_TXT_LIST.Items.Add(vPreset.uiPresetIndex + ":" + vPreset.cPresetName); YWZ_VAL_LIST.Add(vPreset); } } } } } catch (Exception ex) { log4net.WriteLogFile(ActiveCameraName + "[" + ActiveCameraCode + "]" + ":" + ex.Message); } finally { timPreset.Enabled = true; } }
private void timPreset_Tick(object sender, EventArgs e) { timPreset.Enabled = false; int iCode = 0; try { Boolean AllowWait = false; int idx = -1; if (YWZ_VAL_LIST.Count > 0) { idx = YWZ_VAL_LIST.Count - 1; IVS_PTZ_PRESET vPreset = (IVS_PTZ_PRESET)YWZ_VAL_LIST[idx]; YWZ_VAL_LIST.RemoveAt(idx); YWZ_TXT_LIST.Items.RemoveAt(idx); int pLockStatus = 0; iCode = IVS_API.IVS_SDK_PtzControl(ApplicationEvent.iSession, ActiveCameraCode, 11, vPreset.cPresetName, "3", ref pLockStatus); if (iCode > 0) { log4net.WriteLogFile("调用预置位失败"); return; } else { AllowWait = true; } } if (AllowWait) { Boolean isAbort = false; int iORD = 0; while (!isAbort) { Application.DoEvents(); Thread.Sleep(200); iORD++; if (iORD > 15) { isAbort = true; } } } isPlay = true; String cAppDir = INIConfig.ReadString("ALARM", "FILE_PATH", ""); if (Directory.Exists(cAppDir)) { Directory.CreateDirectory(cAppDir); } int iPRESET_ID = 9999; String cKeyID = ""; string cKeyGuid = ""; if (idx != -1) { cKeyID = AutoID.getAutoID() + "_" + String.Format("{0:0#00}", idx); cKeyGuid = ActiveCameraCode + "X" + String.Format("{0:0#00}", idx); iPRESET_ID = idx; } else { cKeyID = AutoID.getAutoID() + "_0000"; cKeyGuid = ActiveCameraCode + "X" + "0000"; iPRESET_ID = 9999; } cAppDir = cAppDir + cKeyID.Substring(0, 8); if (Directory.Exists(cAppDir)) { Directory.CreateDirectory(cAppDir); } String cFileName = cAppDir + "\\" + cKeyID + ".jpg"; Application.DoEvents(); iCode = IVS_API.IVS_SDK_LocalSnapshot(ApplicationEvent.iSession, (UInt32)ulRealPlayHandle, 1, cFileName); if (iCode == 0) { cAppDir = INIConfig.ReadString("ANALYSE", "FILE_PATH", ""); String cAnalyseFile = cAppDir + cKeyID + ".jpg"; try { String cFilePath = Path.GetDirectoryName(cAnalyseFile); if (!Directory.Exists(cFilePath)) { Directory.CreateDirectory(cFilePath); } File.Copy(cFileName, cAnalyseFile); } catch (Exception ex) { log4net.WriteLogFile(ex.Message); } log4net.WriteLogFile("IVS_SDK_LocalSnapshot成功!" + cFileName); String cKeyText = IMGAI.getImageText(cFileName); List <String> sqls = new List <string>(); String cDayTime = DateTime.Now.ToString("yyyyMMddHHmmss"); JActiveTable aMaster = new JActiveTable(); aMaster.TableName = "XT_IMG_REC"; aMaster.AddField("REC_ID", cKeyID); aMaster.AddField("CAMERA_ID", ActiveCameraCode); aMaster.AddField("PRESET_ID", iPRESET_ID); aMaster.AddField("AI_FLAG", 0); aMaster.AddField("ALARM_FLAG", 0); aMaster.AddField("ALARM_CHECKED", 0); aMaster.AddField("IMAGE_REDRAW", 0); if (!String.IsNullOrEmpty(cKeyText)) { aMaster.AddField("P", IMGAI.getP(cKeyText)); aMaster.AddField("T", IMGAI.getT(cKeyText)); aMaster.AddField("X", IMGAI.getX(cKeyText)); } aMaster.AddField("FILE_URL", "/dfs/" + cKeyID.Substring(0, 8) + "/" + cKeyID + ".jpg"); aMaster.AddField("CREATE_TIME", cDayTime); aMaster.AddField("UPLOAD_FLAG", 1); String cMasterSQL = aMaster.getInsertSQL(); JActiveTable aSlave = new JActiveTable(); aSlave.TableName = "XT_CAMERA_STATUS"; aSlave.AddField("UPDATE_TIME", cDayTime); String cSlaveSQL = aSlave.getUpdateSQL("CAMERA_ID = '" + ActiveCameraCode + "' "); sqls.Add(cMasterSQL); sqls.Add(cSlaveSQL); iCode = WebSQL.ExecSQL(sqls); if (iCode > 0) { log4net.WriteLogFile(cKeyID + "插入数据库成功"); } } Application.DoEvents(); } catch (Exception ex) { log4net.WriteLogFile("Camera_YZW_List失败!" + ex.Message); } finally { if (YWZ_VAL_LIST.Count > 0) { timPreset.Enabled = true; } else if (YWZ_VAL_LIST.Count == 0) { timAfter.Enabled = true; } } }