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());
 }
Exemplo n.º 2
0
        /// <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")));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
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);
     }
 }