Εργαστήριο 9 - Άσκηση - Ανάλυση

Σχετικά έγγραφα
Εργαστήριο 7 - Άσκηση - Ανάλυση

Εργαστήριο 8 - Άσκηση - Ανάλυση

ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΜΗΧΑΝΗΣ 9 o ΕΡΓΑΣΤΗΡΙO

Εργαστήριο 1-1 η Άσκηση - Ανάλυση

Εργαστήριο 10 Άσκηση 1 - Ανάλυση

Εργαστήριο 2 - Άσκηση - Ανάλυση

Εργαστήριο 4 - Άσκηση - Ανάλυση

Εργαστήριο 5 - Άσκηση - Ανάλυση

Εργαστήριο 3 - Άσκηση - Ανάλυση

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

Εργαστήριο 6 - Άσκηση - Ανάλυση

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Εγκατάσταση Mozilla Firefox

ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΑΠΟ EXCEL ΣΤΟ GRETL

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

S, (5, -3, 34, -23, 7) ( *, _

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

2. Με το εικονίδιο συντόμευσης στην επιφάνεια εργασίας των Windows.

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Βιοϊατρική τεχνολογία

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

Δομές Δεδομένων. Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse. 5ο εξάμηνο. v1.0

ΑΣΚΗΣΗ 8 η -9 η ΣΧΕΔΙΑΣΗ ΑΡΙΘΜΗΤΙΚΗΣ ΛΟΓΙΚΗΣ ΜΟΝΑΔΑΣ ΤΕΣΣΑΡΩΝ ΔΥΑΔΙΚΩΝ ΨΗΦΙΩΝ

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P.

Λειτουργικά Συστήματα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Δημιουργία μιας εφαρμογής Java με το NetBeans

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)

ΣΧΕΔΙΑΣΜΟΣ ΙΣΤΟΣΕΛΙΔΑΣ ΜΕ ΤΗ ΧΡΗΣΗ "ΠΡΟΤΥΠΟΥ ΙΣΤΟΣΕΛΙΔΑΣ" (TEMPLATE) ΣΤΟ ΠΡΟΓΡΑΜΜΑ MICROSOFT OFFICE SHAREPOINT DESIGNER 2007

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

10.1 Γενικά για τα streams

Εισαγωγή στους Υπολογιστές

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου. 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου ΣΤΟΧΟΙ:

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Alpha Web Banking Εργαλείο δηµιουργίας αρχείων. Οδηγίες χρήσεως

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

App Inventor. Εφαρμογή 7 η. Υπολογισμός Μέσου όρου μαθημάτων Επέκταση: Πέρασα ή δεν πέρασα? Version 2

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 12: Ροές και είσοδος/έξοδος αρχείων

Μετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη. (Διάλεξη. Πανεπιστήμιο Κύπρου

Kεφάλαιο 11 Λίστες και Ανάλυση Δεδομένων Kεφάλαιο 12 Εργαλεία ανάλυσης πιθανοτήτων Kεφάλαιο 13 Ανάλυση δεδομένων...

Εισαγωγή στο περιβάλλον Code::Blocks

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Κεφαλίδες και υποσέλιδα

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

Microsoft PowerPoint 2010 Πανεπιστήμιο Κύπρου

Ξεκινώντας με το MIT App Inventor 2 Μάθημα 4 Δημιουργώντας ένα απλό παιχνίδι (Κορώνα Γράμματα)

Εγκατάσταση αρχείων βιβλιοθήκης VHOPE και VHOPE

Μεθόδων Επίλυσης Προβλημάτων

App Inventor. Εφαρμογή 7 η. Υπολογισμός Μέσου όρου μαθημάτων

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ GPRS 1. ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ GOOGLE EARTH

Οδηγίες Εγκατάστασης της εφαρμογής Readium και Readium για μαθητές με αμβλυωπία για την ανάγνωση βιβλίων epub σε Υπολογιστή.

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή

Η υπηρεσία του Π.Κ. αλλάζει!

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας

Δραστηριότητα 1. Προγραμματίζω τον υπολογιστή (10 ώρες).

Πρόγραµµα 9.1 Πέρασµα δεδοµένων στην µνήµη

1. Άνοιγμα Και Κλείσιμο Της Εφαρμογής Φυλλομετρητή Ιστού (Internet Explorer)

Ανάπτυξη εφαρμογής Input-Output

Computing and Information Systems Service. ιαχείριση Αρχείων

SPSS Statistical Package for the Social Sciences

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εισαγωγή στην Στατιστική (ΔΕ200Α-210Α)

Δρ. Σταύρος Καραθανάσης

ΤΟ MICROSOFT WORD XP. Ας ξεκινήσουμε λοιπόν!

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition

Ιδιότητες αντικειμένων, συγγραφή κώδικα, συντακτικά λάθη

Ράβδος Εργαλείων, σχεδόν τα ίδια εργαλεία και εικονίδια υπάρχουν όπως στα άλλα προγράμματα που έχετε μάθει μέχρι σήμερα.

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

VK -14/10/2016 Σελίς 1

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: ΜΕΤΑΒΛΗΤΕΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

Ψηφιακή υπογραφή από το Πανελλήνιο Σχολικό Δίκτυο (Έκδοση, Εγκατάσταση, Χρήση, Απεγκατάσταση)

Οδηγός Χρήσης για το Doodle. Υπηρεσία Πληροφορικών Συστημάτων ΥΠΣ-Ε /

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη

Οδηγίες για την Διαδικασία αποθήκευσης στοιχείων ελέγχου πινάκων για επίλυση θέματος Οριοθέτησης.

Εγκατάσταση του 1992 OpenHome

Ενημέρωση του υλικολογισμικού της φωτογραφικής μηχανής

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0

ΣΧΕΔΙΑΣΜΟΣ ΙΣΤΟΣΕΛΙΔΑΣ ΜΕ ΤΗ ΧΡΗΣΗ ΠΡΟΤΥΠΟΥ ΙΣΤΟΣΕΛΙΔΑΣ (TEMPLATE) ΣΤΟ ΠΡΟΓΡΑΜΜΑ MICROSOFT OFFICE SHAREPOINT DESIGNER 2007

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : / id ot.com /

Αικατερίνη Καμπάση, PhD. Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7

Προγραμματιστικό Περιβάλλον

3D FLASH ANIMATOR (3DFA)

Επεξεργασία Κειμένου Open Office. Κείμενο: Δραστηριότητα Ανοίξτε τον κειμενογράφο OpenOffice.writer ακολουθώντας την διαδρομή:

Χρησιμοποιώντας συναρτήσεις

Εργαστήριο Γαλαξίες - Χάρτης του Πάλομαρ

Transcript:

Εργαστήριο 9 - Άσκηση - Ανάλυση Εκφώνηση: ηµιουργείστε ένα αντίγραφο της άσκησης της 8ης εργαστηριακής εβδοµάδας. Κάντε τις α αραίτητες τρο ο οιήσεις ώστε να αντικαταστήσετε τα δύο jdialog ου χρησιµο οιήσατε για το Open και το Save µε jfilechooser. Προσοχή: Το Open jfilechooser ανοίγει µε την εντολή returnval = jopenchooser.showopendialog(this); ενώ το Save jfilechooser µε την εντολή returnval = jsavechooser.showsavedialog(this); Η τιµή ου ε ιστρέφει στην ακέραια µεταβλητή returnval µ ορεί να είναι: JFileChooser.APPROVE_OPTION, αν ατηθεί το Open ή το Save JFileChooser.CANCEL_OPTION, αν ατηθεί το Cancel Στη συνέχεια κάντε τις αρακάτω τρο ο οιήσεις: 1. ηµιουργήστε δύο µεθόδους οι ο οίες θα εµφανίζουν τα µηνύµατα λάθους και τα µηνύµατα ενηµέρωσης του χρήστη µε χρήση των JOptionPane.showMessageDialog(null, message, "Προσοχή Λάθος", JOptionPane.ERROR_MESSAGE); JOptionPane.showMessageDialog(null, message, "Ενηµέρωση", JOptionPane.INFORMATION_MESSAGE); Σηµείωση: η αράµετρος message είναι το κείµενο ου θέλετε να εµφανίζετε στο αράθυρο, η ε όµενη αράµετρος είναι ο τίτλος του αραθύρου και η τελευταία αράµετρος είναι η εικόνα ου εµφανίζετε στο αράθυρο. 2. Αντικαταστήστε όλες τις εµφανίσεις µηνυµάτων στο ρόγραµµα σας µε τις δικές σας µεθόδους ενηµέρωσης. Στις ε όµενες δύο εικόνες φαίνονται αντίστοιχα αραδείγµατα. Δρ. Ευκλείδης Κεραμόπουλος Σελίδα 1

3. Χρησιµο οιήστε ένα joptionpane Swing Window στη λειτουργία «Save As» για τη διαχείριση της αντικατάστασης του εριεχοµένου ενός αρχείου ου υ άρχει, ό ως φαίνεται στην αρακάτω εικόνα. Σηµείωση 1: Για να κάνετε τον έλεγχο αν ένα αρχείο υ άρχει θα χρειαστεί να δηµιουργήσετε ένα αντικείµενο της τάξης File. Έτσι, αν δηλώσετε ένα αντικείµενο fileobject της τάξης File τότε µε τις αρακάτω εντολές µ ορείτε να κάνετε τον έλεγχο αν υ άρχει το αρχείο. fileobject = jsavechooser.getselectedfile(); If(fileobject.exists())... Δρ. Ευκλείδης Κεραμόπουλος Σελίδα 2

Σηµείωση 2: Το joptionpane θα το χρησιµο οιήσετε µε τη µέθοδο int result = ΟΝΟΜΑ_jOptionPane.showConfirmDialog(this, "The file exists, overwrite?", "Existing file", JOptionPane.YES_NO_CANCEL_OPTION); Η τιµή ου ε ιστρέφει στην ακέραια µεταβλητή result µ ορεί να είναι: JOptionPane.YES_OPTION, αν ατηθεί το Yes, JOptionPane.NO_OPTION, αν ατηθεί το No, JOptionPane.CLOSED_OPTION, αν κλείσουµε το αράθυρο, JOptionPane.CANCEL_OPTION, αν ατηθεί το Cancel. Ανάλυση και εξήγηση λύσης Βήμα 1: Δημιουργούμε ένα νέο project στο NetBeans με όνομα Askisi11. Βήμα 2: Αντιγράφουμε τo Java Swing αρχείο «Ergastirio8.java» από το project Askisi10. Η αντιγραφή γίνεται με Refactor copy επιλέγοντας το αρχείο «Ergastirio8.java», όπως φαίνεται στην Εικόνα 1. Εικόνα 1: Αντιγραφή αρχείου από άλλο project Βήμα 3: Ανοίξτε το Ergastirio9. Αλλάξτε στον κώδικα κάθε αναφορά του «Ergastirio8» (Εικόνα 2) σε «Ergastirio 9». Αλλάξτε την ιδιότητα title του JFrame σε «My Editor». Δρ. Ευκλείδης Κεραμόπουλος Σελίδα 3

Εικόνα 2: Η αναφορά στο Ergastirio8 σημειώνετε με λάθος. Βήμα 4: Προσθέστε από το Navigator στα «Other Components» (Εικόνα 3) δύο JFileChooser Window, με ονόματα μεταβλητών OpenFileChooser και SaveFileChooser. Εικόνα 3: Εισαγωγή File Chooser στα other Components Βήμα 5: Στο δομητή της τάξης, μετά την initcomponents(), προσθέτουμε τον κώδικα που φαίνεται στην Εικόνα 4, στις γραμμές 12-16. Στη γραμμή 12, ορίζουμε ένα αντικείμενο της τάξης FileNameExtensionFilter, το οποίο θα περιέχει το φίλτρο ("TEXT Files", "txt"). Αυτό εμφανίζει στο File Chooser το κείμενο «TEXT files» στα «Files of Types» (Εικόνα 5), και επίσης εμφανίζει μόνο τα αρχεία με κατάληξη «txt» (Εικόνα 5). Στις γραμμές 13 και 14, εφαρμόζουμε το φίλτρο στα δύο File Chooser. Στις γραμμές 15 και 16, ορίζουμε ως current directory το «.» για τα δύο File Chooser. Δηλαδή, όταν ανοίγει το File Chooser θα εμφανίζει τον κατάλογο του project Askisi11. Δρ. Ευκλείδης Κεραμόπουλος Σελίδα 4

Εικόνα 4: Ορισμός φίλτρων για τα File Chooser Εικόνα 5: Το OpenFileChooser Βήμα 6: Αλλάζουμε τον κώδικα του γεγονότος Action Performed της επιλογής Open του μενού File με τον κώδικα που φαίνεται στην Εικόνα 6. Αναλυτικά: Γραμμή 226: Δήλωση αντικείμενου της τάξης FileReader για ανάγνωση αρχείου. Γραμμή 227: Ανοίγει το OpenFileChooser με τη μέθοδο showopendialog, όπου το κουμπί έχει το κείμενο «Open». Στην ακέραια μεταβλητή returnval αποθηκεύεται ένας ακέραιος, όταν κλείσει ο χρήστης το File Chooser, ανάλογα με τον τρόπο που θα το κλείσει. Δηλαδή, επιστρέφει το «JFileChooser.APPROVE_OPTION» όταν πατηθεί το κουμπί «Open» και το «JFileChooser.CANCEL_OPTION» όταν πατηθεί το κουμπί «Cancel» ή κλείσει το παράθυρο. Γραμμή 228: Στο αντικείμενο fileobject της τάξης File αποθηκεύεται το όνομα του επιλεγμένου αρχείου. Γραμμή 229: Γίνεται έλεγχος αν το fileobject έχει τιμή και αν έχει πατηθεί το κουμπί «Open». Γραμμή 230: Αν ναι αποθηκεύεται στην αλφαριθμητική μεταβλητή filename η διαδρομή και το όνομα του αρχείου που επιλέχθηκε. Δρ. Ευκλείδης Κεραμόπουλος Σελίδα 5

Γραμμή 231-239: Μέσα σε try-catch (IOException) γίνεται ανάγνωση του αρχείου και εμφάνισή του στο TextArea. Γραμμή 240-242: Αν το File Chooser έχει κλείσει χωρίς να πατηθεί το κουμπί «Open» (αλλά το Cancel ή το Close). Στην ετικέτα message εμφανίζεται κατάλληλο μήνυμα. Επίσης, ορίζουμε δύο global μεταβλητές, την αλφαριθμητική filename και τον ακέραιο returnval. Τέλος, διαγράφουμε το OpenDialog από το «Other Components» και διαγράφονται και όλα τα γεγονότα που έχουν οριστεί σε συστατικά αυτού. Εικόνα 6: Ο κώδικας του OpenFileChooser Βήμα 7: Αλλάζουμε τον κώδικα του γεγονότος Action Performed της επιλογής «Save As» του μενού File με τον κώδικα που φαίνεται στην Εικόνα 7. Ο κώδικας είναι παρόμοιος με τον κώδικα του Open, με μικρές διαφορές. Συγκεκριμένα: Στη γραμμή 253 γίνεται δήλωση αντικείμενου της τάξης FileWriter για αποθήκευση σε αρχείο. Στη γραμμή 254, το SaveFileChooser θα ανοίξει με τη μέθοδο showsavedialog, όπου το κουμπί θα έχει το κείμενο «Save». Στη γραμμή 260, γίνεται αποθήκευση του περιεχομένου του TextArea σε αρχείο κειμένου με τη μέθοδο write. Τέλος, διαγράφουμε το SaveDialog από το «Other Components» και διαγράφονται και όλα τα γεγονότα που έχουν οριστεί σε συστατικά αυτού. Δρ. Ευκλείδης Κεραμόπουλος Σελίδα 6

Εικόνα 7: Ο κώδικας του SaveFileChooser Ο κώδικας του γεγονότος Action Performed της επιλογής «Save» του μενού File παραμένει ίδιος με τη προηγούμενη άσκηση όπως φαίνεται Εικόνα 8. Εικόνα 8: Ο κώδικας του File Save Βήμα 8: Σε αυτό το βήμα θα δημιουργήσουμε δύο void δικές μας μεθόδους, όπως φαίνεται στην Εικόνα 9, για να εμφανίζουμε τα μηνύματα σε παράθυρα. Η πρώτη μέθοδος, η myerrormessage, παίρνει ως παράμετρο το μήνυμα λάθους και το παρουσιάζει σε ένα παράθυρο με χρήση της τάξης JOptionPane και της μεθόδου Δρ. Ευκλείδης Κεραμόπουλος Σελίδα 7

showmessagedialog. H JOptionPane δέχεται τέσσερις παραμέτρους. Η πρώτη δείχνει τον υποδοχέα (container) που ανήκει το παράθυρο JOptionPane. Με την τιμή null δείχνει ότι ανήκει στο JFrame. Η δεύτερη παράμετρος δείχνει το μήνυμα λάθους στον καμβά του παραθύρου. Η τρίτη παράμετρος είναι ο τίτλος του παραθύρου. Η τέταρτη παράμετρος είναι η εικόνα που θα εμφανιστεί στο παράθυρο. Η δεύτερη μέθοδος, η myinfomessage, εμφανίζει μηνύματα ενημέρωσης στον χρήστη. Και αυτή η μέθοδος στηρίζεται πάνω στην JOptionPane και τη μεθόδο showmessagedialog, όπου οι παράμετροι της δηλώνονται παρόμοια. Εικόνα 9: Ο κώδικας των δύο μεθόδων εμφάνισης μηνυμάτων και λαθών Βήμα 9: Σε αυτό το βήμα θα χρησιμοποιούμε τις παραπάνω δύο μεθόδους για την εμφάνιση των λαθών και των μηνυμάτων. Έτσι, αλλάζουμε τις εντολές στο τμήμα της catch στα try-catch, με την myerrormessage(exc.getmessage()). Επίσης, αλλάζουμε όλες τις υπόλοιπες message.settext(μήνυμα) με την εντολή myinfomessage(μήνυμα). Βήμα 10: Στη λειτουργία «Save As» υπάρχει η περίπτωση να ζητήσει ο χρήστης να γίνει αντικατάσταση ενός υπάρχοντος αρχείου με νέο περιεχόμενο. Η αναμενόμενη αντίδραση του κειμενογράφου είναι η εμφάνιση ενός παραθύρου, το οποίο ρωτάει τον χρήστη αν θέλει να κάνει την αντικατάσταση ή όχι. Αυτό ακριβώς υλοποιείται σε αυτό το βήμα. Έτσι, στην Εικόνα 10, φαίνεται ο κώδικας της «Save As» τροποποιημένος για να διαχειριστεί τη λειτουργία της αντικατάστασης. Αυτό φαίνεται στις γραμμές 257 259. Στην γραμμή 257 γίνεται έλεγχος αν υπάρχει το αρχείο και στη 258 καλείται μία δική μας μέθοδος (η mysave) στην οποία θα διαχειριστούμε την αντικατάσταση του αρχείου. Δρ. Ευκλείδης Κεραμόπουλος Σελίδα 8

Εικόνα 10: Η Save As με διαχείριση αντικατάστασης αρχείου Στην Εικόνα 11, φαίνεται ο κώδικας της mysave. Αναλυτικά: Γραμμή 359-362: Ανοίγει το παράθυρο της Εικόνα 12, όπου ο Χρήστης έχει τέσσερις επιλογές, (α) Yes, (β) No, (γ) Cancel και (δ) κλείσιμο παραθύρου. Η επιλογή του χρήστη αποθηκεύεται στην ακέραια μεταβλητή result. Γραμμές 363 380: Με μία switch γίνεται η διαχείριση των τεσσάρων επιλογών. Γραμμές 364 374: Η περίπτωση που ο Χρήστης απάντησε Yes και γίνεται αντικατάσταση του αρχείου. Γραμμές 375 376: Η περίπτωση που ο Χρήστης απάντησε No και ξαναεκτελείται το «Save As» από την αρχή. Γραμμές 377 378: Η περίπτωση που ο Χρήστης απάντησε Cancel ή Close και κλείνει το παράθυρο. Δρ. Ευκλείδης Κεραμόπουλος Σελίδα 9

Εικόνα 11: Ο κώδικας διαχείρισης της αντικατάστασης αρχείου Εικόνα 12: Το παράθυρο αντικατάστασης αρχείου Δρ. Ευκλείδης Κεραμόπουλος Σελίδα 10