protected string GetContent(string content, bool showToolBar) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("(<style [^>]+>[^<]+?</style>)", System.Text.RegularExpressions.RegexOptions.IgnoreCase); System.Text.RegularExpressions.Match i = reg.Match(content); if (i.Success) { sb.AppendLine(i.Result("$1")); } System.Text.RegularExpressions.Regex reg2 = new System.Text.RegularExpressions.Regex("<body [^>]+>([\\w\\W]*?)</body>", System.Text.RegularExpressions.RegexOptions.IgnoreCase); i = reg2.Match(content); if (i.Success) { if (this.ReportSettings.ShowToolBar) { sb.AppendLine(ReportViewer.TOOL_BAR_STRING); content = ReportViewer.TOOL_BAR_STRING + content; } sb.AppendLine(i.Result("$1")); } return(sb.ToString()); }
/// <summary> /// Extracts a general file name without the level number. /// </summary> /// <param name="fileName">File name with any level number.</param> /// <returns>Returns the number that was appended to the file name.</returns> private int ExtractGeneralFileName(string fileName) { // prepare regular expression to match a numbered file name // the mask is <underscore><1 or 2 digits><dot><anything except dot> System.Text.RegularExpressions.Regex regexp = new System.Text.RegularExpressions.Regex(@"_([0-9]{1,2})(\.[^.]*)"); // strip out the number from the file name generalFileName = regexp.Replace(fileName, "$2"); // get the file number System.Text.RegularExpressions.Match match = regexp.Match(fileName); return(int.Parse(match.Result("$1"))); }
static StackObject *Result_3(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj) { ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain; StackObject *ptr_of_this_method; StackObject *__ret = ILIntepreter.Minus(__esp, 2); ptr_of_this_method = ILIntepreter.Minus(__esp, 1); System.String @replacement = (System.String) typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack)); __intp.Free(ptr_of_this_method); ptr_of_this_method = ILIntepreter.Minus(__esp, 2); System.Text.RegularExpressions.Match instance_of_this_method = (System.Text.RegularExpressions.Match) typeof(System.Text.RegularExpressions.Match).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack)); __intp.Free(ptr_of_this_method); var result_of_this_method = instance_of_this_method.Result(@replacement); return(ILIntepreter.PushObject(__ret, __mStack, result_of_this_method)); }
public int Get_files_name(string link, string model_name) { FileTimeInfo file = GetLatestFileTimeInfo(link, ".out"); if (file != null) { string regex2 = @"^(?<fpath>([a-zA-Z]:\\)([\s\.\-\w]+\\)*)(" + model_name + @")(?<fname>\d{1,4})"; System.Text.RegularExpressions.Match fname = System.Text.RegularExpressions.Regex.Match(file.FileName, regex2); //Console.WriteLine("文件名:{0} 创建时间:{1}", fname.Result("${fname}"), file.FileCreateTime); int name_max = Convert.ToInt32(fname.Result("${fname}")); Application.DoEvents(); //MessageBox.Show(name_max.ToString()); return(name_max); } else { //MessageBox.Show("文件夹中没有指定扩展名的文件!"); return(0); } }
static int _m_Result(RealStatePtr L) { try { ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L); System.Text.RegularExpressions.Match gen_to_be_invoked = (System.Text.RegularExpressions.Match)translator.FastGetCSObj(L, 1); { string _replacement = LuaAPI.lua_tostring(L, 2); string gen_ret = gen_to_be_invoked.Result(_replacement); LuaAPI.lua_pushstring(L, gen_ret); return(1); } } catch (System.Exception gen_e) { return(LuaAPI.luaL_error(L, "c# exception:" + gen_e)); } }
/// <summary> /// step 3. /// </summary> /// <param name="result"></param> protected void Render(ReportRequest rRequest, ref ReportExecuteResult result, string findString = null) { try { AspNetCore.Report.DeviceInfos.DeviceInfo deviceInfo = this.GenerateDeviceInfo(rRequest); ReportViewer.Versions.TryGetValue(this.ReportSettings.ReportServer, out System.Version version); string format; ReportRenderType reportRenderType; switch (rRequest.RenderType) { case ReportRenderType.Html4_0: format = "Html4.0"; break; case ReportRenderType.ExcelOpenXml: if (version.Major < 11) { reportRenderType = ReportRenderType.Excel; format = reportRenderType.ToString(); } else { reportRenderType = ReportRenderType.ExcelOpenXml; format = reportRenderType.ToString(); } break; case ReportRenderType.WordOpenXml: if (version.Major < 11) { reportRenderType = ReportRenderType.Word; format = reportRenderType.ToString(); } else { reportRenderType = ReportRenderType.WordOpenXml; format = reportRenderType.ToString(); } break; default: reportRenderType = rRequest.RenderType; format = reportRenderType.ToString(); break; } string strDeviceInfo = deviceInfo.ToString(); AspNetCore.Report.ReportExecutionService.Render2Request request = new AspNetCore.Report.ReportExecutionService.Render2Request(format, strDeviceInfo, AspNetCore.Report.ReportExecutionService.PageCountMode.Actual); AspNetCore.Report.ReportExecutionService.Render2Response response = this.ReportClient.Render2Async(request).GetAwaiter().GetResult(); if (rRequest.RenderType == ReportRenderType.Html4_0 || rRequest.RenderType == ReportRenderType.Html5) { string content = System.Text.Encoding.UTF8.GetString(response.Result); System.Text.StringBuilder sb = new System.Text.StringBuilder(content); System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("(<img [^>]*? src=\"([^\"]+&rs%3AImageID=([^\"']+))\")", System.Text.RegularExpressions.RegexOptions.IgnoreCase); System.Text.RegularExpressions.Match matchs = reg.Match(content); while (matchs.Success) { string a = matchs.Result("$1"); string b = matchs.Result("$2"); string c = matchs.Result("$3"); AspNetCore.Report.ReportExecutionService.RenderStreamResponse cc = this.ReportClient.RenderStreamAsync(new AspNetCore.Report.ReportExecutionService.RenderStreamRequest(format, c, strDeviceInfo)).GetAwaiter().GetResult(); string img = $"data:{cc.MimeType};base64,{System.Convert.ToBase64String(cc.Result)}"; string aa = a.Replace(b, img); sb.Replace(a, aa); matchs = matchs.NextMatch(); } result.Contents = sb.ToString(); } result.Stream = response.Result; result.Encoding = response.Encoding; result.Extension = response.Extension; result.MimeType = response.MimeType; } catch (System.Exception ex) { throw new ReportException("Render error: " + ex.Message, ex); } }
/// <summary> /// step 1 /// </summary> protected void LoadReport(ReportRequest request, ref ReportExecuteResult result) { if (string.IsNullOrEmpty(request.Path)) { throw new ReportException("Please set ReportPath to execute."); } try { if (!string.IsNullOrEmpty(request.SessionId)) { try { if (request.Reset) { AspNetCore.Report.ReportExecutionService.ResetExecutionResponse r = this.ReportClient.ResetExecutionAsync(new AspNetCore.Report.ReportExecutionService.ResetExecutionRequest()).GetAwaiter().GetResult(); result.SessionId = r.executionInfo.ExecutionID; } this.ReportClient.ExecutionHeader.ExecutionID = request.SessionId; AspNetCore.Report.ReportExecutionService.GetExecutionInfoResponse rr = this.ReportClient.GetExecutionInfoAsync(new AspNetCore.Report.ReportExecutionService.GetExecutionInfoRequest()).GetAwaiter().GetResult(); } catch { request.SessionId = null; } } if (string.IsNullOrEmpty(request.SessionId)) { AspNetCore.Report.ReportExecutionService.LoadReportRequest request2 = new AspNetCore.Report.ReportExecutionService.LoadReportRequest(request.Path, null); AspNetCore.Report.ReportExecutionService.LoadReportResponse response = this.ReportClient.LoadReportAsync(request2).GetAwaiter().GetResult(); try { System.Text.RegularExpressions.Match match = ReportViewer.VersionRegex.Match(response.ServerInfoHeader.ReportServerVersion); if (match.Success) { ReportViewer.Versions.TryAdd(this.ReportSettings.ReportServer, System.Version.Parse(match.Result("$1"))); } } catch { } result.ParametersRequired = response.executionInfo.ParametersRequired; System.Collections.Generic.Dictionary <string, string> dict = new System.Collections.Generic.Dictionary <string, string>(response.executionInfo.Parameters.Length); if (response.executionInfo.Parameters.Length != 0) { AspNetCore.Report.ReportExecutionService.ReportParameter[] parameters = response.executionInfo.Parameters; foreach (AspNetCore.Report.ReportExecutionService.ReportParameter p in parameters) { if (p.DefaultValues != null && p.DefaultValues.Length != 0) { dict[p.Name] = System.Linq.Enumerable.SingleOrDefault(p.DefaultValues); } if (request.Parameters.ContainsKey(p.Name)) { dict[p.Name] = request.Parameters[p.Name]; } } } request.Parameters = dict; ReportExecuteResult obj3 = result; string text2 = obj3.SessionId = (request.SessionId = response.executionInfo.ExecutionID); this.SetParameters(request, result); } } catch (System.Exception ex) { throw new ReportException("LoadReport error: " + ex.Message, ex); } }