private void runStripButton_Click(object sender, EventArgs e) { if (Save()) { compileMsgForm.Hide(); ZLogoCompiler compiler = new ZLogoCompiler(new FileInfo(FileFullPath)); compiler.Compile(); if (compiler.CompileResult.HasError()) { StringBuilder buffBuilder = new StringBuilder(); buffBuilder.AppendFormat("文件'{0}{1}'有以下错误:\n", FileName, ZLogoCompiler.ZLogoExt); foreach (CompileMessage compileMessage in compiler.CompileResult.Errors) { if (compileMessage.Line > 0 || compileMessage.Col > 0) { buffBuilder.AppendFormat("第{0}行,第{1}列", compileMessage.Line, compileMessage.Col); } buffBuilder.AppendFormat("错误:{0}\n", compileMessage.Text); //string str = string.Format("第{0}行,第{1}列:{2}\n",,compileMessage.Text); //buffBuilder.Append(str); } compileMsgForm.ShowMessage(buffBuilder.ToString()); compileMsgForm.Show(); } else { compileMsgForm.Hide(); compiler.Run(); } } }
private void runStripButton_Click(object sender, EventArgs e) { if (FileFullPath == null) { return; } Console.WriteLine("runStripButton_Click FileFullPath=" + FileFullPath); if (Save()) { compileMsgForm.Hide(); LogoCompiler compiler = new LogoCompiler();// (new FileInfo(FileFullPath)); var result = compiler.Compile(FileFullPath); if (result.HasError()) { StringBuilder buffBuilder = new StringBuilder(); buffBuilder.AppendFormat("文件'{0}{1}'有以下错误:\n", FileName, LogoCompiler.ZLogoExt); foreach (CompileMessage compileMessage in result.Errors.ValuesToList()) { if (compileMessage.Line > 0 || compileMessage.Col > 0) { buffBuilder.AppendFormat("第{0}行,第{1}列", compileMessage.Line, compileMessage.Col); } buffBuilder.AppendFormat("错误:{0}\n", compileMessage.Text); } compileMsgForm.ShowMessage(buffBuilder.ToString()); compileMsgForm.Show(); } else if (!compiler.CheckRunZLogo(result)) { compileMsgForm.ShowMessage("程序没有‘开始画图’过程"); } else { compileMsgForm.Hide(); compiler.Run(result); } } }