示例#1
0
        /// <summary>
        /// ºº×ÖתƴÒôËõд
        /// </summary>
        /// <param name="str">Ҫת»»µÄºº×Ö×Ö·û´®</param>
        /// <returns>Æ´ÒôËõд</returns>
        public static String GetPYString(String str)
        {
            String TempStr = "";

            foreach (char Chr in str)
            {
                if ((int)Chr >= 33 && (int)Chr <= 126)
                {
                    //×ÖĸºÍ·ûºÅÔ­Ñù±£Áô
                    TempStr += Chr.ToString();
                }
                else if ((int)Chr == 12288)
                {
                    //½«È«½Ç¿Õ¸ñת»»Îª°ë½Ç¿Õ¸ñ
                    TempStr += (char)32;
                }
                else if ((int)Chr > 65280 && (int)Chr < 65375)
                {
                    //½«È«½Ç·ûºÅת»»Îª°ë½Ç·ûºÅ
                    TempStr += (char)((int)Chr - 65248);
                }
                else
                {//ÀÛ¼ÓÆ´ÒôÉùĸ
                    TempStr += GetPYChar(Chr.ToString());
                }
            }
            return(TempStr);
        }
示例#2
0
        /// <summary>
        /// ºº×ÖתƴÒôËõд
        /// </summary>
        /// <param name="str">Ҫת»»µÄºº×Ö×Ö·û´®</param>
        /// <returns>Æ´ÒôËõд</returns>
        public static String GetPYString(String str)
        {
            String TempStr = "";

            foreach (char Chr in str)
            {
                if ((int)Chr >= 33 && (int)Chr <= 126)
                {
                    //×ÖĸºÍ·ûºÅÔ­Ñù±£Áô
                    TempStr += Chr.ToString();
                }
                else if ((int)Chr == 12288)
                {
                    //½«È«½Ç¿Õ¸ñת»»Îª°ë½Ç¿Õ¸ñ
                    TempStr += (char)32;
                }
                else if ((int)Chr > 65280 && (int)Chr < 65375)
                {
                    //½«È«½Ç·ûºÅת»»Îª°ë½Ç·ûºÅ
                    TempStr += (char)((int)Chr - 65248);
                }
                else
                {                                             //ÀÛ¼ÓÆ´ÒôÉùĸ
                    //TempStr += GetPYChar(Chr.ToString());
                    TempStr += PinYinConverter.GetFirst(Chr); // ÎÄÊéºÍÒ»Ìå»ú³ÌÐòWPF²¿·ÖʹÓÃͬһÖÖ·½·¨
                }
            }
            return(TempStr);
        }
示例#3
0
        /// <summary>
        /// 汉字转拼音缩写
        /// </summary>
        /// <param name="str">要转换的汉字字符串</param>
        /// <returns>拼音缩写</returns>
        public static String GetPYString(String str)
        {
            String TempStr = "";

            foreach (char Chr in str)
            {
                if ((int)Chr >= 33 && (int)Chr <= 126)
                {
                    //字母和符号原样保留
                    TempStr += Chr.ToString();
                }
                else if ((int)Chr == 12288)
                {
                    //将全角空格转换为半角空格
                    TempStr += (char)32;
                }
                else if ((int)Chr > 65280 && (int)Chr < 65375)
                {
                    //将全角符号转换为半角符号
                    TempStr += (char)((int)Chr - 65248);
                }
                else
                {                                             //累加拼音声母
                    TempStr += PinYinConverter.GetFirst(Chr); //GetPYChar(Chr.ToString());
                }
            }
            return(TempStr);
        }
示例#4
0
        /// <summary>
        /// 获取字符串左边所有数值字符串
        /// </summary>
        /// <param name="sourec">需要获取字符串</param>
        /// <param name="subCount">如果第一个字符不是数值则左侧截取个数</param>
        /// <returns>数值字符串</returns>
        public static string GetLeftNumString(string source, int subCount)
        {
            string Result = string.Empty;

            if (string.IsNullOrEmpty(source))
            {
                return(Result);
            }
            int Temp;

            foreach (char Chr in source)
            {
                if (int.TryParse(Chr.ToString(), out Temp))
                {
                    Result += Chr.ToString();
                }
                else
                {
                    break;
                }
            }
            if (Result.Length == 0)
            {
                if (source.Length < subCount)
                {
                    Result = source;
                }
                else
                {
                    Result = source.Substring(0, subCount);
                }
            }
            return(Result);
        }
示例#5
0
文件: Assembler.cs 项目: sbarisic/8cc
        static IEnumerable <string> ParseLine(string Line)
        {
            ParseBuilder.Length = 0;
            //Line = Line.Replace("=", " = ").Replace(";", " ; ").Replace("\r", "").Replace("\n", "");
            bool InsideQuote = false;

            const string Symbols     = "+-=;";
            const string SkipSymbols = " ,";

            char LastChr = (char)0;

            foreach (var Chr in Line)
            {
                if (!InsideQuote && SkipSymbols.Contains(Chr))
                {
                    if (ParseBuilder.Length > 0)
                    {
                        yield return(ParseBuilder.ToString());

                        ParseBuilder.Length = 0;
                    }
                }
                else if (!InsideQuote && Symbols.Contains(Chr))
                {
                    if (ParseBuilder.Length > 0)
                    {
                        yield return(ParseBuilder.ToString());

                        ParseBuilder.Length = 0;
                    }

                    yield return(Chr.ToString());
                }
                else if (Chr == '"' && LastChr != '\\')
                {
                    InsideQuote = !InsideQuote;
                }
                else if (Chr == '"' && LastChr == '\\')
                {
                    ParseBuilder.Length--;
                    ParseBuilder.Append('"');
                }
                else
                {
                    ParseBuilder.Append(Chr);
                }

                LastChr = Chr;
            }

            if (ParseBuilder.Length > 0)
            {
                yield return(ParseBuilder.ToString());
            }
        }
    public override string ToString()
    {
        string s = chrActing.ToString() + " " + skillSelected.ToString() + " - ";

        for (int i = 0; i < skillSelected.lstTargets.Count; i++)
        {
            //If we have a selection for this slot, fill it in with the description of that target,
            //   otherwise, just leave it blank
            if (i < lstSelections.Count)
            {
                s += lstSelections[i].ToString() + ", ";
            }
            else
            {
                s += "(Unselected), ";
            }
        }
        return(s);
    }
示例#7
0
        private void richTextBox1_TextChanged(object sender, EventArgs e)
        {
            if (Rev == false)
            {
                char Chr;
                int  numChr;
                bool finded = false;
                richTextBox2.Clear();

                for (int i = 0; i < (richTextBox1.Text.Length); i++)
                {
                    finded = false;

                    Chr    = richTextBox1.Text[i];
                    numChr = Chr;


                    for (int j = 0; j < 19; j++)
                    {
                        if (numChr.ToString() == tab[j, 0])
                        {
                            richTextBox2.AppendText(tab[j, 1]);
                            finded = true;
                        }
                    }

                    if (finded == false)
                    {
                        richTextBox2.AppendText(Chr.ToString());
                    }
                }
            }
            else if (Rev == true)
            {
                string temp = richTextBox1.Text;
                if (FNT != null)
                {
                    richTextBox1.Clear();
                    richTextBox1.SelectionFont = FNT;
                    richTextBox1.AppendText(temp);
                }
            }
        }
示例#8
0
        public string GenCheckDigit(string LotteryNoWithId)
        {
            StringBuilder strFinalNo   = new StringBuilder();
            string        LotteryNo    = LotteryNoWithId;// "1430AA0123456";
            int           NumericValue = 0;
            int           LotteryLen   = LotteryNo.Length;
            string        AlphaValue   = Regex.Replace(LotteryNo, @"[^A-Z]+", String.Empty);// 99

            foreach (char Chr in AlphaValue)
            {
                NumericValue = Convert.ToInt16(NumericValue.ToString() + NumericValueForAlphabet(Chr.ToString()).ToString());
            }
            if (NumericValue > 0)
            {
                LotteryNo = LotteryNo.Replace(AlphaValue, NumericValue.ToString());//1430990123456
            }
            string WeightNo  = "9731";
            Int16  WeightCnt = Convert.ToInt16((LotteryNo.Length / WeightNo.Length) + 1);

            for (int iCnt = 0; iCnt < WeightCnt; iCnt++)
            {
                WeightNo = WeightNo + WeightNo;
            }
            WeightNo = WeightNo.Substring(0, LotteryNo.Length);//9731973197319

            int[] FnLNo = new int[WeightNo.Length];
            for (int i = 0; i < WeightNo.Length; i++)
            {
                FnLNo[i] = Convert.ToInt16(WeightNo[i].ToString()) * Convert.ToInt16(LotteryNo[i].ToString());
            }
            //FnLNo[i]==9 , 28, 9, 0, 81, 63, 0,1,18,21,12,5,54
            for (int i = 0; i < FnLNo.Length; i++)
            {
                int MultiplyWeight = 0;
                for (int j = 0; j < FnLNo[i].ToString().Length; j++)
                {
                    MultiplyWeight = MultiplyWeight + Convert.ToInt16(FnLNo[i].ToString()[j].ToString());
                }
                FnLNo[i] = MultiplyWeight;
            }
            //FnLNo[i]==9 , 10, 9, 0, 9, 9, 0,1,9,3,3,5,9
            int sumOfWeight = 0;

            for (int i = 0; i < FnLNo.Length; i++)
            {
                sumOfWeight = Convert.ToInt16(sumOfWeight) + Convert.ToInt16(FnLNo[i]);
            }
            //sumOfWeight==76
            int RemainderOfDigit   = sumOfWeight % LotteryNo.Length; //11
            int remaningCheckDigit = LotteryNo.Length - RemainderOfDigit;

            return(remaningCheckDigit.ToString());
        }
示例#9
0
        /*bool IsMonospace(Graphics Gfx, Font F) {
         *      return Gfx.MeasureString("iiiii", F).Width == Gfx.MeasureString("MMMMM", F).Width;
         * }*/

        public bool Update()
        {
            if (!Dirty)
            {
                return(false);
            }
            Dirty = false;

            Bitmap Bmp = new Bitmap(1, 1);

            using (Graphics Gfx = Graphics.FromImage(Bmp)) {
                RectPack = new RectanglePack();

                //bool Monospace = IsMonospace(Gfx, DrawingFont);
                SizeF Sz = Gfx.MeasureString("X", DrawingFont);

                foreach (var Chr in Characters)
                {
                    if (char.IsWhiteSpace(Chr))
                    {
                        Sz = Gfx.MeasureString("_", DrawingFont);
                    }
                    else
                    {
                        Sz = Gfx.MeasureString(Chr.ToString(), DrawingFont);
                    }

                    RectPack.Add(Chr, new NVector2(Sz.Width + HalfPadding * 2, Sz.Height + HalfPadding * 2));
                }

                CharLocations = RectPack.Pack();
            }

            Bmp = new Bitmap((int)RectPack.Size.X, (int)RectPack.Size.Y);
            using (Graphics Gfx = Graphics.FromImage(Bmp)) {
                Gfx.SmoothingMode     = SmoothingMode.HighQuality;
                Gfx.InterpolationMode = InterpolationMode.HighQualityBicubic;
                Gfx.PixelOffsetMode   = PixelOffsetMode.HighQuality;
                Gfx.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
                Gfx.Clear(Color.Transparent);
                //Gfx.Clear(Color.Black);

                Random Rnd = new Random(42);

                foreach (var Chr in Characters)
                {
                    Rect R = CharLocations[Chr];

                    // TODO: Convar to colorize

                    /*Gfx.FillRectangle(new SolidBrush(Color.FromArgb(Rnd.Next(256), Rnd.Next(256), Rnd.Next(256))),
                     *      new Rectangle((int)R.X, (int)R.Y, (int)R.W, (int)R.H));*/

                    Gfx.DrawString(Chr.ToString(), DrawingFont, new SolidBrush(Color.FromArgb(255, 255, 255, 255)),
                                   R.X + HalfPadding, R.Y + HalfPadding);
                }
            }

            // TODO: Make a convar to control dumping the atlas
            FilePath.EnsureDirExists("debug");
            Bmp.Save("debug\\atlas.png");
            FontAtlas.LoadDataFromBitmap(Bmp);
            return(true);
        }
示例#10
0
        private void richTextBox2_TextChanged(object sender, EventArgs e)
        {
            if (Rev == true)
            {
                char   Chr;
                string catchedChr = "";
                int    numChr;
                bool   finded   = false;
                int    jump     = 0;
                string checkStr = "";


                if (FNT != null)
                {
                    richTextBox2.SelectionFont = FNT;
                }

                richTextBox1.Clear();


                for (int i = 0; i < (richTextBox2.Text.Length); i++)
                {
                    finded = false;

                    Chr    = richTextBox2.Text[i];
                    numChr = Chr;

                    if (richTextBox2.Text[i] == '$')
                    {
                        try
                        {
                            checkStr = richTextBox2.Text[i].ToString() + richTextBox2.Text[i + 1].ToString() + richTextBox2.Text[i + 2].ToString();
                        }
                        catch (System.IndexOutOfRangeException a)
                        {
                            System.Console.WriteLine(a.Message);
                        }

                        for (int j = 0; j < 19; j++)
                        {
                            if (checkStr == tab[j, 1])
                            {
                                finded     = true;
                                catchedChr = tab[j, 0];
                                jump       = 3;
                            }
                        }
                    }


                    if (richTextBox2.Text[i] == '$')
                    {
                        try
                        {
                            checkStr = richTextBox2.Text[i].ToString() + richTextBox2.Text[i + 1].ToString() + richTextBox2.Text[i + 2].ToString() + richTextBox2.Text[i + 3].ToString();
                        }
                        catch (System.IndexOutOfRangeException a)
                        {
                            System.Console.WriteLine(a.Message);
                        }

                        if (checkStr == tab[18, 1])
                        {
                            finded     = true;
                            catchedChr = tab[18, 0];
                            jump       = 4;
                        }
                    }


                    if ((finded == false) && (jump == 0))
                    {
                        richTextBox1.AppendText(Chr.ToString());
                    }

                    if (jump != 0)
                    {
                        jump--;
                    }

                    if (finded == true)
                    {
                        richTextBox1.AppendText(((char)Int32.Parse(catchedChr)).ToString());
                    }
                }
            }
            else if (Rev == false)
            {
                if (FNT != null)
                {
                    richTextBox2.SelectionFont = FNT;
                }
            }
        }