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 checkDouble()
        {
            try
            {
                /*ΑΝΟΙΓΜΑ ΑΡΧΕΙΟΥ ΤΟ ΟΠΟΙΟ ΒΡΙΣΚΕΤΑΙ ΣΤΟ ΣΧΕΤΙΚΟ ΜΟΝΟΠΑΤΙ ΤΟΥ project*/
                using (StreamReader inputFile = new StreamReader("input2.txt"))  /*Το using στο τέλος κλείνει το stream*/
                {
                    Console.WriteLine("\nΆνοιγμα και έλεγχος αρχείου \"input2.txt\"...");

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

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

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

                            /* έλεγχος της τιμής του χαρακτήρα για κάθε διαθέσιμη μέθοδο και αντίστοιχη εκτύπωση στο file των αποτελεσμάτων*/
                            Boolean isDiphthong = checkMethods.Diphthong(line[0], line[1]);
                            Boolean isInitials  = checkMethods.Initials(line[0], line[1]);

                            templine = "Diphthong: " + isDiphthong + "  Initials: " + isInitials;

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

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