/// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Submit_Click(object sender, EventArgs e)
        {
            ProgramCode programCode = new ProgramCode
            {
                ProductCode  = this.txt_ProductCode.EditValue == null ? "" : this.txt_ProductCode.EditValue.ToString(),
                ProductName  = this.txt_ProductName.EditValue == null ? "" : this.txt_ProductName.EditValue.ToString(),
                PrimerColor  = this.txt_PrimerColor.EditValue == null ? 0 : Convert.ToInt32(this.txt_PrimerColor.EditValue),
                PaintColor   = this.txt_PaintColor.EditValue == null ? 0 : Convert.ToInt32(this.txt_PaintColor.EditValue),
                VarnishColor = this.txt_VarnishColor.EditValue == null ? 0 : Convert.ToInt32(this.txt_VarnishColor.EditValue)
            };

            int result = m_programCodeDao.InsertProgramCode(programCode);

            if (result > 0)
            {
                dialogResult = MessageBox.Show("添加成功");
                if (dialogResult == DialogResult.OK)
                {
                    m_parent.gridControl.DataSource = m_programCodeDao.GetDataSource();
                    this.Close();
                }
            }
            else
            {
                dialogResult = MessageBox.Show("添加失败");
            }
        }
        public void valid(string code)
        {
            var c = new ProgramCode(code);

            Assert.Equal(code, c.Value);
            Assert.Equal(code, c.ToString());
        }
示例#3
0
        private ProgramCode LoadFile(string filename)
        {
            BinaryReader reader = new BinaryReader(new FileStream(filename, FileMode.Open, FileAccess.Read));

            ushort filecode = reader.ReadUInt16();

            if (filecode == 1508)
            {
                ProgramCode asmcode = new ProgramCode();
                asmcode.memory = new double[reader.ReadInt32(), 2];

                int nmlen = reader.ReadInt32();
                asmcode.numconstants = new double[nmlen / 8];
                Buffer.BlockCopy(reader.ReadBytes(nmlen), 0, asmcode.numconstants, 0, nmlen);

                nmlen = reader.ReadInt32();

                string literal = System.Text.ASCIIEncoding.ASCII.GetString(reader.ReadBytes(nmlen));

                asmcode.literals = literal.Split(new char[] { '\x00' });

                nmlen = reader.ReadInt32();
                asmcode.instructions = new ushort[nmlen / 2];
                Buffer.BlockCopy(reader.ReadBytes(nmlen), 0, asmcode.instructions, 0, nmlen);

                reader.Close();
                return(asmcode);
            }
            else
            {
                throw new Exception("It is not a valid File.");
            }
        }
 private void SetEditValues(ProgramCode programCode)
 {
     this.txt_ProductCode.Text  = programCode.ProductCode;
     this.txt_ProductCode.Text  = programCode.ProductName;
     this.txt_PrimerColor.Text  = $"{programCode.PrimerColor}";
     this.txt_PaintColor.Text   = $"{programCode.PaintColor}";
     this.txt_VarnishColor.Text = $"{programCode.VarnishColor}";
 }
        public ProgramEditorForm(Prg CurrentPrg, int Index) : this()
        {
            ProgramCode prgcode = CurrentPrg.ProgramCodes[Index];

            //CurrentPrg.Programs[Index].Description
            this.Text = "Edit Code: " + CurrentPrg.Programs[Index].Label;
            SetCode(prgcode.Code.ToString());
        }
示例#6
0
 private void SetEditValues(ProgramCode model)
 {
     txt_PigmentedCoatingColor.EditValue = model.PaintColor;
     txt_PrimerColor.EditValue           = model.PrimerColor;
     txt_VarnishColor.EditValue          = model.VarnishColor;
     txt_WorkpieceType.EditValue         = model.ProductCode;
     txt_WorkpieceNo.EditValue           = model.ProductName;
     txt_TotalNum.EditValue = 0;
 }
        public static void SendNumConstants(ref ProgramCode asmcode)
        {
            byte[] packet = new byte[9 + Buffer.ByteLength(asmcode.numconstants)];
            Buffer.BlockCopy(BitConverter.GetBytes(asmcode.matrixmemory.Length), 0, packet,
                             5, 4);
            packet[4] = (byte)RemoteProtocolMsgs.NUMCOS;
            Buffer.BlockCopy(asmcode.numconstants, 0, packet, 9, Buffer.ByteLength(asmcode.numconstants));
            Buffer.BlockCopy(BitConverter.GetBytes(packet.Length - 4), 0, packet, 0, 4);

            foreach (RemoteProcessor tmprp in FreeProcessors)
            {
                tmprp.SendPacket(packet);
            }
        }
示例#8
0
 private void Go()
 {
     if (runner.ExecutionState == ExecutionState.Stopped)
     {
         // Need to start the program...
         ProgramInteraction.Reset();
         ProgramCode.SyncCodeToViewModel();
         runner.BeginRun(ProgramCode.Code);
         Properties.Settings.Default.Code = ProgramCode.Code; // Save for next time
     }
     else if (runner.ExecutionState == ExecutionState.Paused)
     {
         runner.ExecuteNextLine();
     }
 }
        public int InsertProgramCode(ProgramCode programCode)
        {
            int ret = 0;

            try
            {
                using (PingYuanDbContext context = new PingYuanDbContext())
                {
                    context.ProgramCodes.Add(programCode);
                    ret = context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
            }
            return(ret);
        }
示例#10
0
        public void BaseProgramCodeTest(string path, ProgramCode code)
        {
            var expectedCode = File.ReadAllText(
                TestUtilities.GetFullPathForProgramCodeFile(path));

            //Console.WriteLine(DebugUtilities.CompareBytes(code.Code, code.Code, 0, 0, false, false, false));
            File.WriteAllBytes("D:/code.code", code.Code);

            var lines = expectedCode.ToLines();

            for (var i = 0; i < lines.Count && i < code.Lines.Count; ++i)
            {
                var line = code.Lines[i];

                Assert.AreEqual(10 * (i + 1), line.Number, "Line numbers not equals");
                Assert.AreEqual(lines[i], line.ToString(), $"Line {i} not equals");
            }
        }
示例#11
0
        public int DeleteProgramCodeById(ProgramCode programCode)
        {
            int result = 0;

            try
            {
                using (PingYuanDbContext context = new PingYuanDbContext())
                {
                    ProgramCode pro = context.ProgramCodes.FirstOrDefault(p => p.Id == programCode.Id);
                    context.ProgramCodes.Remove(pro);
                    result = context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
            }
            return(result);
        }
        public static void SendLiterals(ref ProgramCode asmcode)
        {
            if (asmcode.literals.Length > 0)
            {
                string literals = String.Join("\x00", asmcode.literals);

                byte[] packet = new byte[5 + System.Text.ASCIIEncoding.ASCII.GetByteCount(literals)];
                packet[4] = (byte)RemoteProtocolMsgs.LITERALS;

                Buffer.BlockCopy(System.Text.ASCIIEncoding.ASCII.GetBytes(literals)
                                 , 0, packet, 5, System.Text.ASCIIEncoding.ASCII.GetByteCount(literals));
                Buffer.BlockCopy(BitConverter.GetBytes(packet.Length - 4), 0, packet, 0, 4);

                foreach (RemoteProcessor tmprp in FreeProcessors)
                {
                    tmprp.SendPacket(packet);
                }
            }
        }
示例#13
0
        private void btn_Delete_Click(object sender, EventArgs e)
        {
            int         selectedIndex = this.gridView.FocusedRowHandle;
            ProgramCode model         = this.gridView.GetRow(selectedIndex) as ProgramCode;

            if (MessageBox.Show("确定删除该规格?", "确认", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                int result = m_programCodeDao.DeleteProgramCodeById(model);
                if (result > 0)
                {
                    if (MessageBox.Show("删除成功") == DialogResult.OK)
                    {
                        this.gridView.DeleteRow(selectedIndex);
                    }
                }
                else
                {
                    MessageBox.Show("删除失败");
                }
            }
        }
示例#14
0
        public static void ProcessProgram(ProgramCode programCode)
        {
            string cdnUrl     = string.Format(BlizzardUrl.CDNUrl, programCode).ToLower();
            string versionUrl = string.Format(BlizzardUrl.VersionsUrl, programCode).ToLower();

            Console.WriteLine($"Retrieving CDN information for {programCode} from\r\n{cdnUrl}");
            CDNResults cdnResults = new CDNResults(cdnUrl);

            Console.WriteLine($"Retrieving Version information for {programCode} from\r\n{versionUrl}");
            VersionResults versionResults = new VersionResults(versionUrl, cdnResults);

            if (cdnResults.Results == null || cdnResults.CDNUrls == null ||
                !cdnResults.Results.Any() || !cdnResults.CDNUrls.Any())
            {
                var originalColor = Console.ForegroundColor;
                Console.ForegroundColor = ConsoleColor.DarkRed;
                Console.WriteLine($"\r\nAN ERROR HAS OCCURRED! No CDN Results were returned for {programCode} from {cdnUrl}!");
                Console.ForegroundColor = originalColor;
            }
            else
            {
                foreach (var result in cdnResults.Results)
                {
                    DetectedRegions.Add(result.Region);
                }
            }

            if (versionResults.Results == null || versionResults.BuildConfigUrls == null ||
                versionResults.CDNConfigUrls == null ||
                !versionResults.Results.Any() || !versionResults.BuildConfigUrls.Any() ||
                versionResults.CDNConfigUrls.Any())
            {
                var originalColor = Console.ForegroundColor;
                Console.ForegroundColor = ConsoleColor.DarkRed;
                Console.WriteLine(
                    $"\r\nAN ERROR HAS OCCURRED! No Version Results were returned for {programCode} from {versionUrl}!");
                Console.ForegroundColor = originalColor;
            }
            else
            {
                foreach (var result in versionResults.Results)
                {
                    DetectedRegions.Add(result.Region);
                }
            }

            Console.Clear();

            foreach (var region in DetectedRegions.Distinct().OrderBy(o => o))
            {
                Console.WriteLine(region);
            }

            //if (versionResults.Results != null
            //    && versionResults.Results.Any())
            //{
            //    foreach (VersionResult versionResult in versionResults.Results)
            //    {
            //        string region = versionResult.Region;
            //        string buildID = versionResult.BuildID;
            //        string versionName = versionResult.VersionName;
            //        int totalBuildUrlCount = versionResult.BuildUrls.Count;
            //        int totalCDNUrlCount = versionResult.CDNUrls.Count;

            //        foreach (KeyValuePair<string, IEnumerable<string>> urls in versionResult.CDNUrls)
            //        {
            //            foreach (string url in urls.Value)
            //            {
            //                string result = Traffic.HTTPGET(url);

            //                if (!string.IsNullOrWhiteSpace(result))
            //                {
            //                    Console.WriteLine("\r*****************************************************");
            //                    Console.WriteLine("*****                 CDN Config                *****");
            //                    Console.WriteLine("*****************************************************");
            //                    Console.WriteLine("***** Realm Region: {0} | File Region {1}\r\n***** Build: {1} | Version: {2}\r\n***** {3}",
            //                        region,
            //                        buildID,
            //                        versionName,
            //                        url);
            //                    Console.WriteLine(result);
            //                    Console.WriteLine("*****************************************************");
            //                    //Console.WriteLine("\n{0} | {1} | B? {2} | C? {3} | Data Length: {4}\r\n{5}", region, buildID, isBuildConfig, isCDNConfig, result.Length, versionUrl);
            //                }
            //            }
            //        }
            //        foreach (KeyValuePair<string, IEnumerable<string>> urls in versionResult.BuildUrls)
            //        {
            //            foreach (string url in urls.Value)
            //            {
            //                string result = Traffic.HTTPGET(url);

            //                if (!string.IsNullOrWhiteSpace(result))
            //                {
            //                    Console.WriteLine("\r*****************************************************");
            //                    Console.WriteLine("*****                Build Config               *****");
            //                    Console.WriteLine("*****************************************************");
            //                    Console.WriteLine("***** Realm Region: {0} | File Region {1}\r\n***** Build: {1} | Version: {2}\r\n***** {3}",
            //                        region,
            //                        buildID,
            //                        versionName,
            //                        url);
            //                    Console.WriteLine(result);
            //                    Console.WriteLine("*****************************************************");
            //                    //Console.WriteLine("\n{0} | {1} | B? {2} | C? {3} | Data Length: {4}\r\n{5}", region, buildID, isBuildConfig, isCDNConfig, result.Length, versionUrl);
            //                }
            //            }
            //        }
            //    }
            //}

            //Console.WriteLine($"Application has finished parsing {Programs[programCode]}.\r\nPress enter to continue.");
            //Console.ReadLine();
        }
示例#15
0
        /// <summary>
        /// 选择已有记录自动充填编辑框
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void historyRecordGridView_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
        {
            ProgramCode model = this.gridView.GetRow(e.RowHandle) as ProgramCode;

            SetEditValues(model);
        }