Exemple #1
0
        public void FillMpt(Rastr rst, Dictionary <string, DataTable> DTables)
        {
            MTables.Clear();
            foreach (KeyValuePair <string, DataTable> kvp in DTables)
            {
                DataTable newdt = kvp.Value.Copy();
                MTables.Add(kvp.Key, newdt);
            }

            int scp1 = GetStartColPOint(rst);

            for (int i = scp1; i <= 24; i++)
            {
                rst.ReadPnt(i, 0);

                foreach (KeyValuePair <string, DataTable> kvp in MTables)
                {
                    ASTRALib.table GenTab = (ASTRALib.table)rst.Tables.Item(kvp.Value.TableName);

                    int colcount = kvp.Value.Columns.Count;

                    //Object[] Myrow = new object[colcount];
                    int x = GenTab.get_FindNextSel(-1);
                    while (x >= 0)
                    {
                        Object[] mycells     = new Object[colcount];
                        string   KeyName     = kvp.Value.Columns[0].ColumnName;
                        object   key         = (int)((ASTRALib.col)GenTab.Cols.Item(kvp.Value.Columns[0].ColumnName)).get_Z(x);
                        object   KeyNameDecs = (object)((ASTRALib.col)GenTab.Cols.Item(kvp.Value.Columns[1].ColumnName)).get_Z(x);

                        var colT    = (ASTRALib.col)GenTab.Cols.Item(3);
                        var colType = colT.get_Prop(ASTRALib.PropType.FL_TIP).ToString();

                        mycells[0] = key;
                        mycells[1] = KeyNameDecs;
                        mycells[2] = i;


                        for (int c = 3; c < colcount; c++)  // читаем остальные параметры
                        {
                            mycells[c] =
                                (Object)((ASTRALib.col)GenTab.Cols.Item(kvp.Value.Columns[c].ColumnName)).get_Z(x);
                        }
                        kvp.Value.Rows.Add(mycells);
                        x = GenTab.get_FindNextSel(x);
                    }
                }
            }
        }
Exemple #2
0
        // получить список мегаточек в нужной последовательности
        public static void SetMptList(Rastr rst1, TMpt Mpt1, Rastr rst2, TMpt Mpt2)
        {
            ASTRALib.table t1            = (ASTRALib.table)rst1.Tables.Item("MltPntSettings");
            ASTRALib.col   c1            = (ASTRALib.col)t1.Cols.Item("AbsTime");
            Double         mpt1StartDate = (Double)c1.get_Z(0);

            ASTRALib.table t2            = (ASTRALib.table)rst2.Tables.Item("MltPntSettings");
            ASTRALib.col   c2            = (ASTRALib.col)t2.Cols.Item("AbsTime");
            Double         mpt2StartDate = (Double)c2.get_Z(0);

            if (mpt1StartDate < mpt2StartDate)
            {
                MPTList.Add(Mpt1);
                MPTList.Add(Mpt2);
            }
            else
            {
                MPTList.Add(Mpt2);
                MPTList.Add(Mpt1);
            }
        }
Exemple #3
0
 // постройка дерева из таблиц с их типами
 private void button2_Click(object sender, EventArgs e)
 {
     trvTables.BeginUpdate();
     ASTRALib.Tables t = (ASTRALib.Tables)rst1.Tables;
     for (int i = 0; i < t.Count; i++)
     {
         ASTRALib.table tblAstra = (ASTRALib.table)t.Item(i);
         TreeNode       newNode  = new TreeNode();
         newNode.Text = String.Format("{0} ({1})", tblAstra.Name, tblAstra.Cols.Count);
         for (int j = 0; j < tblAstra.Cols.Count; j++)
         {
             ASTRALib.col col          = (ASTRALib.col)tblAstra.Cols.Item(j);
             TreeNode     ColumnNode   = new TreeNode();
             int          ColumnTypeId = Int32.Parse(col.get_Prop(ASTRALib.PropType.FL_TIP).ToString());
             ColumnNode.Text = String.Format("{0}({1})", col.Name, Helper.GetTypeNameById(ColumnTypeId));
             newNode.Nodes.Add(ColumnNode);
         }
         trvTables.Nodes.Add(newNode);
     }
     trvTables.CollapseAll();
     trvTables.EndUpdate();
 }
Exemple #4
0
 // получить номер точки начала расчета
 public int GetStartColPOint(Rastr rst)
 {
     ASTRALib.table t = (ASTRALib.table)rst.Tables.Item("MltPntSettings");
     ASTRALib.col   c = (ASTRALib.col)t.Cols.Item("StartCalcPoint");
     return((int)c.get_Z(0));
 }
Exemple #5
0
 // вычисление по формуле (0) ?
 public void RastrCalc(Rastr rst)
 {
     ASTRALib.table tableRst = (ASTRALib.table)rst.Tables.Item("MultiPntConfig");
     ASTRALib.col   colRst   = (ASTRALib.col)tableRst.Cols.Item("Significance");
     colRst.Calc("0");
 }