Exemple #1
0
        public static void Write(string s)
        {
            int i = s.IndexOf('[');
            int j = s.IndexOf(']');
            int l = s.IndexOf('}');

            if (i == -1 || j == -1 || l == -1)
            {
                Console.Write(s);
            }
            else
            {
                if (i > 0)
                {
                    Console.Write(s.Substring(0, i));
                }
                Színtvált(s.Substring(i + 1, j - i - 1
                                      ));
                Console.Write(s.Substring(j + 2, l - j
                                          - 2
                                          ));
                Színtvált("white");
                if (l < s.Length - 1)
                {
                    Színes.Write(s.Substring(l + 1));
                }
            }
        }
Exemple #2
0
 /// <summary>
 /// lefuttatja az adott helyen az adott fájlt. A fájl az inputokat a megadott helyről szerzi be. A megjegyzést kiírja.
 /// </summary>
 /// <param name="hely"></param>
 /// <param name="file"></param>
 /// <param name="megjegyzés"></param>
 public static void Fájl_Futtatása(string hely, string file)
 {
     using (Process process = new Process())
     {
         process.StartInfo.UseShellExecute  = false;
         process.StartInfo.CreateNoWindow   = false;
         process.StartInfo.WorkingDirectory = hely;                 // azért kell, mert a futtatandó file ebben a könyvtárban keres majd inputot.
         process.StartInfo.FileName         = file;
         process.Start();
         process.WaitForExit();
     }
     Console.WriteLine("Nyomj meg egy gombot a továbbhaladáshoz!");
     if (léptetés)
     {
         Színes.WriteLine("[green]{--- Ahhoz, hogy léptetésben maradjon a program, nyomd meg a Space-t! ---}");
         léptetés = Console.ReadKey().Key == ConsoleKey.Spacebar;
     }
 }
Exemple #3
0
        static void Main(string[] args)
        {
            Színes.WriteLine("[red]{Input} Egy programhoz tartozó [blue]{I_i} input nem más, \n\tmint egy könyvtár, amiben az adott program által igényelt inputfájlok vannak. \n\t(Lehetséges ugyanis, hogy több inputot is igényel ugyanaz a dolgozatprogram.)");
            Színes.WriteLine("[red]{Inputkönyvtár:} Egy programhoz tartozó [blue]{I} inputkönyvtár tehát nem más, \n\tmint azonos nevű inputfájlokat tartalmazó [red]{könyvtárak könyvtára}.");
            Színes.WriteLine("[red]{Kiszedegetés után:} Futtasd le a [green]{Kiszedegetés.exe} programot a [blue]{sok2}[red]{n} funkcióval. \n\tÍgy kapsz egy [blue]{D} könyvtárat, benne a [blue]{D_1}, ..., [blue]{D_n} tanulók neveiről elnevezett könyvtárakkal, \n\tamikben egy-egy .exe fájlt fognak tartalmazni.");
            Színes.WriteLine("[red]{Előkészítés} Másold be a [blue]{D} könyvtárba az [blue]{I} könyvtárat, \n\tés ha nem [red]{-} jellel kezdődne, írj elé egyet. \n\t(Ez jelzi a programnak, hogy itt lesznek az inputfájlok. Csak egy inputkönyvtárad legyen itt.)");
            Színes.WriteLine("[red]{Inputok elhelyezése} Nyomj egy entert.");


            while (Console.ReadKey().Key != ConsoleKey.Enter)
            {
            }
            #region Inputok elhelyezése
            string        itt             = Directory.GetCurrentDirectory();
            string        inputkönyvtár   = Directory.EnumerateDirectories(itt).Where(x => Fájlkezelés.Path2Név(x).StartsWith("-")).First();
            List <string> inputkönyvtárak = Directory.EnumerateDirectories(inputkönyvtár).ToList();
            List <string> tesztkönyvtárak = Directory.EnumerateDirectories(itt).Where(x => !Fájlkezelés.Path2Név(x).StartsWith("-")).ToList();
            if (inputkönyvtárak.Count() > tesztkönyvtárak.Count())
            {
                Színes.WriteLine("[red]{Több input van, mint ahány tesztkönyvtár! Törölj inputokat vagy hozz létre több könyvtárat és próbáld újra! }");
            }
            else
            {
                if (inputkönyvtárak.Count() < tesztkönyvtárak.Count())
                {
                    Színes.WriteLine("[red]{Kevesebb input van, mint ahány tesztkönyvtár! Néhány tesztkönvytár üresen fog maradni! }");
                    Console.ReadKey();
                }

                for (int i = 0; i < inputkönyvtárak.Count(); i++)
                {
                    foreach (string tanulópath in Directory.EnumerateDirectories(tesztkönyvtárak[i]))
                    {
                        foreach (string inputfájl in Directory.EnumerateFiles(inputkönyvtárak[i]))
                        {
                            // Színes.WriteLine(inputfájl + " [red]{->} " + tanulópath);
                            File.Copy(inputfájl, tanulópath + "//" + Fájlkezelés.Path2Név(inputfájl), true);
                        }
                    }
                }

                #endregion
                Színes.WriteLine("[red]{Programok futtatása} Nyomj egy entert.");
                while (Console.ReadKey().Key != ConsoleKey.Enter)
                {
                }
                foreach (string tesztkönyvtár in tesztkönyvtárak)
                {
                    foreach (string tanulókönyvtár in Directory.EnumerateDirectories(tesztkönyvtár))
                    {
                        Színes.WriteLine("--------- " + Fájlkezelés.Path2Név(tanulókönyvtár) + " következik --------- ");
                        Fájlkezelés.Fájl_Futtatása(tanulókönyvtár, Directory.EnumerateFiles(tanulókönyvtár).Where(x => Regex.IsMatch(x, @".*\.exe$")).First());
                        Színes.WriteLine("--------- " + Fájlkezelés.Path2Név(tanulókönyvtár) + " programjának vége --------- ");
                    }
                }
                #region Programok futtatása

                #endregion
                Színes.WriteLine("[red]{Továbbiak} Menj át az Összehasonlítás.exe-re. ");
            }

            Színes.WriteLine("[red]{Kilépés} Nyomj egy q-t a kilépéshez. ");
            while (Console.ReadKey().Key != ConsoleKey.Q)
            {
            }
        }