Esempio n. 1
0
        private void CustomEvulator1()
        {
            TextEvulator evulator = new TextEvulator("[custom]Custom Content[/custom]");

            evulator.EvulatorTypes["custom"] = typeof(CustomEvulator);
            //.....
        }
Esempio n. 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();
        }
Esempio n. 3
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);
        }
Esempio n. 4
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);
        }
Esempio n. 5
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();
        }
Esempio n. 6
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();
        }
Esempio n. 7
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);
        }
Esempio n. 8
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ı);
        }
        public BBCodeEvulator()
        {
            //Case insensivite
            this.BBCodes = new Dictionary <string, BBCodeInfo>(StringComparer.OrdinalIgnoreCase);
            evulator     = new TextEvulator();
            //Clear default evulator options
            evulator.ClearAllInfos();
            //Set evulator custom data.
            evulator.CustomDataSingle = this;

            //Disable lastslash character(e.g [TEST /])
            //evulator.TagInfos["*"].Flags = TextElementFlags.TEF_DisableLastSlash;
            evulator.TagInfos.Default.Flags    = TextElementFlags.TEF_DisableLastSlash;
            evulator.EvulatorTypes.GeneralType = typeof(BBCodeGeneralEvulator);
            evulator.LeftTag       = '[';
            evulator.RightTag      = ']';
            evulator.SurpressError = true;
            evulator.AllowCharMap  = true;
            this.PreDefinitions    = new Dictionary <string, object>();
        }
Esempio n. 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);
        }
Esempio n. 11
0
        public BBCodeEvulator()
        {
            //Dictionary aramasında büyük küçük duyarsız olacak.
            this.BBCodes = new Dictionary <string, BBCodeInfo>(StringComparer.OrdinalIgnoreCase);
            evulator     = new TextEvulator();
            //Mevcut evulatör tipleri ve tag ayarlamaları silindi.
            evulator.EvulatorTypes.Clear();
            evulator.EvulatorTypes.Param = null;
            evulator.TagInfos.Clear();
            //Mevcut sınıfımız evulator ile birlikte gönderildi.
            evulator.CustomDataSingle = this;

            //Tüm tag açılışda doğrudan kapatma eylemi devredışı bırakıldı e.g [TEST /] gibi.
            evulator.TagInfos["*"].Flags       = TextElementFlags.TEF_DisableLastSlash;
            evulator.EvulatorTypes.GeneralType = typeof(BBCodeGeneralEvulator);
            evulator.LeftTag       = '[';
            evulator.RightTag      = ']';
            evulator.SurpressError = true;
            evulator.AllowCharMap  = true;
        }
Esempio n. 12
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();
        }
Esempio n. 13
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);
        }
Esempio n. 14
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.
        }
Esempio n. 15
0
 public void SetEvulator(TextEvulator evulator)
 {
     this.Evulator = evulator;
 }