예제 #1
0
파일: MainForm.cs 프로젝트: fr830/SCADA-2
 private void MainForm_Load(object sender, EventArgs e)
 {
     label1.Focus();
     broker = new SQLBroke("Data");
     if (!broker.Login(UserName, PassWird).CheckAuthority)
     {
         if (loginForm == null)
         {
             loginForm = new LoadForm();
             loginForm.CheckAuthoruty += LoginCheck;                 //註冊事件給loginform,在loginform有人登入時,傳回一個是否符合認證的布林
             this.SendAuthority       += loginForm.ReceiveAuthority; //註冊事件給loginform,在loginform認證登入者後,將登入者資料丟回
         }
         SendAuthority(this, new AuthorityEvent()
         {
             UserName = this.UserName, Password = this.PassWird, Authority = this.Auth
         });                                                                                                                     //觸發事件,告知現在form1登入者的身分
         loginForm.StartPosition = FormStartPosition.Manual;
         loginForm.SetDesktopLocation(450, 300);
         loginForm.ShowDialog();
     }
     TimerDelay = 1000;
 }
예제 #2
0
        public static void GetTrip(short DINewTripHigh, short D1NewTripLow, short AINewTripHigh, short AINewTripLow, short NewAlarmHigh, short NewAlarmLow, int OldInput, int OldAITrip, string[] TripType, string[] AITripType, DateTime InputTime, SQLBroke broke)
        {
            bool[] NewBits = new bool[32];
            bool[] OldBits = new bool[32];
            int    DITrip  = shortToInt(DINewTripHigh, D1NewTripLow);
            int    AITrip  = shortToInt(AINewTripHigh, AINewTripLow);
            int    Alarm   = shortToInt(NewAlarmHigh, NewAlarmLow);
            //    int Search = shortToInt(SearchHigh, SearchLow);
            List <TripArray> list = new List <TripArray>();

            if (DITrip != OldInput)
            {
                for (int i = 0; i < 32; i++)
                {
                    NewBits[i] = (((DITrip >> i) & 1) == 1);
                    OldBits[i] = (((OldInput >> i) & 1) == 1);
                    if (NewBits[i] != OldBits[i])
                    {
                        if (OldBits[i])
                        {
                            if (broke.Search("Name", "UnitTrip").Contains(TripType[i]))
                            {
                                broke.Update("UnitTrip", TripType[i], InputTime, "複歸", DITrip, AITrip, Alarm);
                            }
                            else
                            {
                                broke.Insert("UnitTrip", TripType[i], InputTime, "複歸", DITrip, AITrip, Alarm);
                            }
                        }
                        else
                        {
                            broke.Insert("UnitTrip", TripType[i], InputTime, "發生", DITrip, AITrip, Alarm);
                        }
                    }
                }
            }
            if (AITrip != OldAITrip)
            {
                for (int i = 0; i < 32; i++)
                {
                    NewBits[i] = (((AITrip >> i) & 1) == 1);
                    OldBits[i] = (((OldAITrip >> i) & 1) == 1);
                    if (NewBits[i] != OldBits[i])
                    {
                        if (OldBits[i])
                        {
                            if (broke.Search("Name", "UnitTrip").Contains(AITripType[i]))
                            {
                                broke.Update("UnitTrip", AITripType[i], InputTime, "複歸", DITrip, AITrip, Alarm);
                            }
                            else
                            {
                                broke.Insert("UnitTrip", AITripType[i], InputTime, "複歸", DITrip, AITrip, Alarm);
                            }
                        }
                        else
                        {
                            broke.Insert("UnitTrip", AITripType[i], InputTime, "發生", DITrip, AITrip, Alarm);
                        }
                    }
                }
            }
        }