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; }
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); } } } } }