⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 helper.cs

📁 一个超强的在线WORD汉化版ASP程序5...
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Web;
using System.IO;
using System.Drawing;
using System.Collections;
using System.Text.RegularExpressions;
using Lion.Data.Library.HtmlEditor.Core;
namespace Lion.Data.Library.HtmlEditor
{
	/// <summary>
	/// Helper 的摘要说明。
	/// </summary>
	internal class Helper
	{
		/// <summary>
		/// 得到Button样式的 XmlNode 节点
		/// </summary>
		/// <param name="code"> Name </param>
		/// <returns></returns>
		public static System.Xml.XmlNode GetButtonNode(string code)
		{			
			/*
			System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
			doc.LoadXml(GetHtml("/Button.xml").ToString());
			if(doc.SelectSingleNode("/Root/Button/B_Code[text()='"+ code +"']")==null)
				return null;
			return doc.SelectSingleNode("/Root/Button/B_Code[text()='"+ code +"']").ParentNode;	
			*/		
			//当前请求的HTTP特定信息
			HttpContext context = Context;
			string Argument = Context.Request.QueryString["configfile"];
			System.Collections.Hashtable hs = (Hashtable)context.Application[Argument];
			System.Xml.XmlDocument doc = (System.Xml.XmlDocument)hs["Button"];
			if(doc.SelectSingleNode("/Root/Button/B_Code[text()='"+ code +"']")==null)
				return null;
			return doc.SelectSingleNode("/Root/Button/B_Code[text()='"+ code +"']").ParentNode;	
		}

		
		/// <summary>
		/// 得到Style样式的 XmlNode 节点
		/// </summary>
		/// <param name="name"> Name </param>
		/// <param name="context">请求的HTTP特定信息</param>
		/// <returns></returns>
		public static System.Xml.XmlNode GetStyleNode(string name)
		{
			/*
			System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
			doc.LoadXml(GetHtml("/Style.xml").ToString());
			if(doc.SelectSingleNode("/Root/Style/S_Name[text()='"+ name +"']")==null)
				return null;
			return doc.SelectSingleNode("/Root/Style/S_Name[text()='"+ name +"']").ParentNode;	
			*/		
			HttpContext context = Context;
			string Argument = Context.Request.QueryString["configfile"];			
			System.Collections.Hashtable hs = (Hashtable)context.Application[Argument];
			System.Xml.XmlDocument doc = (System.Xml.XmlDocument)hs["Style"];
			if(doc.SelectSingleNode("/Root/Style/S_Name[text()='"+ name +"']")==null)
				return null;
			return doc.SelectSingleNode("/Root/Style/S_Name[text()='"+ name +"']").ParentNode;	
		}

		/// <summary>
		/// 得到ToolBar样式的 XmlNode 节点列表
		/// </summary>
		/// <param name="s_name">s_name</param>
		/// <returns></returns>
		static public System.Xml.XmlNodeList GetToolBarNodeList(string s_name)
		{	
			/*
			System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
			doc.LoadXml(GetHtml("/ToolBar.xml").ToString());
			System.Xml.XmlNodeList nodelist = doc.SelectNodes("/Root/ToolBar/S_ID[text()='"+ s_name.ToString() +"']");
			return nodelist;
			*/
			//当前请求的HTTP特定信息
			HttpContext context = Context;
			string Argument = Context.Request.QueryString["configfile"];
			System.Collections.Hashtable hs = (Hashtable)context.Application[Argument];
			System.Xml.XmlDocument doc = (System.Xml.XmlDocument)hs["ToolBar"];
			System.Xml.XmlNodeList nodelist = doc.SelectNodes("/Root/ToolBar/S_Name[text()='"+ s_name.ToString() +"']");
			return nodelist;
		}

		/// <summary>
		/// 得到html文件内容
		/// </summary>
		/// <param name="filename">文件名</param>
		/// <returns></returns>
		static public System.Text.StringBuilder GetHtml(string filename)
		{
			byte[] res = Resx.LoadFile(filename);
			if(res==null)
				throw new ArgumentNullException("filename","isn`t find "+filename);
			else if(res.Length==0)
				throw new ArgumentNullException("filename","isn`t find "+filename);
			return new System.Text.StringBuilder(System.Text.Encoding.Default.GetString(res));			
		}

		/// <summary>
		/// 得到Script文件内容
		/// </summary>
		/// <param name="filename">文件名</param>
		/// <returns></returns>
		static public System.Text.StringBuilder GetScript(string filename)
		{
			byte[] res = Resx.LoadFile(filename);
			if(res==null)
				throw new ArgumentNullException("filename","isn`t find "+filename);
			else if(res.Length==0)
				throw new ArgumentNullException("filename","isn`t find "+filename);
			return new System.Text.StringBuilder(System.Text.Encoding.UTF8.GetString(res));			
		}

		/// <summary>
		/// 得到Image文件内容
		/// </summary>
		/// <param name="filename">文件名</param>
		/// <returns></returns>
		static public Image GetImage(string filename)
		{
			byte[] res = Resx.LoadFile(filename);
			if(res==null)
				throw new ArgumentNullException("filename","isn`t find "+filename);
			else if(res.Length==0)
				throw new ArgumentNullException("filename","isn`t find "+filename);
			Image img  = Image.FromStream(new System.IO.MemoryStream(res));
			return img;		
		}

		/// <summary>
		/// 检测含有中文字符串的实际长度
		/// </summary>
		/// <param name="str">要检测的字符串</param>
		/// <returns>返回结果长度</returns>
		public static int GetStringLength(string str)
		{
			int l=0;
			byte[] b = System.Text.ASCIIEncoding.ASCII.GetBytes(str);
			for(int i=0;i<b.Length;i++)
			{
				if(b[i]==63)
				{
					l++;
				}
				l++;
			}
			return l;
		}

		static string __version;
		/// <summary>
		/// 版本号
		/// </summary>
		static public string Version
		{
			get
			{
				if(__version==null)
					__version=typeof(Helper).Assembly.GetName().Version.Major.ToString();
				return __version;
			}
		}

		/// <summary>
		/// 获得随机
		/// </summary>
		/// <param name="Length"></param>
		/// <returns></returns>
		public static int GetRandomNext(int Length)
		{
			if(Length>9)
				throw new ArgumentNullException("Length","Length的长度不能大于10");
			Guid gu = Guid.NewGuid();
			string str = "";
			for(int i=0;i<gu.ToString().Length;i++)
			{
				if(isNumber(gu.ToString()[i]))
					str +=((gu.ToString()[i]));
			}
			int guid = int.Parse(str.Replace("-","").Substring(0,Length));
			if(guid.ToString().Length!=Length)
				guid = GetRandomNext(Length);
			return guid;
		}

		/// <summary>
		/// 返回一个 bool 值,指明提供的值是不是整数
		/// </summary>
		/// <param name="obj">要判断的值</param>
		/// <returns>true[是整数]false[不是整数]</returns>
		public static bool isNumber(object obj)
		{
			System.Text.RegularExpressions.Regex rg = new System.Text.RegularExpressions.Regex(@"^-?(\d*)$");
			System.Text.RegularExpressions.Match mc = rg.Match(obj.ToString());
			return(mc.Success);
		}

		static bool resinited=false;

		internal static void InitResources()
		{
			if(resinited==false)
			{
				if(resinited==false)
				{
					string dir=Context.Server.MapPath(ResolvePath("/"));
					string flp=Path.Combine(dir,"web.config");
					byte[] bs=Resx.LoadFile("/web.config");
					if(!IsFileExists(flp,bs))
					{
						if(!Directory.Exists(dir))Directory.CreateDirectory(dir);
						using(FileStream fs=new FileStream(flp,FileMode.Create,FileAccess.Write))
						{
							fs.Write(bs,0,bs.Length);
						}
					}
				
				}
				resinited=true;				
			}			
		}

		internal static void InitConfigFile(string filename,string path)
		{
			string dir=Context.Server.MapPath(path);
			string flp=Path.Combine(dir,filename);
			byte[] bs=Resx.LoadFile(filename.StartsWith("/")?filename:"/"+filename);
			
			if(!File.Exists(flp))
			{
				if(!Directory.Exists(dir))Directory.CreateDirectory(dir);
				using(FileStream fs=new FileStream(flp,FileMode.Create,FileAccess.Write))
				{
					fs.Write(bs,0,bs.Length);
				}
			}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -