Exemplo n.º 1
0
        //funkcja rozdzielenia napisów na podstawie tablicy ASCI
        // rozdziela je na trzy czenści:
        // -małe litery alfabetu do pierwszego znaku spoza tego ciongu
        // -znaki niebendonce malymi literami alfabetu, aż do pierwszego wystompienia takiego znaku w ciongu
        // -cała reszta
        static KontenerNapisy RozdzielNapisy(String input)
        {
            KontenerNapisy ob    = new KontenerNapisy();
            int            napis = 0;

            for (int i = 0; i < input.Length; i++)
            {
                if (napis != 1)
                {
                    if (!((int)input[i] > 96 && (int)input[i] < 123))
                    {
                        napis++;
                    }
                }
                else
                {
                    if (((int)input[i] > 96 && (int)input[i] < 123))
                    {
                        napis++;
                    }
                }


                switch (napis)
                {
                case 0:
                    ob.lewyNapis = ob.lewyNapis + input[i];
                    break;

                case 1:
                    ob.instrukcja = ob.instrukcja + input[i];
                    break;

                default:
                    ob.prawyNapis = ob.prawyNapis + input[i];
                    break;
                }
            }


            return(ob);
        }
Exemplo n.º 2
0
        //funkcja obsługująca wykonywanie dołączonych bibliotek
        public string Wykonaj(KontenerNapisy napis)
        {
            if (przyłaczoneBibliotekiDLC == null)
            {
                return("wystapił błąd z biblioteką MEF");
            }

            foreach (var i in przyłaczoneBibliotekiDLC)
            {
                if (i.Metadata["Symbol"].Equals(napis.instrukcja))
                {
                    return(i.Value.Operacja(napis.lewyNapis, napis.prawyNapis).ToString());
                }
                //Ta sama operacja co powyżej jednak zmienna korzysta z metadanych, używając interfejsu zamiast słownika

                /* if (i.Metadata.Symbol.Equals(napis.instrukcja))
                 * {
                 *  return i.Value.Operacja(napis.lewyNapis, napis.prawyNapis).ToString();
                 * }*/
            }


            return("Operacja nieznaleziona");
        }