private void Button_Click(object sender, RoutedEventArgs e)
 {
     for (int i = 0; i < mydata.Station_Info_List.Count; i++)
     {
         Running_Data_Struct mystruct = (Running_Data_Struct)mydata.Station_Info_List[i];
         int[] a = mystruct.Get_IntData();
         a[30] = a[30] + 1;
         a[31] = a[31] + 1;
         a[32] = a[32] + 1;
         a[33] = a[33] + 1;
     }
 }
Beispiel #2
0
        private void Save_RunTimeValue_Tick(object sender, System.Timers.ElapsedEventArgs e)
        {
            string Table_Name = "runtimetable" + DateTime.Now.ToString("yyyyMMdd");

            database_builder.Create_Table(Table_Name, runtime_create_sql_value_type);
            // 将所有的值插入进去
            if (RunTime_Save_Table == null)
            {
                return;
            }
            if (AllValue_Table == null)
            {
                return;
            }
            if (RunTime_Save_Table.Rows.Count == 0)
            {
                return;
            }
            if (AllValue_Table.Rows.Count == 0)
            {
                return;
            }
            if (AllStation_Table == null)
            {
                return;
            }
            if (AllStation_Table.Rows.Count == 0)
            {
                return;
            }
            foreach (DataRow dr in RunTime_Save_Table.Rows)
            {
                string value_name = dr[0].ToString();
                // 在变量表中找出值
                DataRow[] valuerows = AllValue_Table.Select("Value_Name='" + value_name + "'");
                DataRow   valuerow  = valuerows[0];

                string value_type    = valuerow[1].ToString();
                int    value_address = int.Parse(valuerow[3].ToString());
                string return_value  = "";

                for (int i = 0; i < running_data.Station_Info_List.Count; i++)
                {
                    Running_Data_Struct mystruct = (Running_Data_Struct)running_data.Station_Info_List[i];
                    if (mystruct.Get_Name() == valuerow[2].ToString())
                    {
                        if (value_type == "Int")
                        {
                            int[] int_array = mystruct.Get_IntData();
                            return_value = int_array[value_address].ToString();
                        }
                        if (value_type == "Bool")
                        {
                            bool[] bool_array = mystruct.Get_SwitchData();
                            return_value = bool_array[value_address].ToString();
                        }
                        if (value_type == "String")
                        {
                            double[] double_array = mystruct.Get_DoubleData();
                            return_value = double_array[value_address].ToString();
                        }
                        // 插入表中

                        string[] insert_cmd = new string[4];
                        insert_cmd[0] = DateTime.Now.ToString("yyyyMMddHHmmss") + DateTime.Now.Millisecond.ToString() + value_name;
                        insert_cmd[1] = value_name;
                        insert_cmd[2] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                        insert_cmd[3] = return_value;
                        database_builder.Insert(Table_Name, insert_cmd);

                        // 插入到列表中
                        foreach (object mydatatable in MyChart.All_Used_Running_Table)
                        {
                            DataTable mydt = (DataTable)mydatatable;
                            if (mydt.TableName == Table_Name)
                            {
                                DataRow newdr = mydt.NewRow();
                                newdr[0] = DateTime.Now.ToString("yyyyMMddHHmmss") + DateTime.Now.Millisecond.ToString() + value_name;
                                newdr[1] = value_name;
                                newdr[2] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                                newdr[3] = return_value;
                                mydt.Rows.Add(newdr);
                            }
                        }
                        break;
                    }
                }
            }
        }