Exemple #1
0
        /* 2.0 */
        public void Syllabify(string verse) //Μέσω αυτής της μεθόδου γεμίζει ο πίνακας "position" και παράλληλα ενημερώνεται ο μετρητής "counter"
        {
            byte i = 1;

            while (i <= (byte)(verse.Length))
            {
                if (counter.Equals(18))
                {
                    break;
                }
                //Παίρνει τον πρώτο χαρακτήρα της συλλαβής
                c1 = (char)verse.Substring(i - 1, 1)[0]; //Η substring θεωρεί πως λαμβάνει ως είσοδο κάτι που μετράει από το 0 την πρώτη θέση
                if (phonemicsUtil.IsVowel(c1))           //Αν αυτός είναι φωνήεν
                {
                    counter++;

                    if (i == (byte)(verse.Length)) //Οριακή συνθήκη όπου έχω φτάσει στο τελευταίο γράμμα της φράσης και αυτό είναι φωνήεν
                    {
                        c2 = ' ';                  //Θέλω κάτι που να μην το βρει ως φωνήεν ώστε να εντοπιστεί κι αυτή η συλλαβή στην οριακή περίπτωση
                    }
                    else
                    {
                        c2 = (char)verse.Substring(i, 1)[0]; //Παίρνει τον δεύτερο χαρακτήρα της συλλαβής
                    }
                    if (phonemicsUtil.IsVowel(c2))           //Αν αυτός είναι φωνήεν
                    {
                        if (phonemicsUtil.Diphthong(c1, c2)) //Ελέγχει αν πρόκειται για δίφθογγο
                        {
                            position[counter - 1, 0] = i;
                            position[counter - 1, 1] = (byte)(i + 1);
                            i++;
                        }
                        else //Αν δεν έχουμε δίφθογγο, το πρώτο και το δεύτερο φωνήεν της συλλαβής βρίσκονται στην ίδια θέση
                        {
                            position[counter - 1, 0] = i;
                            position[counter - 1, 1] = i;
                        }
                    }
                    else //Αν δεν είναι φωνήεν, τότε το πρώτο και το δεύτερο φωνήεν της συλλαβής βρίσκονται στην ίδια θέση
                    {
                        position[counter - 1, 0] = i;
                        position[counter - 1, 1] = i;
                    }
                }

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

                    /*Εφόσον όλα πήγαν ΟΚ με το άνοιγμα του input file θα δημιουργήσουμε το αρχείο των αποτελεσμάτων*/
                    /*ΑΝΟΙΓΜΑ ΑΡΧΕΙΟΥ ΑΠΟΤΕΛΕΣΜΑΤΩΝ*/
                    using (StreamWriter outputFile = new StreamWriter("output.txt"))
                    {
                        //phon checkMethods = new phon();

                        /*ΔΙΑΒΑΣΜΑ ΓΡΑΜΜΗ-ΓΡΑΜΜΗ ΤΟΥ ΑΡΧΕΙΟΥ ΜΕΧΡΙ ΤΟ EOF*/
                        string line     = null;
                        string templine = null;

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

                            /* έλεγχος της τιμής του χαρακτήρα για κάθε διαθέσιμη μέθοδο και αντίστοιχη εκτύπωση στο file των αποτελεσμάτων*/
                            Boolean isVowel     = checkMethods.IsVowel(line[0]);
                            Boolean isBrake     = checkMethods.IsBrake(line[0]);
                            Boolean isConsonant = checkMethods.IsConsonant(line[0]);
                            Boolean isLong      = checkMethods.IsLong(line[0]);
                            Boolean isShort     = checkMethods.IsShort(line[0]);
                            Boolean isAncepts   = checkMethods.IsAnceps(line[0]);
                            Boolean isDouble    = checkMethods.IsDouble(line[0]);

                            templine = "IsVowel: " + isVowel + "  IsBrake: " + isBrake + "  IsConsonant: " + isConsonant + "  IsLong: " + isLong +
                                       "  IsShort: " + isShort + "  IsAncepts: " + isAncepts + "  IsDouble: " + isDouble;

                            /*πέρασμα των αποτελεσμάτων γι' αυτό το χαραχτήρα στο αρχείο*/
                            outputFile.WriteLine(templine);
                        }
                    }

                    Console.WriteLine("ΟΛΟΚΛΗΡΩΘΗΚΕ Ο ΕΛΕΓΧΟΣ.\nΤα αποτελέσματα αποθηκεύτηκαν στο αρχείο \"output.txt\" !!!");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Error in file handling:");
                Console.WriteLine(e.Message);
            }
        }