/// <summary> /// Выполнение сценария до ближайшей точки останова ///ТРЕБУЕТ ОПТИМИЗАЦИИ /// </summary> private void StartScript_btn_Click(object sender, EventArgs e) { StartScript_btn.Text = "| |"; tabScripts.SelectedIndex = 1; StartScript_btn.Refresh(); int column = 1, row = 1; bool IsStop = false; int numOfCommand = TableScript_dgv.SelectedRows[0].Index; OpenDCL(); IntPtr windowFocus = GetForegroundWindow(); while (numOfCommand < TableScript_dgv.Rows.Count) { //прерывание, если команда в точке останова if ((Boolean)TableScript_dgv.Rows[numOfCommand].Cells[5].EditedFormattedValue == true) { break; } IsStop = DoCommand(ref numOfCommand, ref column, ref row, windowFocus); if (IsStop != false) { break; } numOfCommand++; WaitSometime(); } StartScript_btn.Text = "▶"; }
/// <summary> /// Выполнение сценария из выделенных пользователем команд ///ТРЕБУЕТ ОПТИМИЗАЦИИ /// </summary> private void DoSelectStartScript_btn_Click(object sender, EventArgs e) { StartScript_btn.Text = "| |"; StartScript_btn.Refresh(); int column = 1, row = 1; bool IsStop = false; int numOfCommand = TableScript_dgv.SelectedRows[TableScript_dgv.SelectedRows.Count - 1].Index; int CountCommand = TableScript_dgv.SelectedRows.Count; OpenDCL(); IntPtr windowFocus = GetForegroundWindow(); for (int index = 0; index < CountCommand; index++) { IsStop = DoCommand(ref numOfCommand, ref column, ref row, windowFocus); if (IsStop != false) { break; } numOfCommand++; WaitSometime(); } StartScript_btn.Text = "▶"; }