예제 #1
0
        /* The test file will have the following format */
        /* target,line,place  -  string,string,byte */
        /* We will have two test files, one for each method again */

        // Here we consider that the starting point of a string is "1"

        //If method is 0, the DoReplace, else Insert
        public void checkValidity(int method)
        {
            string [] input  = { "DoReplace_In.txt", "Insert_In.txt" };
            string [] output = { "DoReplace_Out.txt", "Insert_Out.txt" };
            string[]  tokens = { "," };

            /*ΑΝΟΙΓΜΑ ΑΡΧΕΙΟΥ ΤΟ ΟΠΟΙΟ ΒΡΙΣΚΕΤΑΙ ΣΤΟ ΣΧΕΤΙΚΟ ΜΟΝΟΠΑΤΙ ΤΟΥ project*/
            try
            {
                using (StreamReader inputFile = new StreamReader(input[method]))  /*Το using στο τέλος κλείνει το stream*/
                {
                    Console.WriteLine("Άνοιγμα και έλεγχος αρχείου \"" + input[method] + "\"...");

                    /*Εφόσον όλα πήγαν ΟΚ με το άνοιγμα του input file θα δημιουργήσουμε το αρχείο των αποτελεσμάτων*/
                    /*ΑΝΟΙΓΜΑ ΑΡΧΕΙΟΥ ΑΠΟΤΕΛΕΣΜΑΤΩΝ*/
                    using (StreamWriter outputFile = new StreamWriter(output[method]))
                    {
                        /*ΔΙΑΒΑΣΜΑ ΓΡΑΜΜΗ-ΓΡΑΜΜΗ ΤΟΥ ΑΡΧΕΙΟΥ ΜΕΧΡΙ ΤΟ EOF*/
                        string line = null;

                        while ((line = inputFile.ReadLine()) != null)
                        {
                            /*πέρασμα αυτού του χαραχτήρα στο αρχείο*/
                            outputFile.WriteLine(line);

                            /*διαχωρισμός των στοιχείων της γραμμής*/
                            string [] parameters = line.Split(tokens, 3, System.StringSplitOptions.RemoveEmptyEntries);

                            if (method == 0)
                            {
                                checkStriman.DoReplace(parameters[0], ref parameters[1], Byte.Parse(parameters[2]));
                            }
                            else
                            {
                                checkStriman.Insert(parameters[0], ref parameters[1], Byte.Parse(parameters[2]));
                            }

                            outputFile.WriteLine(parameters[1]);
                        }
                    }

                    Console.WriteLine("ΟΛΟΚΛΗΡΩΘΗΚΕ Ο ΕΛΕΓΧΟΣ.\nΤα αποτελέσματα αποθηκεύτηκαν στο αρχείο \"" + output[method] + "\" !!!\n");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Error in file handling:");
                Console.WriteLine(e.Message);
            }
        }
예제 #2
0
        /* 3.0 */
        private void Hexameter(string verse, ref string scansion)
        {
            byte i;

            scansion = "_";

            for (i = 2; i <= verse.Length; i++) //Γεμίζει όλο το "scansion" με "_"
            {
                scansion = scansion + "_";
            }

            strimanUtil.DoReplace("-", ref scansion, position[0, 1]); //Ενημερώνεται το "scansion". Στη θέση που υποδεικνύει ο "position" τοποθετείται "-"

            for (i = (byte)(counter - 1); i <= counter; i++)          //Τοποθετείται στο "scansion" το σύμβολο "-" στην θέση του 2ου φωνήεντος της τελευταίας συλλαβής του στίχου και στην προηγούμενή του
            {
                strimanUtil.DoReplace("-", ref scansion, position[i - 1, 1]);
            }

            switch (counter)
            {
            case 12:
                for (i = 2; i <= 10; i++)
                {
                    strimanUtil.DoReplace("-", ref scansion, position[i - 1, 1]);
                }

                MarkFeet(1, 5, 2, 0, 1);
                break;

            case 13:
                Resolve13(verse, ref scansion);
                break;

            case 14:
                Resolve14(verse, ref scansion);
                break;

            case 15:
                Resolve15(verse, ref scansion);
                break;

            case 16:
                Resolve16(verse, ref scansion);
                break;

            case 17:
                for (i = 2; i <= 15; i++)
                {
                    if ((i % (byte)3) == 1)
                    {
                        strimanUtil.DoReplace("-", ref scansion, position[i - 1, 1]);     //Στις συλλαβές 4,7,10 και 13 στην θέση του 2ου φωνήεντος θα βάλει "-"
                    }
                    else
                    {
                        strimanUtil.DoReplace("U", ref scansion, position[i - 1, 1]);     //Στις υπόλοιπες περιπτώσεις, στην θέση του 2ου φωνήεντος μπαίνει "U"
                    }
                }

                MarkFeet(1, 5, 3, 0, 1);
                break;
            }
        }