コード例 #1
0
ファイル: AppFrame.cs プロジェクト: hexiangwang/wang
 void SelectEventMethod()
 {
     for (; ;)
     {
         if (isExit)
         {
             break;
         }
         else
         {
             if (queue.Count == 0)
             {
                 lock (obj)
                 {
                     Monitor.Wait(obj);
                 }
             }
             else
             {
                 ParkingLotStatusEventArgs e = null;
                 lock (obj)
                 {
                     e = queue.Dequeue();
                 }
                 SelectedInfoEventMethod(e);
             }
         }
     }
 }
コード例 #2
0
        void SelectEventMethod()
        {
            for (; ;)
            {
                //SelectedInfoEventMethod(new ParkingLotStatusEventArgs(true, "", 1, new bool[0], DateTime.Now, DateTime.Now));
                //Thread.Sleep(2000);
                //continue;

                if (isExit)
                {
                    break;
                }
                else
                {
                    if (queue.Count == 0)
                    {
                        lock (obj)
                        {
                            Monitor.Wait(obj);
                        }
                    }
                    else
                    {
                        ParkingLotStatusEventArgs e = null;
                        lock (obj)
                        {
                            e = queue.Dequeue();
                        }
                        SelectedInfoEventMethod(e);
                    }
                }
            }
        }
コード例 #3
0
ファイル: AppFrame.cs プロジェクト: hexiangwang/wang
 /// <summary>
 /// 查询事件触发的方法
 /// </summary>
 /// <param name="e"></param>
 protected void SelectedInfoEventMethod(ParkingLotStatusEventArgs e)
 {
     if (OnSelected != null)
     {
         OnSelected(this, e);
     }
 }
コード例 #4
0
        public void UpdataStatus(DateTime sendTime, DateTime receTime, bool isSuccess, RtuRecePackage recePackage)
        {
            bool[] status = new bool[10];
            if (isSuccess)
            {
                int result = (recePackage.ReceBytes[3] << 8) + recePackage.ReceBytes[4];
                for (int i = 0; i < 10; i++)
                {
                    int temp = ((1 << i) & result);
                    if (temp != 0)
                    {
                        status[i] = true;
                    }
                    else
                    {
                        status[i] = false;
                    }
                }
            }
            ParkingLotStatusEventArgs info = new ParkingLotStatusEventArgs(isSuccess, descriptor.IpAddress, descriptor.Port, status, sendTime, receTime);

            SelectedInfoEventMethod(info);
        }