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

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

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

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

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

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

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

Εκφώνηση Να δημιουργήσετε ένα πρόγραμμα το οποίο θα δέχεται δύο ακεραίους αριθμούς έστω α και β και θα υπολογίζει το α υψωμένο στην δύναμη του β (α β

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

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

Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC ΤΙ ΜΠΟΡΟΎΜΕ ΝΑ ΚΆΝΟΥΜΕ ΜΕ ΤΗ VISUAL BASIC ΑΝΤΙΚΕΊΜΕΝΑ: ΦΌΡΜΑ ΚΑΙ ΧΕΙΡΙΣΤΉΡΙΑ ΕΤΙΚΈΤΑ LABEL

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

4 η Εργαστηριακή Άσκηση

Δομημένος Προγραμματισμός

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

(3) Από την εργαλειοθήκη επιλέξτε το εργαλείο «ετικέτας (Label)». Δημιουργήστε μια ετικέτα στην φόρμα σας.

Λεπτομέριες τοιχοποιίας Σχεδίαση κάτοψης

ΜICROSOFT VISUAL STUDIO Eργ 1: Ανάπτυξη απλής εφαρµογής: Solutions, Projects, GUI, Events, Debugging. Εισαγωγή

Δομημένος Προγραμματισμός

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

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

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

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

2 ο Εργαστήριο Αλληλεπίδραση και Animation

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

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

Εισαγωγή στο πρόγραμμα Microsoft word 2003

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Visual Basic Γλώσσα οπτικού

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

ΟΔΗΓΙΕΣ ΧΕΙΡΙΣΜΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ DYMO LABEL V.8

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

Σενάριο Χρήσης Moodle

Αλλαγή της εμφάνισης κειμένου: μέγεθος γραμματοσειράς, είδος γραμματοσειράς

SPSS Statistical Package for the Social Sciences

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

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος

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

Σύντομη περιγραφή 5. Για να ξεκινήσετε 6. Οι οθόνες του προγράμματος 8. Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7

Βασικές Λειτουργίες του Word

Ελέγξτε την ταινία σας

Πρόσθεση + Αφαίρεση - Πολλαπλασιασμός * Διαίρεση / Πηλίκο \ Υπόλοιπο Δύναμη

Εργαστήριο «Βάσεις Οικολογικών Δεδομένων και Εφαρμογές»

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

Αγώνες αυτοκινήτου Παιχνίδι για 2 παίκτες

Σημείωση για το προϊόν

ΕΡΓΑΣΤΗΡΙΟ 16. Χρησιμοποιώντας τον Αποσφαλματιστή (Debugger) του Eclipse

Έλεγχος του εγγράφου και της διάταξης εμφάνισης περιθώρια, μέγεθος γραμματοσειράς, μορφοποίησης και ορθογραφία

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

Inspiration 7 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΜΕ ΠΑΡΑΔΕΙΓΜΑ

ΚΕΦΑΛΑΙΟ 3. Μορφοποίηση

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

Εγχειρίδιο Χρήσης του «Μαθη.Συ.»

Γνωρίστε το Excel 2007

1ο μέρος 1. Φτιάχνουμε την πίστα. Μια ενδεικτική πίστα φαίνεται παρακάτω:

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω.

ΕΛΛΗΝΙΚΑ. Διαχειριστής Πλήκτρων Μacro Εγχειρίδιο Χρήστη

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

ΟΔΗΓΙΕΣ ΔΗΜΙΟΥΡΓΙΑΣ ΕΦΑΡΜΟΓΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΑΜΕΣΟΥ ΑΡΧΕΙΟΥ ΣΕ ΠΕΡΙΒΑΛΛΟΝ VISUAL STUDIO NET

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

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

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

Ειδικά Θέματα Παραμετροποίησης 2.ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ

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

ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ. Εργαλειοθήκη Παρουσιάζετε το έργο σας Εκκινείτε τα σενάριά σας Σταματάτε όλα τα σενάρια. Οι 8 ομάδες της Παλέτας εντολών

Εισαγωγή/ απομάκρυνση συμβόλων παραγράφου

Using Custom Python Expression Functions

Βασικές Εντολές MicroWorlds Pro.

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

Αντικειμενοστρεφής Προγραμματισμός

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ. Δρ. Π. Νικολαΐδου

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

Γ. ΕΚΤΥΠΩΣΕΙΣ II-15 ΦΟΡΜΑ ΑΝΑΖΗΤΗΣΗΣ ΑΝΑΖΗΤΗΣΗ WILD CHARACTERS

ΕΝΟΤΗΤΑ 04 Δημιουργία φύλλου εργασίας

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

ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΣΕ ΔΙΣΚΕΤΑ ΑΝΤΙΓΡΑΦΗ ΑΡΧΕΙΟΥ ΑΠΟ ΔΙΣΚΕΤΑ. Από τον κατάλογο που εμφανίζεται επιλέγω: Αποστολή προς Δισκέτα (3,5)

Ο Οδηγός γρήγορης εκκίνησης

3 Αλληλεπίδραση Αντικειμένων

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ "PROΩΘΗΣΗ" PROώθηση

Φύλλο εργασίας 1 Εισαγωγή στη Ρομποτική

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΟΓΙΑ

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

του προγράμματος diagrama_rohs.zip )

MANUAL PRESTASHOP 1.6

Εργαστήριο του Μαθήματος: ΕΠΛ003. Ενότητα 3 Εισαγωγή στο Microsoft Word

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

Τα Windows Πολύ Απλά και Πολύ Σύντομα

App Inventor 5ο Μάθημα (Κορώνα γράμματα - επέκταση)

Εργαστήριο του Μαθήματος: ΕΠΛ001

Οδηγός γρήγορης εκκίνησης

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

Αλλαγή προσανατολισμού εγγράφου σε κατακόρυφο ή οριζόντιο, αλλαγή μεγέθους σελίδας

Φύλλα εργασίας. MicroWorlds Pro. Πολυμεσικές Εφαρμογές με την χρήση της γλώσσας LOGO Στο Γυμνάσιο. Β. Χ. Χρυσοχοΐδης

ΠΛΗΡΟΦΟΡΙΚΗ Α ΓΥΜΝΑΣΙΟΥ. ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΚΕΦΑΛΑΙΟ 1: Γνωριμία με το λογισμικό του υπολογιστή

Εργαστήριο Εφαρμοσμένης Πληροφορικής

Εγχειρίδιο Χρήσης του λογισμικού. Μελέτη Περιβάλλοντος Α & Β Δημοτικού

Τσαουσάκης Σταύρος ΠΕ70 ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ 3

Οι νεότερες εξελίξεις στον GM EPC

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

Δημιουργία η-μαθήματος με τη. 3 ο Μέρος Εισαγωγή πληροφοριών: δημιουργία ιστοσελίδας

Transcript:

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να καταλάβουν την διαφορά ανάμεσα σε τοπικές και καθολικές μεταβλητές. Nα κάνουν αποσφαλμάτωση στα προγράμματα τους. Εκφώνηση Να δημιουργήσετε ένα πρόγραμμα έκδοσης λογαριασμού για ένα super market. Επίλυση Δημιουργείστε ένα νέο έργο (File New Project) τύπου Windows Application με όνομα SuperMarket. Σχεδιάστε την διεπαφή της εφαρμογής όπως παρακάτω : Επιλέξτε ένα προς ένα τα αντικείμενα της φόρμας και στο παράθυρο Properties αλλάξτε τις παρακάτω ιδιότητες : Η φόρμα 1

Form1 Name frmbill Το όνομα του Έκδοση Λογαριασμού Η γραμμή τίτλου MaximizeButton False Για να μην FormBorderStyle FixedSingle αλλάζει το μέγεθος της φόρμας. Το πρώτο κουτί κειμένου textbox1 Name txtproduct Το όνομα του Το δεύτερο κουτί κειμένου textbox2 Name txtposotita Το όνομα του Το τρίτο κουτί κειμένου textbox3 Name txttimi Το όνομα του ReadOnly True Για να μην μπορεί να γράψει ο χρήστης Το τέταρτο κουτί κειμένου textbox4 Name txtaxia Το όνομα του ReadOnly True Για να μην μπορεί να γράψει ο χρήστης Το πέμπτο κουτί κειμένου 2

textbox5 Name txtbill Το όνομα του ReadOnly True Για να μην μπορεί να γράψει ο χρήστης Η πρώτη ετικέτα label1 Name lbldescription Το όνομα του Περιγραφή Font Arial 14 Γραμματοσειρά ForeColor Blue Χρώμα Η δεύτερη ετικέτα label2 Name lblproduct Το όνομα του Περιγραφή Η τρίτη ετικέτα label3 Name lblposotita Το όνομα του Ποσότητα Η τέταρτη ετικέτα label4 Name lbltimi Το όνομα του Τιμή Η πέμπτη ετικέτα label5 Name lblaxia Το όνομα του Αξία Η έκτη ετικέτα label6 Name lblbill Το όνομα του 3

Λογαριασμός Το πρώτο κουμπί εντολών button1 Name btnnewproduct Το όνομα του Επόμενο Το δεύτερο κουμπί εντολών button2 Name btnnextcustomer Το όνομα του Επόμενο H λογική της εφαρμογής είναι να πληκτρολογείτε την περιγραφή ενός προϊόντος (π.χ. Μακαρόνια), την ποσότητα (π.χ. 2), την τιμή του (π.χ. 2,34) και πατώντας το πλήκτρο Επόμενο να εμφανίζετε η αξία του προϊόντος δηλαδή 4,68. Η υλοποίηση μέχρι στιγμής είναι εύκολη αφού στο κώδικα της συνάρτησης btnnewproduct_click θα μετατρέψετε σε αριθμούς τα περιεχόμενα των κουτιών κειμένου txtposotita και txttimi και θα αποδώσετε το γινόμενο τους σε μια τοπική μεταβλητή τύπου double με το όνομα Αxia. Τέλος θα εμφανίσετε την τιμή της μεταβλητής Axia στο αντίστοιχο κουτί κειμένου. Όμως εκτός από τα ανωτέρω θέλετε να διατηρείτε και το άθροισμα όλων των αξιών που υπολογίσατε ανάμεσα στα διαδοχικά πατήματα του κουμπιού Επόμενο και το σύνολο να εμφανίζετε στο κουτί με την ετικέτα Λογαριασμός. Για την υλοποίηση αυτής της λειτουργίας θα χρειαστείτε μια μεταβλητή τύπου double με όνομα Bill και αρχική τιμή 0 και με το πάτημα του κουμπιού Επόμενο, η τιμή της Bill να αυξάνεται κατά την τιμή της αξίας, δηλαδή Bill = Bill + Axia. Αν την Bill την δηλώσετε μέσα στην btnnewproduct_click όσες φορές και να πατήσετε το πλήκτρο Επόμενο οι τιμές των Αxia και Bill θα είναι οι ίδιες. Το πρόβλημα βρίσκεται στο ότι η μεταβλητή Bill είναι τοπική μεταβλητή για την btnnewproduct_click και αποκτά υπόσταση με το πάτημα του κουμπιού Επόμενο, οπότε κάθε φορά ξεκινά με την τιμή 0. Η λύση είναι να ορίσετε την Bill έξω από το σώμα της συνάρτησης αλλά μέσα στο σώμα της κλάσης frmbill. 4

Επιλέξτε το κουμπί εντολών btnnewproduct και στο παράθυρο Properties κάντε κλικ στο εικονίδιο με το κεραυνό για να εμφανιστούν τα γεγονότα. Βρείτε το γεγονός Click κάντε διπλό κλικ πάνω για να εμφανιστεί το παράθυρο με το προγραμματισμό των γεγονότων. Μέσα στη μέθοδο btnnewproduct_click πληκτρολογείστε τις παρακάτω εντολές : Πίνακας 1. Ο κώδικας της εφαρμογής 1 namespace SuperMarket 2 { 3 4 public partial class frmbill : Form 5 { 6 double Bill = 0; 7 8 public frmbill() 9 { 10 InitializeComponent(); 11 } 12 13 private void btnnextproduct_click(object sender, EventArgs e) 14 { 15 double posotita = double.parse(txtposotita.); 16 double timi = double.parse(txttimi.); 17 double Αxia = posotita * timi; 18 Bill = Bill + Αxia; 19 txtaxia. = Αxia.ToString(); 20 txtbill. = Bill.ToString(); 21 } 22 23 void ClearFields() 24 { 25 txtproduct. = ""; 26 txtposotita. = ""; 27 txttimi. = ""; 28 txtbill. = ""; 29 txtaxia. = ""; 30 } 31 32 private void btnnewcustomer_click(object sender, EventArgs e) 33 { 34 ClearFields(); 35 36 37 Bill = 0; 38 } 39 40 } 5

41 } Όλες οι μεταβλητές έξω από το σώμα μιας συνάρτησης ονομάζονται καθολικές (global) και αποκτούν υπόσταση καθ όλη την διάρκεια ζωής της κλάσης στην οποία εμπεριέχονται. Στην συγκεκριμένη περίπτωση η Bill εμπεριέχεται στην κλάση frmbill η οποία είναι το παράθυρο της εφαρμογής οπότε η Bill αποκτά υπόσταση με την έναρξη του προγράμματος και παύει να ισχύει με τον τερματισμό του. Την Bill θα μπορούσατε να την ορίσετε αντί της γραμμής 6 στην 12 ή 22 ή 31 ή 39. Οπουδήποτε μέσα στην frmbill αλλά έξω από οποιαδήποτε συνάρτηση. Στις γραμμές 23 έως 30 κατασκευάζετε την συνάρτηση ClearFields ή οποία είναι παράδειγμα συνάρτησης που δεν παίρνει παραμέτρους και δεν επιστρέφει τιμή και για αυτό δηλώνετε και void. Στις γραμμές 32 έως 38 στις οποίες ορίζετε τις εντολές που θα εκτελεστούν με το πάτημα του κουμπιού btnnewcustomer και αυτές είναι η εκτέλεση της ClearFields για να καθαρίσουν τα κουτιά κειμένου και η απόδοση του 0 στην Bill ώστε να υπολογίσει σωστά τον λογαριασμό του επόμενου πελάτη. Αν εν συνεχεία θέλετε να επεκτείνετε την εφαρμογή ώστε να υπολογίζετε και την είσπραξη της ημέρας θα πρέπει να κάνετε τα εξής : 1. Μεγαλώστε τις διαστάσεις της φόρμας της εφαρμογής και προσθέστε μια νέα ετικέτα και ένα νέο κουτί κειμένου, όπως στην παρακάτω εικόνα. Οι ιδιότητες των αντικειμένων θα είναι : Το κουτί κειμένου 6

textbox1 Η ετικέτα label1 Name txttotal Το όνομα του ReadOnly True Για να μην μπορεί να γράψει ο χρήστης Name lbltotal Το όνομα του Σύνολο Ημέρας Στο κώδικα του Πίνακα 1 στην γραμμή 7 προσθέστε μια νέα καθολική μεταβλητή τύπου double με όνομα Total και αρχική τιμή 0. 7 double Total = 0; Επίσης στις γραμμές 35 και 36 υπολογίστε το σύνολο της ημέρας και εμφανίστε το στο κουτί κειμένου txttotal. 35 Total = Total + Bill 36 txttotal. = Total.ToString() Αποσφαλμάτωση (Debugging) Όσο τα προγράμματα μεγαλώνουν σε μέγεθος θα πρέπει να είστε ιδιαίτερα προσεκτικοί στην σύνταξη των εντολών. Τα σύγχρονα περιβάλλοντα προγραμματισμού διαθέτουν την λειτουργία της αποσφαλμάτωσης με σκοπό να δώσουν την δυνατότητα στο προγραμματιστή να ελέγξει τις τιμές των μεταβλητών αλλά και την ροή του προγράμματος κατά την ώρα της λειτουργίας του. Για παράδειγμα υποθέστε ότι στο προηγούμενο πρόγραμμα θέλατε να ελέγξετε τις τιμές των μεταβλητών όταν πατάτε το πλήκτρο Επόμενο. Για να ενεργοποιήσετε την αποσφαλμάτωση θα πρέπει να πάτε στο κώδικα σας στην γραμμή 15 και να τοποθετήσετε ένα σημείο διακοπής (breakpoint). Αυτό επιτυγχάνετε πατώντας δεξί πλήκτρο στο σημείο που επιθυμείτε την διακοπή εκτέλεσης του προγράμματος και εν συνεχεία επιλέγετε Breakpoint και Insert Breakpoint. 7

Αμέσως μετά την εισαγωγή της διακοπής εμφανίζετε μια κόκκινη γραμμή για να δηλώσει την ύπαρξη του Breakpoint. Εν συνεχεία πατήστε F5 για να τρέξετε την εφαρμογή σας και αφού πληκτρολογείστε τις τιμές της παρακάτω εικόνας εν συνεχεία πατήστε το πλήκτρο Επόμενο. Με το πάτημα του πλήκτρου εμφανίζετε ο κώδικας της εφαρμογής στο σημείο της διακοπής. Μια κίτρινη γραμμή και ένα βέλος στο αριστερό περιθώριο της σελίδας δείχνουν την τρέχουσα γραμμή εκτέλεσης του προγράμματος. Πηγαίνοντας το κέρσορα πάνω από μια μεταβλητή ή ένα αντικείμενο της φόρμας χωρίς να πατήσετε 8

κάποιο πλήκτρο το περιβάλλον σας δείχνει την τιμή του. Στην παρακάτω εικόνα εμφανίζετε η τιμή του κουτιού κειμένου txtposotita. Αν θέλετε να έχετε συνεχώς μπροστά σας ένα πίνακα με μια ή περισσότερες μεταβλητές ώστε να παρακολουθείτε τις εναλλαγές που συμβαίνουν στις τιμές τους, τότε πηγαίνετε το κέρσορα πάνω από την επιθυμητή μεταβλητή και αφού πατήσετε δεξί πλήκτρο επιλέξτε Add Watch. Μετά την επιλογή Add Watch εμφανίζεται στο κάτω μέρος της οθόνης ένας πίνακας με το όνομα, την τιμή και το τύπο της μεταβλητής. Στο πίνακα μπορείτε να προσθέσετε μια καινούργια μεταβλητή είτε επαναλαμβάνοντας την προηγούμενη διαδικασία ή πηγαίνοντας σε μια κενή γραμμή και πληκτρολογώντας το όνομα της. Αντίθετα πατώντας το πλήκτρο Del πάνω σε μια γραμμή διαγράφετε την αντίστοιχη μεταβλητή από το πίνακα. 9

Για να προχωρήσετε στην επόμενη γραμμή του προγράμματος θα πρέπει να πατήσετε το πλήκτρο F10 ή F11. Η διαφορά μεταξύ τους είναι ότι το F11 εκτελεί την επόμενη γραμμή ενώ το F10 εκτελεί το επόμενο σύνολο εντολών. Για να καταλάβετε την διαφορά θεωρείστε ένα σημείο διακοπής στην γραμμή 34 του Πίνακα 1. Αν πατήσετε το πλήκτρο F11 τότε η εκτέλεση του προγράμματος θα συνεχίσει στο σώμα της ClearFields και αφού συνεχίσετε να πατάτε το F11 και φτάσετε στην γραμμή 30 τότε θα επιστρέψετε στην γραμμή 35 της btnnewcustomer_click. Αν στην γραμμή 34 αντί για F11 είχατε πατήσει το F10 τότε πάλι θα εκτελούσατε την ClearFields χωρίς όμως να μπείτε στο σώμα της και να τρέξετε γραμμή προς γραμμή τις εντολές και θα συνεχίζατε στην γραμμή 35. Το F10 είναι χρήσιμο για να αποφύγετε μια άσκοπη περιήγηση στο σώμα μιας συνάρτησης την οποία έχετε ελέγξει σε προηγούμενο στάδιο. 10

Αν θέλετε να διαγράψετε ή να απενεργοποιήσετε το σημείο διακοπής τότε πατάτε δεξί πλήκτρο πάνω του οπουδήποτε στην κόκκινη γραμμή - και εν συνεχεία επιλέγετε Breakpoint και Delete Breakpoint (διαγραφή) ή Disable Breakpoint (απενεργοποίηση). H αποσφαλμάτωση είναι μια χρονοβόρα διαδικασία αλλά και πολύτιμο εργαλείο για την διόρθωση σφαλμάτων και την κατανόηση της εκτέλεσης των εντολών του προγράμματος. 11