示例#1
0
 /// <summary>
 /// 虚拟机控制器构造函数
 /// </summary>
 /// <param name="net_conn">网络连接创建组件</param>
 /// <param name="complex">复杂数学运算组件</param>
 /// <param name="time_path">时间组件文件路径</param>
 /// <param name="mem_size">内存大小(默认8MB)</param>
 /// <param name="mem_align">内存最小分配量</param>
 /// <param name="mem_offset">内存空闲空间分配差值</param>
 public VMController(INetConnect net_conn, IComplexOperation complex, string time_path = null, int mem_size = Memory_Size, short mem_align = Memory_Align, short mem_offset = Memory_Offset)
 {
     MemoryController = new MemoryUnit(mem_size, mem_align, mem_offset);
     IOController     = new IOUnit(this);
     NetController    = new NetUnit(net_conn, this);
     TimeTool         = new Time(time_path);
     Complex          = complex;
     SVM = null;
 }
示例#2
0
        static void Main(string[] args)
        {
            Console.WriteLine("----------------- TEST USER A -----------------");

            Console.WriteLine("Enter to start...");
            Console.ReadLine();

            NetUnit netUnit = new NetUnit(port: 11022);

            Console.WriteLine("Started!");

            Console.ReadLine();
        }
示例#3
0
        static void Main(string[] args)
        {
            Console.WriteLine("----------------- TEST USER B -----------------");

            Console.WriteLine("Enter to start...");
            Console.ReadLine();

            NetUnit netUnit = new NetUnit(port: 11002);

            Console.WriteLine("Started!");

            Console.Write("Enter to send data...");
            Console.ReadLine();

            netUnit.Send("127.0.0.1", 11022, Encoding.ASCII.GetBytes("TestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTestTest"));
            Console.ReadLine();
        }
        private Collection <Net> CreateNetCollectionFromExcelFile(string sourceFileName)
        {
            Collection <Net> result = new Collection <Net>();

            Excel.Application excelapp = new Excel.Application();

            if (excelapp != null)
            {
                excelapp.Visible = false;

                excelapp.Workbooks.Open(sourceFileName, Type.Missing, true);

                Excel.Workbook workBook = excelapp.Workbooks[1];

                Excel.Worksheet workSheet = null;

                foreach (Excel.Worksheet item in workBook.Sheets)
                {
                    if (item.Name == "Цифровой алфавит")
                    {
                        workSheet = item;
                        break;
                    }
                }

                int col = 1, row = 2;

                Net net;

                net = new Net("Цифровой алфавит");
                for (int i = 0; i < 10; i++)
                {
                    Excel.Range cellNumber  = (Excel.Range)workSheet.Cells[row + i, col];
                    Excel.Range cellPattern = (Excel.Range)workSheet.Cells[row + i, col + 1];

                    if (cellNumber != null && cellPattern != null && cellNumber.Value2 != null && cellPattern.Value2 != null)
                    {
                        string numberString = cellNumber.Value2.ToString();
                        string pattern      = cellPattern.Value2.ToString();

                        if (!string.IsNullOrEmpty(numberString) && !string.IsNullOrEmpty(pattern))
                        {
                            int temp = 0;
                            if (int.TryParse(numberString, out temp))
                            {
                                NetUnit unit = new NetUnit(numberString, pattern, net.Name);

                                net.Units.Add(unit);
                            }
                        }
                    }
                }

                if (net.Units.Count > 0)
                {
                    result.Add(net);
                }


                net = new Net("Цифровые цвета");
                for (int i = 0; i < 10; i++)
                {
                    Excel.Range cellNumber  = (Excel.Range)workSheet.Cells[row + i, col];
                    Excel.Range cellPattern = (Excel.Range)workSheet.Cells[row + i, col + 2];

                    if (cellNumber != null && cellPattern != null && cellNumber.Value2 != null && cellPattern.Value2 != null)
                    {
                        string numberString = cellNumber.Value2.ToString();
                        string pattern      = cellPattern.Value2.ToString();

                        if (!string.IsNullOrEmpty(numberString) && !string.IsNullOrEmpty(pattern))
                        {
                            int temp = 0;
                            if (int.TryParse(numberString, out temp))
                            {
                                Excel.Range cellColor = (Excel.Range)workSheet.Cells[row + i, col + 3];

                                if (cellColor != null && cellColor.Value2 != null)
                                {
                                    string colorName = cellColor.Value2.ToString();

                                    NetUnit unit;

                                    if (!string.IsNullOrEmpty(colorName))
                                    {
                                        unit = new NetUnit(numberString, pattern, net.Name, Color.FromName(colorName));
                                    }
                                    else
                                    {
                                        unit = new NetUnit(numberString, pattern, net.Name);
                                    }

                                    net.Units.Add(unit);
                                }
                            }
                        }
                    }
                }

                if (net.Units.Count > 0)
                {
                    result.Add(net);
                }



                foreach (Excel.Worksheet item in workBook.Sheets)
                {
                    if (item.Name == "Итоговые")
                    {
                        workSheet = item;
                        break;
                    }
                }

                row = 2;
                col = 2;

                Excel.Range rangeTitle = (Excel.Range)workSheet.Cells[row - 1, col];
                while (rangeTitle != null && rangeTitle.Value2 != null)
                {
                    string netName = rangeTitle.Value2.ToString();
                    if (!string.IsNullOrEmpty(netName))
                    {
                        net = new Net(netName);

                        for (int i = 0; i < 110; i++)
                        {
                            Excel.Range cellNumber  = (Excel.Range)workSheet.Cells[row + i, 1];
                            Excel.Range cellPattern = (Excel.Range)workSheet.Cells[row + i, col];

                            if (cellNumber != null && cellPattern != null && cellNumber.Value2 != null && cellPattern.Value2 != null)
                            {
                                string numberString = cellNumber.Value2.ToString();
                                string pattern      = cellPattern.Value2.ToString();

                                if (!string.IsNullOrEmpty(numberString) && !string.IsNullOrEmpty(pattern))
                                {
                                    int temp = 0;
                                    if (int.TryParse(numberString, out temp))
                                    {
                                        NetUnit unit = new NetUnit(numberString, pattern, net.Name);
                                        net.Units.Add(unit);
                                    }
                                }
                            }
                        }

                        if (net.Units.Count > 0)
                        {
                            result.Add(net);
                        }

                        col++;
                        rangeTitle = (Excel.Range)workSheet.Cells[row - 1, col];
                    }
                }

                excelapp.Quit();
            }

            return(result);
        }