Beispiel #1
0
        /// <summary>
        /// Standardowy konstruktor, ale duzo sie dzieje
        /// </summary>
        public TemplatesManager()
        {
            Templates = new List <Template>();
            InitializeComponent();


            variableDefs          = new varNames("default");
            TemplateParser.buffer = ""; //inicjalizacja pola kalsy statycznej
            //podwojone sprawdzenie właściwie bo MainWnd tez sprawdza
            if (MainWindow.searchForTagAppFile(MainWindow.FileNames.templatesFile))
            {
                UpdateTemplateList();
            }
        }
Beispiel #2
0
        /// <summary>
        /// Parsuje templejt do podglądu, nie pobiera jako argument tagów - na sztywno wpisuje
        /// </summary>
        /// <param name="template">schemat templejta</param>
        /// <param name="definitions">definicje zmiennych/keywordów (struktura)</param>
        /// <returns>Zparsowany templejt wypełnionymi danymi z tags</returns>
        static public string parseTemplate(string template, varNames definitions)
        {
            string afterRepl   = "";
            bool   endOfString = false;
            string tArtist     = "David Bovie";
            string tAlbum      = "Beautifull story";
            string tGuest      = "Carter";
            string tNum        = "1";
            string tTrack      = "New Life";

            string templejt = template;

            //ustawienie enumeratorów - będą chodzić po stringu
            CharEnumerator enumerator = templejt.GetEnumerator();
            CharEnumerator drugiEnum  = templejt.GetEnumerator();

            //jezeli pusty nie zaczynaj
            if (templejt.Equals(""))
            {
                return(afterRepl);
            }

            //1 krok na 1 znak
            enumerator.MoveNext();


            for (int i = 0; i < templejt.Length; i++)
            {
                while (i < templejt.Length)
                {
                    if (enumerator.Current.Equals('$'))
                    {
                        while (!(enumerator.Current.Equals(' ')))
                        {
                            //wpisano $ zliczaj dalsze znaki zeby skumac czy to keyword
                            buffer += enumerator.Current;
                            i++;
                            if (i < templejt.Length)
                            {
                                enumerator.MoveNext();
                            }
                            else
                            {
                                endOfString = true;
                                break;
                            }
                        }

                        switch (buffer)
                        {
                        case "$artist":
                            afterRepl += tArtist;
                            break;

                        case "$album":
                            afterRepl += tAlbum;
                            break;

                        case "$guest":
                            afterRepl += tGuest;
                            break;

                        case "$num":
                            afterRepl += tNum;
                            break;

                        case "$track":
                            afterRepl += tTrack;
                            break;

                        default:
                            afterRepl += buffer;

                            break;
                        }
                        i++;
                        flush();
                    }
                    else
                    {
                        afterRepl += enumerator.Current;

                        enumerator.MoveNext();
                        i++;
                    }
                }
            }

            return(afterRepl);
        }
Beispiel #3
0
        /// <summary>
        /// Parsuje templejt do podglądu, nie pobiera jako argument tagów - na sztywno wpisuje
        /// </summary>
        /// <param name="template">schemat templejta</param>
        /// <param name="definitions">definicje zmiennych/keywordów (struktura)</param>
        /// <returns>Zparsowany templejt wypełnionymi danymi z tags</returns>
        public static string parseTemplate(string template, varNames definitions)
        {
            string afterRepl = "";
            bool endOfString = false;
                    string tArtist = "David Bovie";
                    string tAlbum = "Beautifull story";
                    string tGuest = "Carter";
                    string tNum = "1";
                    string tTrack = "New Life";

                    string templejt = template;

                    //ustawienie enumeratorów - będą chodzić po stringu
                    CharEnumerator enumerator = templejt.GetEnumerator();
                    CharEnumerator drugiEnum = templejt.GetEnumerator();

                    //jezeli pusty nie zaczynaj
                    if (templejt.Equals("")) return afterRepl;

                    //1 krok na 1 znak
                    enumerator.MoveNext();

                    for (int i = 0; i < templejt.Length; i++)
                    {
                        while (i < templejt.Length)
                        {
                            if (enumerator.Current.Equals('$'))
                            {
                                while (!(enumerator.Current.Equals(' ')))
                                {
                                    //wpisano $ zliczaj dalsze znaki zeby skumac czy to keyword
                                    buffer += enumerator.Current;
                                    i++;
                                    if (i < templejt.Length)
                                    {
                                        enumerator.MoveNext();
                                    }
                                    else
                                    {
                                        endOfString = true;
                                        break;
                                    }
                                }

                                switch (buffer)
                                {
                                    case "$artist":
                                        afterRepl += tArtist;
                                        break;
                                    case "$album":
                                        afterRepl += tAlbum;
                                        break;
                                    case "$guest":
                                        afterRepl += tGuest;
                                        break;
                                    case "$num":
                                        afterRepl += tNum;
                                        break;
                                    case "$track":
                                        afterRepl += tTrack;
                                        break;
                                    default:
                                        afterRepl += buffer;

                                        break;
                                }
                                i++;
                                flush();
                            }
                            else
                            {
                                afterRepl += enumerator.Current;

                                enumerator.MoveNext();
                                i++;
                            }
                        }
                    }

            return afterRepl;
        }
Beispiel #4
0
        /// <summary>
        /// Standardowy konstruktor, ale duzo sie dzieje
        /// </summary>
        public TemplatesManager()
        {
            Templates = new List<Template>();
            InitializeComponent();

            variableDefs = new varNames("default");
            TemplateParser.buffer = ""; //inicjalizacja pola kalsy statycznej
            //podwojone sprawdzenie właściwie bo MainWnd tez sprawdza
            if (MainWindow.searchForTagAppFile(MainWindow.FileNames.templatesFile))
            {
                UpdateTemplateList();
            }
        }