You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							193 lines
						
					
					
						
							5.4 KiB
						
					
					
				
			
		
		
	
	
							193 lines
						
					
					
						
							5.4 KiB
						
					
					
				using System; | 
						|
using System.Drawing; | 
						|
using System.Globalization; | 
						|
using System.IO; | 
						|
using System.Text; | 
						|
 | 
						|
namespace KGIS.Plugin.LayerProperty.Utils | 
						|
{ | 
						|
    public class ConvertUtil | 
						|
    { | 
						|
        private static UnicodeEncoding ue; | 
						|
        static ConvertUtil() | 
						|
        { | 
						|
            ConvertUtil.ue = new UnicodeEncoding(); | 
						|
        } | 
						|
        public static int ChangeToInt(bool blnValue) | 
						|
        { | 
						|
            if (blnValue) | 
						|
            { | 
						|
                return 1; | 
						|
            } | 
						|
            return 0; | 
						|
        } | 
						|
        public static bool ChangeToBool(int pValue) | 
						|
        { | 
						|
            return pValue >= 1; | 
						|
        } | 
						|
        public static string Quote(string str) | 
						|
        { | 
						|
            return "'" + str + "'"; | 
						|
        } | 
						|
        public static byte[] ConvertStringToByteArray(string s) | 
						|
        { | 
						|
            return ConvertUtil.ue.GetBytes(s); | 
						|
        } | 
						|
        public static string Encode(string s) | 
						|
        { | 
						|
            byte[] array = ConvertUtil.ConvertStringToByteArray(s); | 
						|
            return Convert.ToBase64String(array, 0, array.Length); | 
						|
        } | 
						|
        public static string Decode(string s) | 
						|
        { | 
						|
            byte[] bytes = Convert.FromBase64String(s); | 
						|
            return ConvertUtil.ue.GetString(bytes); | 
						|
        } | 
						|
        public static void OutputByteArray(ref byte[] b) | 
						|
        { | 
						|
            for (int i = 0; i < b.Length; i++) | 
						|
            { | 
						|
                Console.Write((int)b[i]); | 
						|
                Console.Write(","); | 
						|
            } | 
						|
        } | 
						|
        public static byte[] ReadByteArrayFromFile(string filePath) | 
						|
        { | 
						|
            if (!File.Exists(filePath)) | 
						|
            { | 
						|
                return new byte[0]; | 
						|
            } | 
						|
            FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); | 
						|
            BinaryReader binaryReader = new BinaryReader(fileStream); | 
						|
            byte[] result = binaryReader.ReadBytes((int)fileStream.Length); | 
						|
            binaryReader.Close(); | 
						|
            fileStream.Close(); | 
						|
            return result; | 
						|
        } | 
						|
        public static object ReadObjectFromFile(string filePath) | 
						|
        { | 
						|
            if (!File.Exists(filePath)) | 
						|
            { | 
						|
                return new object(); | 
						|
            } | 
						|
            FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); | 
						|
            BinaryReader binaryReader = new BinaryReader(fileStream); | 
						|
            object result = binaryReader.ReadBytes((int)fileStream.Length); | 
						|
            binaryReader.Close(); | 
						|
            fileStream.Close(); | 
						|
            return result; | 
						|
        } | 
						|
        public static double Squre(double input) | 
						|
        { | 
						|
            return input * input; | 
						|
        } | 
						|
        public static NumberFormatInfo GetNumFormatInfo(int bits) | 
						|
        { | 
						|
            NumberFormatInfo numberFormat = new CultureInfo("en-US", false).NumberFormat; | 
						|
            numberFormat.NumberDecimalDigits = bits; | 
						|
            numberFormat.CurrencyGroupSeparator = ""; | 
						|
            numberFormat.NumberGroupSeparator = ""; | 
						|
            return numberFormat; | 
						|
        } | 
						|
        public static int GetStringDBLength(string s) | 
						|
        { | 
						|
            if (s == null) | 
						|
            { | 
						|
                return 0; | 
						|
            } | 
						|
            if (s.Length == 0) | 
						|
            { | 
						|
                return 0; | 
						|
            } | 
						|
            byte[] bytes = ConvertUtil.ue.GetBytes(s); | 
						|
            int num = 0; | 
						|
            for (int i = 1; i < bytes.Length; i += 2) | 
						|
            { | 
						|
                if (bytes[i] == 0) | 
						|
                { | 
						|
                    num++; | 
						|
                } | 
						|
                else | 
						|
                { | 
						|
                    num += 2; | 
						|
                } | 
						|
            } | 
						|
            return num; | 
						|
        } | 
						|
        public static string CutString2DBLength(string s, int len) | 
						|
        { | 
						|
            if (s == null) | 
						|
            { | 
						|
                return null; | 
						|
            } | 
						|
            if (len <= 0) | 
						|
            { | 
						|
                return ""; | 
						|
            } | 
						|
            if (s.Length == 0) | 
						|
            { | 
						|
                return ""; | 
						|
            } | 
						|
            byte[] bytes = ConvertUtil.ue.GetBytes(s); | 
						|
            int num = 0; | 
						|
            int i; | 
						|
            for (i = 1; i < bytes.Length; i += 2) | 
						|
            { | 
						|
                if (bytes[i] == 0) | 
						|
                { | 
						|
                    num++; | 
						|
                } | 
						|
                else | 
						|
                { | 
						|
                    num += 2; | 
						|
                } | 
						|
                if (num >= len) | 
						|
                { | 
						|
                    break; | 
						|
                } | 
						|
            } | 
						|
            if (num > len) | 
						|
            { | 
						|
                i -= 2; | 
						|
            } | 
						|
            if (i <= 0) | 
						|
            { | 
						|
                return ""; | 
						|
            } | 
						|
            if (len >= num) | 
						|
            { | 
						|
                return s; | 
						|
            } | 
						|
            return ConvertUtil.ue.GetString(bytes, 0, i + 1); | 
						|
        } | 
						|
        public static string RemoveStringByMark(string s, string mark) | 
						|
        { | 
						|
            int num = s.LastIndexOf(mark); | 
						|
            if (num < 0) | 
						|
            { | 
						|
                return s; | 
						|
            } | 
						|
            return s.Substring(num + 1); | 
						|
        } | 
						|
        public static string SetDecimalPrecision(string s, int bits) | 
						|
        { | 
						|
            int num = s.IndexOf("."); | 
						|
            if (num < 0) | 
						|
            { | 
						|
                return s; | 
						|
            } | 
						|
            return Math.Round(Convert.ToDouble(s), bits).ToString(); | 
						|
        } | 
						|
        public static Image ByteToImage(byte[] blob) | 
						|
        { | 
						|
            if (blob != null) | 
						|
            { | 
						|
                MemoryStream memoryStream = new MemoryStream(blob); | 
						|
                Image result = Image.FromStream(memoryStream, true); | 
						|
                memoryStream.Close(); | 
						|
                return result; | 
						|
            } | 
						|
            return null; | 
						|
        } | 
						|
    } | 
						|
}
 | 
						|
 |