Esempio n. 1
0
        private void CmdFiles_Click(object sender, EventArgs e)
        {
            DialogResult result1 = MessageBox.Show("Αρχείο εισαγωγής στίχων: inverse.txt\nΑρχείο εγγραφής αποτελεσμάτων: outverse.txt\nΝα συνεχίσω ;", "Έγκριση ...", MessageBoxButtons.OKCancel);
            String       message = null;

            ErrorLines = 0;
            TotalLines = 0;

            if (result1 == DialogResult.OK)
            {
                try
                {
                    /*ΑΝΟΙΓΜΑ ΑΡΧΕΙΟΥ ΤΟ ΟΠΟΙΟ ΒΡΙΣΚΕΤΑΙ ΣΤΟ ΣΧΕΤΙΚΟ ΜΟΝΟΠΑΤΙ ΤΟΥ project*/
                    using (StreamReader inputFile = new StreamReader("inverse.txt"))  /*Το using στο τέλος κλείνει το stream*/
                    {
                        /*Εφόσον όλα πήγαν ΟΚ με το άνοιγμα του input file θα δημιουργήσουμε το αρχείο των αποτελεσμάτων*/
                        /*ΑΝΟΙΓΜΑ ΑΡΧΕΙΟΥ ΑΠΟΤΕΛΕΣΜΑΤΩΝ*/
                        using (StreamWriter outputFile = new StreamWriter("outverse.txt"))
                        {
                            LblResult.Text = "Μετρική ανάλυση σε εξέλιξη ..."; //Εμφάνιση μηνύματος στο LblResult
                            LblResult.SelectAll();
                            LblResult.SelectionColor = Color.Black;

                            /*ΔΙΑΒΑΣΜΑ ΓΡΑΜΜΗ-ΓΡΑΜΜΗ ΤΟΥ ΑΡΧΕΙΟΥ ΜΕΧΡΙ ΤΟ EOF*/
                            while ((VerseLine = inputFile.ReadLine()) != null)
                            {
                                //Αύξηση της τιμής του counter των γραμμών
                                TotalLines++;

                                //Μετρική ανάλυση αυτού του στίχου
                                Metrics.DoScansion(ref VerseLine, ref ScansionLine, ref ErrorLines);

                                outputFile.WriteLine(VerseLine);    //Εγγραφή στο αρχείο αποτελεσμάτων του στίχου
                                outputFile.WriteLine(ScansionLine); //και του αποτελέσματος της μετρικής του ανάλυσης
                            }
                        }

                        message = "Η μετρική ανάλυση μέσω αρχείων ολοκληρώθηκε.\nΣύνολο στίχων: " + TotalLines + "\nΣύνολο λαθών: " + ErrorLines;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Λάθος στη διαχείριση των αρχείων !", MessageBoxButtons.OK);
                    LblResult.Clear();
                    TxtInput.Focus();
                    return;
                }
            }
            else
            {
                message = "Η διαδικασία ακυρώθηκε !";
            }

            MessageBox.Show(message, "Τέλος μετρικής ανάλυσης", MessageBoxButtons.OK);
            LblResult.Clear();
            TxtInput.Focus();
        }
Esempio n. 2
0
        public void testDoScansion()
        {
            Console.WriteLine("\n\n--> Έλεγχος μεθόδου DoScansion του Metrics module μέσω αρχείου");

            try
            {
                /*ΑΝΟΙΓΜΑ ΑΡΧΕΙΟΥ ΤΟ ΟΠΟΙΟ ΒΡΙΣΚΕΤΑΙ ΣΤΟ ΣΧΕΤΙΚΟ ΜΟΝΟΠΑΤΙ ΤΟΥ project*/
                using (StreamReader inputFile = new StreamReader("inverse.txt"))  /*Το using στο τέλος κλείνει το stream*/
                {
                    string VerseLine    = null;
                    string ScansionLine = null;
                    int    TotalLines   = 0;
                    int    ErrorLines   = 0;

                    /*Εφόσον όλα πήγαν ΟΚ με το άνοιγμα του input file θα δημιουργήσουμε το αρχείο των αποτελεσμάτων*/
                    /*ΑΝΟΙΓΜΑ ΑΡΧΕΙΟΥ ΑΠΟΤΕΛΕΣΜΑΤΩΝ*/
                    using (StreamWriter outputFile = new StreamWriter("outverse.txt"))
                    {
                        /*ΔΙΑΒΑΣΜΑ ΓΡΑΜΜΗ-ΓΡΑΜΜΗ ΤΟΥ ΑΡΧΕΙΟΥ ΜΕΧΡΙ ΤΟ EOF*/
                        while ((VerseLine = inputFile.ReadLine()) != null)
                        {
                            //Αύξηση της τιμής του counter των γραμμών
                            TotalLines++;

                            //Μετρική ανάλυση αυτού του στίχου
                            checkMethods.DoScansion(ref VerseLine, ref ScansionLine, ref ErrorLines);

                            outputFile.WriteLine(VerseLine);    //Εγγραφή στο αρχείο αποτελεσμάτων του στίχου
                            outputFile.WriteLine(ScansionLine); //και του αποτελέσματος της μετρικής του ανάλυσης
                        }
                    }

                    Console.WriteLine("Η μετρική ανάλυση μέσω αρχείων ολοκληρώθηκε.\nΣύνολο στίχων: " + TotalLines + "\nΣύνολο λαθών: " + ErrorLines);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Error in file handling:");
                Console.WriteLine(e.Message);
            }
        }