示例#1
0
 private void btn_modify_Click(object sender, RoutedEventArgs e)
 {
     if (listBox1.SelectedItem is PerReg)
     {
         (Application.Current as App).kbdwnd.Init(StringResource.str("enter_newvalue"), "reg_" + (listBox1.SelectedItem as PerReg).name, false, KbdData);
     }
 }
示例#2
0
        private void lbl_sub_Click(object sender, RoutedEventArgs e)
        {
            Button b = sender as Button;
            App    p = Application.Current as App;

            if (b.Name == "btn_pwd")
            {
                p.SwitchTo("password");
            }
            if (b.Name == "btn_eng")
            {
//                p.SwitchTo("engineer");
                (Application.Current as App).kbdwnd.Init(StringResource.str("enter_singlemode_pwd"), "engmode", true, KbdData);
                return;
            }
            if (b.Name == "btn_product")
            {
                p.SwitchTo("product");
            }
            if (b.Name == "btn_bottom")
            {
                p.SwitchTo("bottom");
            }
            if (b.Name == "btn_history")
            {
                p.SwitchTo("history");
            }
            if (b.Name == "btn_alert")
            {
                p.SwitchTo("alert");
            }
            Hide();
        }
示例#3
0
 private void btn_modify_Click(object sender, RoutedEventArgs e)
 {
     if (usr_input.SelectedItem is ListBoxItem)
     {
         string user = (this.usr_input.SelectedItem as ListBoxItem).Name;
         if (Password.compare_pwd(user, this.old_pwd_input.Password))
         {
             if (new_pwd_input1.Password == new_pwd_input2.Password)
             {
                 Password.set_pwd(user, new_pwd_input1.Password);
                 MessageBox.Show(StringResource.str("pwd_done"));
                 App p = Application.Current as App;
                 btn_return_Click(sender, e);
             }
             else
             {
                 MessageBox.Show(StringResource.str("notsame_pwd"));
             }
         }
         else
         {
             MessageBox.Show(StringResource.str("invalid_pwd"));
         }
     }
 }
示例#4
0
        public void UpdateSysConfigUI()
        {
            App      p    = currentApp();
            UIPacker pack = curr_packer;

            this.input_uvar.Content = pack.curr_cfg.upper_var.ToString() + StringResource.str("gram");

            this.input_dvar.Content = pack.curr_cfg.lower_var.ToString() + StringResource.str("gram");

            this.lbl_weight.Content = pack.curr_cfg.target.ToString() + StringResource.str("gram");

            this.prd_no.Content = pack.curr_cfg.product_no.ToString();

            this.operator_no.Content = p.oper;

            this.prd_desc.Content = pack.curr_cfg.product_desc.ToString();

            ImageBrush ib = (this.FindName("ellipseWithImageBrush") as Rectangle).Fill as ImageBrush;
            //load the corresponding picture.
            string path_to_jpg = ProdNum.baseDir + "\\prodpic\\" + StringResource.language + "\\" + pack.curr_cfg.product_desc.ToString() + ".jpg";

            if (File.Exists(path_to_jpg))
            {
                ib.ImageSource = new BitmapImage(new Uri(path_to_jpg));
            }
            else
            {
                ib.ImageSource = new BitmapImage(new Uri(ProdNum.baseDir + "\\prodpic\\default.jpg"));
            }
        }
示例#5
0
        private void passbar_MouseLeftButtonUp(object sender, RoutedEventArgs e)
        {
            if (curr_packer.status == PackerStatus.RUNNING)
            {
                looseFocus();
                return;
            }
            if (!AlertWnd.b_manual_reset || !AlertWnd.b_turnon_alert)
            {
                return;
            }
            Button l = sender as Button;

            if (l is Button)
            {
                App  p  = Application.Current as App;
                byte id = (byte)ButtonToId(sender);
                //if (p.agent.GetErrors(id) != "")
                {
                    curr_node = id;
                    if (AlertWnd.b_turnon_alert && AlertWnd.b_show_alert)
                    {
                        if ((p.agent.GetStatus(id) == NodeStatus.ST_LOST) || (p.agent.GetStatus(id) == NodeStatus.ST_DISABLED))
                        {
                            lbl_alert3.Content = StringResource.str("alert_enable");
                        }
                        else
                        {
                            lbl_alert3.Content = StringResource.str("alert_disable");
                        }
                        UpdateAlertWindow(true);
                    }
                }
            }
        }
示例#6
0
 private void operator_no_Click(object sender, RoutedEventArgs e)
 {
     if (curr_packer.status != PackerStatus.RUNNING)
     {
         (Application.Current as App).kbdwnd.Init(StringResource.str("enter_operator_no"), "run_operator", false, KbdData);
     }
 }
示例#7
0
        void uiTimer_Tick(object sender, EventArgs e)
        {
            if (bootup.IsAlive)
            {
                return;
            }
            uiTimer.Stop();
            if (boot_ok == 0)
            {
                App p = Application.Current as App;
                MessageBox.Show(StringResource.str("bootfail"));
                bootmsg.Clear();
                bootup = new Thread(PackerBoot);

                bootup.IsBackground = false;

                bootup.Start();
                uiTimer.Start();
            }
            else
            {
                App p = (Application.Current as App);
                StringResource.SetLanguage();
                p.SwitchTo("runmode");
                this.Visibility = Visibility.Hidden;


                p.agent.Action((byte)(0x80 + p.packers[0]._pack_id), "stop");
                p.agent.Action(p.packers[0].vib_addr, "stop");
            }
        }
示例#8
0
 private void TextBlock_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
 {
     if (listBox1.SelectedItem is PerReg)
     {
         (Application.Current as App).kbdwnd.Init(StringResource.str("enter_newvalue"), "reg_" + (listBox1.SelectedItem as PerReg).name, false, KbdData);
     }
 }
示例#9
0
        private void ToggleStartStop()
        {
            App p = currentApp();

            if (curr_packer.status == PackerStatus.RUNNING)
            {
                if (hitmut.WaitOne(1000))
                {
                    curr_packer.StopRun();
                    this.btn_allstart.Content = StringResource.str("all_start");
                    btn_allstart.Style        = this.FindResource("StartBtn") as Style;
                    //show cursor;
                    tm_cursor.Stop();
                    ShowCursor(1);
                    bShowCursor = true;
                    hitmut.ReleaseMutex();
                    btn_allstart.ApplyTemplate();
                }
            }
            else
            {
                if (hitmut.WaitOne(1000))
                {
                    curr_packer.bSimulate = false;
                    curr_packer.StartRun();
                    this.btn_allstart.Content = StringResource.str("all_stop");
                    btn_allstart.Style        = this.FindResource("StartBtn2") as Style;
                    hitmut.ReleaseMutex();
                    btn_allstart.ApplyTemplate();
                }
            }
        }
示例#10
0
 public void UpdateDisplay()
 {
     btnClr.Text        = StringResource.str("clearpack");
     lbl_starttime.Text = StringResource.str("start_date");
     lbl_endtime.Text   = StringResource.str("end_date");
     lbl_oper.Text      = StringResource.str("operator");
     lbl_prodno.Text    = StringResource.str("product_no");
     lbl_prod.Text      = StringResource.str("product_desc");
 }
示例#11
0
        public void UpdateUI()
        {
            App       p  = Application.Current as App;
            NodeAgent n  = curr_packer.agent;
            byte      vn = curr_packer.vib_addr;

            if (curr_node_index < 0)
            {
                return;
            }

            sub_freq_input.Content   = n.GetNodeReg((byte)curr_node_index, "magnet_freq");
            sub_amp_input.Content    = n.GetNodeReg((byte)curr_node_index, "magnet_amp");
            sub_time_input.Content   = n.GetNodeReg((byte)curr_node_index, "magnet_time");
            sub_filter_input.Content = n.GetNodeReg((byte)curr_node_index, "cs_gain_wordrate");
            wei_otime_input.Content  = n.GetNodeReg((byte)curr_node_index, "open_w");
            wei_dtime_input.Content  = n.GetNodeReg((byte)curr_node_index, "delay_w");
            col_dtime_input.Content  = n.GetNodeReg((byte)curr_node_index, "delay_s");
            col_otime_input.Content  = n.GetNodeReg((byte)curr_node_index, "open_s");
            openwei_input.Content    = n.GetNodeReg((byte)curr_node_index, "delay_f");


            motor_speed_input.Content = n.GetNodeReg((byte)curr_node_index, "motor_speed");

            run_freq.Content     = n.GetNodeReg(curr_packer.vib_addr, "magnet_freq");
            run_amp.Content      = n.GetNodeReg(curr_packer.vib_addr, "magnet_amp");
            run_time.Content     = n.GetNodeReg(curr_packer.vib_addr, "magnet_time");
            btn_prd_no.Content   = curr_packer.curr_cfg.product_no.ToString();
            btn_prd_desc.Content = curr_packer.curr_cfg.product_desc.ToString();
            btn_target.Content   = curr_packer.curr_cfg.target.ToString() + StringResource.str("gram");
            btn_uvar.Content     = curr_packer.curr_cfg.upper_var.ToString() + StringResource.str("gram");
            btn_dvar.Content     = curr_packer.curr_cfg.lower_var.ToString() + StringResource.str("gram");

            cb_autoamp.IsChecked = (curr_packer.curr_cfg.target_comb > 0);
            if (cb_autoamp.IsChecked.Value)
            {
                cb_autoamp.Content = StringResource.str("autoamp_on") + curr_packer.curr_cfg.target_comb.ToString();
            }
            else
            {
                cb_autoamp.Content = StringResource.str("autoamp_off");
            }

            lbl_currNode.Content = (curr_node_index).ToString();
            Rectangle rect = this.FindName("ellipseWithImageBrush") as Rectangle;

            //load the corresponding pictiure.
            if (File.Exists(ProdNum.baseDir + "\\prodpic\\" + StringResource.language + "\\" + curr_packer.curr_cfg.product_desc.ToString() + ".jpg"))
            {
                (rect.Fill as ImageBrush).ImageSource = new BitmapImage(new Uri(ProdNum.baseDir + "\\prodpic\\" + StringResource.language + "\\" + curr_packer.curr_cfg.product_desc.ToString() + ".jpg"));
            }
            else
            {
                (rect.Fill as ImageBrush).ImageSource = new BitmapImage(new Uri(ProdNum.baseDir + "\\prodpic\\default.jpg"));
            }
        }
示例#12
0
        private void grp_reg(string regname)
        {
            App p = currentApp();

            if (curr_packer.status == PackerStatus.RUNNING)
            {
                return;
            }
            p.kbdwnd.Init(StringResource.str("enter_" + regname), regname, false, KbdData);
        }
示例#13
0
        private void node_reg(string regname)
        {
            App p = Application.Current as App;

            if (curr_packer.status == PackerStatus.RUNNING)
            {
                return;
            }
            p.kbdwnd.Init(StringResource.str("enter_" + regname), regname, false, KbdData);
        }
示例#14
0
        private void prd_no_selected(string item)
        {
            App p = Application.Current as App;

            curr_packer.curr_cfg.product_no = item;
            curr_packer.SaveCurrentConfig(4);
            lastcall            = "UpdatePrdNo";
            txt_oper.Content    = StringResource.str("downloading");
            txt_oper.Visibility = Visibility.Visible;
            bg_oper.Visibility  = Visibility.Visible;
        }
示例#15
0
        //going to config menu
        private void btn_singlemode_click(object sender, RoutedEventArgs e)
        {
            App p = currentApp();

            if (curr_packer.status == PackerStatus.RUNNING)
            {
                return;
            }

            (Application.Current as App).kbdwnd.Init(StringResource.str("enter_singlemode_pwd"), "singlemode", true, KbdData);
        }
示例#16
0
        public void RefreshRunNodeUI() //node ui update at run time
        {
            lbl_status.Content = "";
            foreach (UIPacker pk in currentApp().packers)
            {
                foreach (byte naddr in pk.weight_nodes)
                {
                    string    param = "wei_node" + naddr.ToString();
                    Label     lb    = this.FindName(param) as Label;
                    Button    btn   = this.FindName(param.Replace("wei_node", "bucket")) as Button;
                    byte      n     = (byte)(RunMode.StringToId(param));
                    NodeAgent agent = pk.agent;

                    double wt = agent.weight(n);
                    if (wt > -1000 && wt <= WeighNode.MAX_VALID_WEIGHT)
                    {
                        lb.Content = agent.weight(n).ToString("F1");
                    }

                    if (agent.GetStatus(n) == NodeStatus.ST_LOST || agent.GetStatus(n) == NodeStatus.ST_DISABLED)
                    {
                        btn.Template = this.FindResource("WeightBarError") as ControlTemplate;
                        btn.ApplyTemplate();
                    }
                    string err = agent.GetErrors(n);
                    if (err != "" && AlertWnd.b_turnon_alert && AlertWnd.b_show_alert)
                    {
                        lbl_status.Content = n.ToString() + ":" + StringResource.str(err.Substring(0, err.IndexOf(';'))) + "\n";
                    }
                }
                if (pk.status == PackerStatus.RUNNING)
                {
                    lbl_speed.Content      = pk.speed.ToString();
                    lbl_lastweight.Content = pk.last_pack_weight.ToString("F1");
                    lbl_totalpack.Content  = pk.total_packs.ToString();

                    RefreshVibUI();
                }
            }
            if (lbl_status.Content.ToString() == "")
            {
                lbl_status.Content    = StringResource.str("normal");
                lbl_status.Foreground = Brushes.Green;
            }
            else
            {
                lbl_status.Foreground = Brushes.Red;
                if (AlertWnd.b_turnon_alert && AlertWnd.b_stop_onalert && (curr_packer.status == PackerStatus.RUNNING))
                {
                    btn_start_click(null, null);
                }
            }
        }
示例#17
0
 private void btn_trial_Click(object sender, RoutedEventArgs e)
 {
     lastcall = "StartStop";
     if (curr_packer.status == PackerStatus.RUNNING)
     {
         ShowStatus(StringResource.str("stopping"));
     }
     else
     {
         ShowStatus(StringResource.str("starting"));
     }
 }
示例#18
0
        public void Init(ProdClickHandler h, bool CanDelete)
        {
            this.phandler = h;
            this.wrapPanel1.Children.Clear();
            PackerConfig pcfg = new PackerConfig();

            foreach (string id in curr_packer.pkg_confs.Keys)
            {
                pcfg.FromElement(curr_packer.pkg_confs[id]);
                FileInfo fi;
                if (File.Exists(ProdNum.baseDir + "\\prodpic\\" + StringResource.language + "\\" + pcfg.product_desc + ".jpg"))
                {
                    fi = new FileInfo(ProdNum.baseDir + "\\prodpic\\" + StringResource.language + "\\" + pcfg.product_desc + ".jpg");
                }
                else
                {
                    fi = new FileInfo(ProdNum.baseDir + "\\prodpic\\default.jpg");
                }
                imglist[id] = fi.FullName;

                Label           n  = new Label();
                ControlTemplate ct = this.FindResource("imgBtn") as ControlTemplate;
                n.Template = ct;
                n.Name     = "ID" + id;
                //Product num: Pru
                n.Content = String.Format("{0}:{1}\n{2}:{3}\n{4}:{5}\n{6}:{7}\n{8}:{9}",
                                          StringResource.str("product_no"), pcfg.product_no,
                                          StringResource.str("product_desc"), pcfg.product_desc,
                                          StringResource.str("grp_target"), pcfg.target,
                                          StringResource.str("grp_uvar"), pcfg.upper_var,
                                          StringResource.str("grp_dvar"), pcfg.lower_var
                                          );

                //n.Click += ImageSelected;
                n.ApplyTemplate();
                Rectangle rectimg = ct.FindName("ImageRect", n) as Rectangle;
                rectimg.Name = "Rt" + id;
                Button delBtn = ct.FindName("DelBtn", n) as Button;
                delBtn.Name = "De" + id;
                rectimg.MouseLeftButtonUp += ImageRect_MouseLeftButtonUp;
                delBtn.Click += Delbtn_Click;
                if (!CanDelete)
                {
                    delBtn.Visibility = Visibility.Hidden;
                }
                ImageBrush ib = ct.FindName("ImageFill", n) as ImageBrush;

                ib.ImageSource = new BitmapImage(new Uri(fi.FullName));
                this.wrapPanel1.Children.Add(n);
            }
            this.Show();
        }
示例#19
0
        private void main_input_click(object sender, RoutedEventArgs e)
        {
            App p = Application.Current as App;

            if (curr_packer.status == PackerStatus.RUNNING)
            {
                //MessageBox.Show("is_running");
                return;
            }
            string regname = (sender as Label).Name;

            p.kbdwnd.Init(StringResource.str("enter_" + regname), regname, false, KbdData);
        }
示例#20
0
 private void btn_start_click(object sender, RoutedEventArgs e)
 {
     lastcall = "StartStop";
     if (curr_packer.status == PackerStatus.RUNNING)
     {
         lbl_status.Content = StringResource.str("stopping");
     }
     else
     {
         lbl_status.Content = StringResource.str("starting");
         tm_cursor.Start();
     }
 }
示例#21
0
        private void sub_applyall()
        {
            App       p     = Application.Current as App;
            UIPacker  pack  = curr_packer;
            NodeAgent agent = pack.agent;
            byte      cn    = (byte)curr_node_index;

            bool star = true;

            foreach (byte n in curr_packer.weight_nodes)
            {
                foreach (string reg in apply_regs.Distinct())
                {
                    if (agent.GetStatus(n) == NodeStatus.ST_LOST)
                    {
                        continue;
                    }
                    if (agent.GetStatus(n) == NodeStatus.ST_DISABLED)
                    {
                        continue;
                    }

                    if (n == cn)
                    {
                        continue;
                    }
                    UInt32 val = UInt32.Parse(curr_packer.agent.GetNodeReg(cn, reg));
                    if (!curr_packer.agent.SetNodeReg(n, reg, val))
                    {
                        return;
                    }

                    if (star)
                    {
                        Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Background, (Action) delegate
                        {
                            txt_oper.Content = StringResource.str("modifying") + " " + n.ToString() + "*";
                        });
                    }
                    else
                    {
                        Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Background, (Action) delegate
                        {
                            txt_oper.Content = StringResource.str("modifying") + " " + n.ToString();
                        });
                    }
                    star = !star;
                }
            }
            apply_regs.Clear();
        }
示例#22
0
 public void KbdData(string param, string data)
 {
     try
     {
         App      p    = Application.Current as App;
         UIPacker pack = curr_packer;
         if (param == "run_uvar")
         {
             pack.curr_cfg.upper_var = double.Parse(data);
             pack.SaveCurrentConfig(4);
         }
         if (param == "run_dvar")
         {
             pack.curr_cfg.lower_var = double.Parse(data);
             pack.SaveCurrentConfig(4);
         }
         if (param == "run_target")
         {
             pack.curr_cfg.target = Double.Parse(data);
             pack.UpdateEachNodeTarget();
             pack.SaveCurrentConfig(1 + 4);
         }
         if (param == "run_operator")
         {
             (Application.Current as App).oper = data;
             pack.SaveCurrentConfig(4);
         }
         if (param == "singlemode")
         {
             if (Password.compare_pwd("user", data))
             {
                 while (lastcall != "")
                 {
                     this.uiTimer_Tick(null, null);
                 }
                 p.SwitchTo("configmenu");
                 return;
             }
             else
             {
                 MessageBox.Show(StringResource.str("invalid_pwd"));
             }
         }
         UpdateSysConfigUI();
     }
     catch (System.Exception e)
     {
         MessageBox.Show("Invalid Parameter");
         return;
     }
 }
示例#23
0
        private void btn_locksys_Click(object sender, RoutedEventArgs e)
        {
            App      p   = Application.Current as App;
            XElement cfg = p.curr_cfg;

            if (b_lockon)
            {
                (Application.Current as App).kbdwnd.Init(StringResource.str("enter_unlocknum"), "quitlock", false, KbdData);
            }
            else
            {
                (Application.Current as App).kbdwnd.Init(StringResource.str("enter_locknum"), "enterlock", false, KbdData);
            }
        }
示例#24
0
 public void new_prd_no_input(string param, string data)
 {
     if (curr_packer.pkg_confs.Keys.Contains <string>(data))
     {
         MessageBox.Show(StringResource.str("used_prdno"));
         lastcall = "select_prdno";
     }
     else
     {
         curr_packer.DuplicateCurrentConfig(data);
         ShowStatus("loading");
         lastcall = "UpdateUI";
     }
 }
示例#25
0
        public void UpdateNodeUI(byte n)
        {
            App      p    = currentApp();
            UIPacker pack = curr_packer;

            //display the variable based on current setting
            Label  lb   = this.FindName("wei_node" + n) as Label;
            Button btn  = this.FindName("bucket" + n) as Button;
            Button pbtn = this.FindName("pass" + n) as Button;

            string err = pack.agent.GetErrors(n);
            double wt  = -1000;
            string ct  = "";

            if (err == "")
            {
                wt            = pack.agent.weight(n);
                ct            = wt.ToString("F1");
                pbtn.Template = this.FindResource("PassBar") as ControlTemplate;
                pbtn.ToolTip  = "";
                pbtn.ApplyTemplate();
            }
            else
            {
                if (AlertWnd.b_show_alert && AlertWnd.b_turnon_alert)
                {
                    pbtn.Template      = this.FindResource("PassBarError") as ControlTemplate;
                    pbtn.ToolTip       = StringResource.str(err.Substring(0, err.IndexOf(';')));
                    lbl_status.Content = StringResource.str(err.Substring(0, err.IndexOf(';'))) + "\n";
                    lb.Content         = StringResource.str(err.Substring(0, err.IndexOf(';')));//"ERR";
                    pbtn.ApplyTemplate();
                }
            }

            if (pack.agent.GetStatus(n) == NodeStatus.ST_LOST || pack.agent.GetStatus(n) == NodeStatus.ST_DISABLED)
            {
                btn.Template = this.FindResource("WeightBarError") as ControlTemplate;
                btn.ApplyTemplate();
            }
            if (pack.agent.GetStatus(n) == NodeStatus.ST_IDLE)
            {
                btn.Template = this.FindResource("WeightBar") as ControlTemplate;
                btn.ApplyTemplate();
            }
            if (wt > -1000 && wt <= WeighNode.MAX_VALID_WEIGHT)
            {
                lb.Content = ct;
            }
        }
示例#26
0
 private void UpdateAlertWindow(bool visible)
 {
     rect_alert1.Visibility = visible ? Visibility.Visible : Visibility.Hidden;
     rect_alert2.Visibility = visible ? Visibility.Visible : Visibility.Hidden;
     rect_alert3.Visibility = visible ? Visibility.Visible : Visibility.Hidden;
     lbl_alert.Visibility   = visible ? Visibility.Visible : Visibility.Hidden;
     lbl_alert1.Visibility  = visible ? Visibility.Visible : Visibility.Hidden;
     lbl_alert2.Visibility  = visible ? Visibility.Visible : Visibility.Hidden;
     lbl_alert3.Visibility  = visible ? Visibility.Visible : Visibility.Hidden;
     lbl_alert4.Visibility  = visible ? Visibility.Visible : Visibility.Hidden;
     if (visible)
     {
         lbl_alert.Content = "(" + curr_node.ToString() + ")" + StringResource.str("alert_select");
     }
 }
示例#27
0
        private void btn_ok_Click(object sender, RoutedEventArgs e)
        {
            string llimit = StringResource.str(param + "_llimit");
            string ulimit = StringResource.str(param + "_ulimit");

            if (data.ToString() == "")
            {
                MessageBox.Show(StringResource.str("emptydata"));
                return;
            }
            try
            {
                if (llimit == "Invalid String Key") //no limits setting
                {
                    kbdhandler(param, data.ToString());
                    Hide();
                    return;
                }

                if (llimit.IndexOf(".") < 0) //int case
                {
                    Int32 ll = Int32.Parse(llimit);
                    Int32 hl = Int32.Parse(ulimit);

                    if (Int32.Parse(data.ToString()) < ll || Int32.Parse(data.ToString()) > hl)
                    {
                        throw new Exception("input out of range");
                    }
                }
                else
                {
                    double ll = double.Parse(llimit);
                    double hl = double.Parse(ulimit);
                    if (double.Parse(data.ToString()) < ll || double.Parse(data.ToString()) > hl)
                    {
                        throw new Exception("input out of range");
                    }
                }
                kbdhandler(param, data.ToString());
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
                return;
            }

            Hide();
        }
示例#28
0
        private void Delbtn_Click(object sender, EventArgs e)
        {
            string id = (sender as Button).Name.Remove(0, 2);

            string lastcfg = curr_packer.pkg_confs.cfg_name;

            if (id == curr_packer.pkg_confs.cfg_name)
            {
                MessageBox.Show(StringResource.str("cfg_inuse"));
                return;
            }
            curr_packer.pkg_confs.RemoveConfig(id);
            curr_packer.pkg_confs.LoadConfig(lastcfg);
            curr_packer.pkg_confs.SaveConfigToFile();
            Init(phandler, true);
        }
示例#29
0
        private void ToggleStartStop()
        {
            App p = Application.Current as App;

            if (curr_packer.status == PackerStatus.RUNNING)
            {
                curr_packer.StopRun();
                this.btn_trial.Content = StringResource.str("sall_start");
            }
            else
            {
                curr_packer.bSimulate = true;
                curr_packer.StartRun();
                this.btn_trial.Content = StringResource.str("sall_stop");
            }
        }
示例#30
0
        public void UpdateDataGrid(object sender, EventArgs e)
        {
            SetConnection();
            sql_con.Open();

            sql_cmd = sql_con.CreateCommand();
            string   cols        = "select start_date, end_date, operator, product_no, product_desc, target, upper_var, lower_var, weight, pack_num from  mains ";
            DateTime s_dt        = mc_starttime.SelectionStart;
            DateTime e_dt        = mc_endtime.SelectionEnd;
            string   CommandText = cols + String.Format("where start_date>='{0}-{1}-{2} 00:00:00' and end_date<='{3}-{4}-{5} 23:59:59'",
                                                        s_dt.Year, s_dt.Month.ToString("D2"), s_dt.Day.ToString("D2"), e_dt.Year, e_dt.Month.ToString("D2"), e_dt.Day.ToString("D2"));

            if (lb_oper.SelectedIndex >= 0 && lb_oper.SelectedItem.ToString() != "*")
            {
                CommandText += String.Format(" and operator='{0}'", lb_oper.SelectedItem.ToString());
            }
            if (lb_prod.SelectedIndex >= 0 && lb_prod.SelectedItem.ToString() != "*")
            {
                CommandText += String.Format(" and product_desc='{0}'", lb_prod.SelectedItem.ToString());
            }
            if (lb_prodno.SelectedIndex >= 0 && lb_prodno.SelectedItem.ToString() != "*")
            {
                CommandText += String.Format(" and product_no='{0}'", lb_prodno.SelectedItem.ToString());
            }

            DB = new SQLiteDataAdapter(CommandText, sql_con);
            DS.Reset();
            DB.Fill(DS);
            DT = DS.Tables[0];
            double total_sum  = 0;
            UInt32 total_pack = 0;

            foreach (DataRow dr in DT.Rows)
            {
                total_pack += UInt32.Parse(dr["pack_num"].ToString());
                total_sum  += Double.Parse(dr["weight"].ToString());
            }
            this.dataGridView1.DataSource = DT;
            foreach (DataGridViewColumn dcol in dataGridView1.Columns)
            {
                dcol.HeaderText   = StringResource.str(dcol.Name);
                dcol.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
            }
            this.lbl_summary.Text = String.Format("{0}:{1}{6} , {2}:{3} , {4}:{5}{6}", StringResource.str("totalweight"), total_sum.ToString("F1"),
                                                  StringResource.str("totalpacknum"), total_pack.ToString(), StringResource.str("avgweight"), (total_pack == 0 ? "0" :(total_sum / total_pack).ToString("F1")), StringResource.str("gram"));
            sql_con.Close();
        }