Пример #1
0
        /// <summary>
        /// Convert bbcode to definitons.
        /// </summary>
        /// <param name="bbcodetext">BBCode to convert.</param>
        /// <returns></returns>
        public string EvulateBBCode(string bbcodetext)
        {
            evulator.Text = bbcodetext;
            evulator.ClearElements();
            evulator.Parse();
            var result = evulator.Elements.EvulateValue();

            return(result?.TextContent);
        }
Пример #2
0
        private void TextEngineTest6()
        {
            var te = new TextEvulator("[SET name='numeric' value='5'][B]Deneme: [%numeric][/B][SET name='numeric' value='55']DenemeTest: [%numeric][if numeric==55]Değer 55[/if]");

            te          = new TextEvulator("[if numeric==55]Değer 55[/if]");
            te.LeftTag  = '[';
            te.RightTag = ']';
            te.Parse();
            var r = te.Elements.EvulateValue();
        }
Пример #3
0
        static void Main(string[] args)
        {
            TextEvulator textEvulator = new TextEvulator("[BGCOLOR=WHITE][COLOR=RED]Kırmızı[/COLOR] [COLOR=BLUE]Mavi[/COLOR][/BGCOLOR]   " +
                                                         "[BGCOLOR=green][COLOR=white]arka plan yeşil, yazı beyaz[/COLOR][/BGCOLOR]");

            textEvulator.LeftTag  = '[';
            textEvulator.RightTag = ']';

            //Diğer varsayılan evulatörlerin işlevlerini ve ayarlamalarını temizliyoruz.
            textEvulator.TagInfos.Clear();
            textEvulator.EvulatorTypes.Clear();
            //color tagının evulatörünü atadık.
            //COLOR taglarını yakalar.
            textEvulator.EvulatorTypes["color"] = typeof(ColorEvulator);
            //BGCOLOR taglarını yakalar.
            textEvulator.EvulatorTypes["bgcolor"] = typeof(BGColorEvulator);
            //Tag içerisindeki metinleri yakalar.
            textEvulator.EvulatorTypes.Text = typeof(ConsoleTextEvulator);
            //Girilen metni ayrıştırdık.
            textEvulator.Parse();
            //Evulate işlemini başlattık.
            textEvulator.Elements.EvulateValue();


            //Alt satır ekledik.
            Console.WriteLine();
            //Tüm elemanları temizledik.
            textEvulator.Elements.SubElements.Clear();
            //Metni değiştirdik.
            textEvulator.Text = "[COLOR=RED]Cyber[/COLOR]-[COLOR=GREEN]Warrior[/COLOR]";
            //Tekrar parse işlemini başlattık.
            textEvulator.Parse();
            //Evulate işlemini başlattık.
            textEvulator.Elements.EvulateValue();


            //Konsolun kapanmasını engelledik.
            Console.Read();
        }
Пример #4
0
        private void TextEngineTest7()
        {
            TextEvulator evulator = new TextEvulator();

            evulator.Text = "{set name='boolvalue' value='true'}{%(boolvalue) ? 'Değer True' : 'Değer False'}\r\n" +
                            "{unset name='boolvalue'}{%(boolvalue) ? 'Değer True' : 'Değer False'}";
            //Parametrelerin attirbute alamayacağınıbelirttik aksi halde yukarı kod syntax hatası verecektir.
            evulator.ParamNoAttrib = true;
            evulator.Parse();
            var result = evulator.Elements.EvulateValue();

            MessageBox.Show(result.TextContent);
        }
Пример #5
0
        private void TextEngineTest5()
        {
            TextEvulator evulator = new TextEvulator("[FOR var='i' start='1' to='5' step='1']mevcut döngü [%i]\r\n[/for]");

            evulator.LeftTag  = '[';
            evulator.RightTag = ']';
            evulator.Parse();
            //Kapatılan tag açılmamışsa hata vermeyecek.
            evulator.ThrowExceptionIFPrevIsNull = false;
            string result = evulator.Elements.EvulateValue().TextContent;

            MessageBox.Show(result);
        }
Пример #6
0
        private void TextEngineTest2()
        {
            TextEvulator evulator = new TextEvulator("metin.txt", true);

            evulator.Parse();
            Dictionary <string, object> dict = new Dictionary <string, object>();

            dict["isim"] = 5;
            //Desteklenen sınıflar
            //IDictionary<string, object>, KeyValueGrup veye KeyValues<object> veya Doğrudan sınıflar belirtilebilir.

            evulator.GloblaParameters = dict;
            var result = evulator.Elements.EvulateValue();
        }
Пример #7
0
        private void TextEngineTest1()
        {
            TextEvulator evulator = new TextEvulator();

            evulator.Text = "{set name='vars' value='isim + 5'}{if vars==10}Değerler: İsim {%isim}, vars: {%vars}{/if}";
            evulator.Parse();
            Dictionary <string, object> dict = new Dictionary <string, object>();

            dict["isim"] = 5;
            //Desteklenen sınıflar
            //IDictionary<string, object>, KeyValueGrup veye KeyValues<object> veya Doğrudan sınıflar belirtilebilir.
            evulator.GloblaParameters = dict;
            var result = evulator.Elements.EvulateValue();
        }
Пример #8
0
        private void TextEngineTest4()
        {
            TextEvulator evulator = new TextEvulator("[B]Bold[/B][I]Italic[/I][URL=www.cyber-warrior.org]CW[/URL]");

            evulator.LeftTag  = '[';
            evulator.RightTag = ']';
            evulator.Parse();
            evulator.EvulatorTypes["b"]   = typeof(IBEvulator);
            evulator.EvulatorTypes["i"]   = typeof(IBEvulator);
            evulator.EvulatorTypes["url"] = typeof(UrlEvulator);
            //Kapatılan tag açılmamışsa hata vermeyecek.
            evulator.ThrowExceptionIFPrevIsNull = false;
            string result = evulator.Elements.EvulateValue().TextContent;

            MessageBox.Show(result);
        }
Пример #9
0
        private void TextEngineTest3()
        {
            TextEvulator evulator = new TextEvulator("{cw}" +
                                                     "{Üyeler}{Üye boşiçerik}{Üye name='macmillan' /} {Üye name='ar-ge'/}{TestTag name='test'/}{/Üyeler}" +
                                                     "{/cw}");

            evulator.Parse();
            //Tüm elemanların Üye tagında name özelliği varolan elemanlarını getir.
            var    üyeler        = evulator.Elements.FindByXPath("//Üye[@name]");
            string üyelerçıktısı = "";

            foreach (var üye in üyeler)
            {
                //true ayarlandığı zaman çıktı biçimine göre ayarlar(tab ve satırları)
                üyelerçıktısı += üye.Outer(true) + "\r\n";
            }
            MessageBox.Show(üyelerçıktısı);
        }
Пример #10
0
        private void Form1_Load(object sender, EventArgs e)
        {
            //TextEngineTest6();
            TextEvulator evulator = new TextEvulator();

            evulator.Text = "{tag}içerik: <b>{%'Mesaj: ' + mesaj + ', Uzunluk: ' + strlen_cw(mesaj) + ':'}</b>{/tag}";
            evulator.Text = "<cw><uyeler><uye name='macmillan'>Üye</uye><uye name='xuye'>XÜye</uye><uye attr='kestane'>YÜye</uye></uyeler></cw>";

            //Parametrelerin attirbute alamayacağınıbelirttik aksi halde yukarı kod syntax hatası verecektir.
            evulator.GloblaParameters = new CustomClass();
            evulator.ParamNoAttrib    = true;
            evulator.LeftTag          = '<';
            evulator.RightTag         = '>';
            evulator.Parse();
            //var items = evulator.Elements.FindByXPath("(cw/uyeler/uye)[@name]");
            var items  = evulator.Elements.FindByXPath("cw/uyeler/uye[@name='xuye' or @name='macmillan'][1]");
            var result = evulator.Elements.EvulateValue();

            MessageBox.Show(result.TextContent);
        }
Пример #11
0
        /// <summary>
        /// Çizimi için gerekli evulator bu fonksiyon aracılığı ile oluşturulur.
        /// </summary>
        /// <param name="text">Ayrıştırılacak metin</param>
        /// <returns>TextEvaultor sınıfında dönüş yapar.</returns>
        private static TextEvulator GetEvulator(string text)
        {
            TextEvulator evulator = new TextEvulator(text);

            //Mevcut evulator tipi ve tag ayarlamalarını temizliyoruz.
            evulator.EvulatorTypes.Clear();
            evulator.TagInfos.Clear();

            //Sağ ve Sol tagları ayarlıyoruz.
            evulator.LeftTag  = '[';
            evulator.RightTag = ']';

            //Hangi tag ve işlem için hangi evulatörlerin tetikleneceğini belirtiyoruz.
            evulator.EvulatorTypes.Text     = typeof(DrawingEvulator);
            evulator.EvulatorTypes["b"]     = typeof(BIUSEvulator);
            evulator.EvulatorTypes["i"]     = typeof(BIUSEvulator);
            evulator.EvulatorTypes["u"]     = typeof(BIUSEvulator);
            evulator.EvulatorTypes["s"]     = typeof(BIUSEvulator);
            evulator.EvulatorTypes["color"] = typeof(ColorEvulator);
            //Metni ayrıştırıyoruz.
            evulator.Parse();
            return(evulator);
        }
Пример #12
0
        private void AçiklamaSatiri()
        {
            TextEvulator evulator = new TextEvulator();

            evulator.Text       = "Ayrıştırılacak Metin";
            evulator.ParamChar  = '%';       //Parametre karakteri {%variant} olarak kullanılır.
            evulator.LeftTag    = '{';       //{tag} içerisindeki sol kısım
            evulator.RightTag   = '}';       //{tag} içersinideki {tag} sağ kısım.
            evulator.NoParseTag = "NOPARSE"; //{NOPARSE}{/NOPARSE} içerisindeki kodlar ayrıştırılmaz.
            evulator.ApplyXMLSettings();     //XML Ayrıştırıcı olarak kullanacaksınız bu fonksiyonu çağırın öncelikle
            evulator.DecodeAmpCode = true;   //&nbsp; gibi komutları çevirir.
            evulator.ParamNoAttrib = true;   //Parametlerin attribute kullanıp kullanamayacağını belirler.
            //Örneğin false ayarlanırsa {%i+5} şeklinde kullanamazsınız fakat true olarak ayarlandığında {%i + 5 *2} gibi
            //kullanabilirsiniz.
            evulator.GloblaParameters = new object(); //Evulate işlemi sırasındaki değişkenler bu değişken aracılığı il
            //Aşağıdaki şekillerdek ullanabilirsiniz
            var test = new
            {
                name  = "Deneme",
                value = 1000
            };

            evulator.GloblaParameters = test;
            IDictionary <string, object> dict = new Dictionary <string, object>();

            evulator.GloblaParameters = dict;
            KeyValues <object> kv = new KeyValues <object>();

            evulator.GloblaParameters = kv;
            evulator.GloblaParameters = new CustomClass();
            evulator.AutoClosedTags.Add("test");   //ismi yazılan taglar otomatik kapatılır
            evulator.Aliasses.Add("bb", "strong"); //bb kodu aynı zamanda strong olarakta kullanılabilir.
            evulator.Parse();                      //Ayrıştırma işlemi yapılır
            var elems = evulator.Elements;         //Ayrıştırılan elemanlar bu sınıfta tutulur.

            elems.EvulateValue();                  //ELeman içeriğini verilen parametrelere göre değerlendirip sonucunu döner.
        }