Περιεχόμενα. Μέρος I Ξεκίνημα με τη Microsoft Visual Basic Εξερεύνηση του ολοκληρωμένου περιβάλλοντος ανάπτυξης του Visual Studio...

Σχετικά έγγραφα
Ευχαριστίες...xi Εισαγωγή...xiii. ΚΕΦΑΛΑΙΟ 1 Άνοιγµα και εκτέλεση ενός προγράµµατος Visual Basic.NET

Περιεχόμενα. Ευχαριστίες...17 Εισαγωγή Εξερεύνηση του ολοκληρωμένου περιβάλλοντος ανάπτυξης του Visual Studio...33

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27

Περιεχόμενα. Κεφάλαιο 1 Γνωριμία με το Excel...9

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

Περιεχόμενα. Κεφάλαιο 1 Γνωριμία με το Excel... 9

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

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

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος...

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στο PowerPoint 9. Κεφάλαιο 2 Εργασία με κείμενο 41

0 Περιεχόμενα με μια ματιά

Περιεχόμενα. 1 Προετοιμασία βιβλίου εργασίας Εργασία με δεδομένα και πίνακες Excel 75. Ευχαριστίες Εισαγωγή στο Microsoft Excel

Κεφάλαιο 1 Χρήση προτύπου 2. Κεφάλαιο 2 Τροποποίηση μιας παρουσίασης 9. Κεφάλαιο 4 Προσθήκη αντικειμένων 26. Κεφάλαιο 5 Ειδικά εφέ 35

Πρόλογος... xiii ΜΕΡΟΣ 1 1 Εισαγωγή στο Excel Βασικές λειτουργίες του Excel... 21

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

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

Είσοδος Έξοδος - Μεταβλητές

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Microsoft Excel Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26

Υπολογιστικά Συστήματα

GreekLUG Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα

Περιεχόμενα. Μέρος 1: Βασικές έννοιες της πληροφορικής Πρόλογος... 11

Περιεχόμενα. Εισαγωγή στο Word Βασικές μορφοποιήσεις κειμένων Κεφάλαιο 1. Κεφάλαιο 2

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

ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΟΥ Explorer & Outlook 2013

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

Λίγα λόγια από το συγγραφέα Microsoft Word Δημιουργία νέου εγγράφου Το σύστημα Βοήθειας του Word...

Περιεχόμενα ΜΕΡΟΣ 1. Πρόλογος... xiii. 1 Εισαγωγή στο Excel Βασικές λειτουργίες του Excel... 23

Περιεχόμενα. Εισαγωγή στο Word Βασικές μορφοποιήσεις κειμένων Κεφάλαιο 1. Κεφάλαιο 2

Συναρτήσεις στη Visual Basic 6.0

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

2 Αποδοτική εργασία στα Windows Vista 103

Πρότυπα βιβλίων εργασίας και ονόματα κελιών

Εισαγωγή Κεφάλαιο 1: Εγκατάσταση της Access Κεφάλαιο 2: Βάσεις δεδομένων και δομικά στοιχεία της Access

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

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

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

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

ΔΟΜΗΜΕΝΟΣ ΟΠΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΠAΡΑΘΥΡΙΚΟ ΠΕΡΙΒΑΛΛΟΝ με τη Γλώσσα Προγραμματισμού VISUAL BASIC (1 ο ΕΠΙΠΕΔΟ)

Περιεχόμενα. 1 Tο βιβλίο "με μια ματιά" Εισαγωγή στη Microsoft Access Γνωριμία με τις βάσεις δεδομένων της Access...

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

6 Το μικρό βιβλίο για το ελληνικό Word 2010

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

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

1. Τα τμήματα της επιφάνειας εργασίας των Windows

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

Χρήστος Στασινός. ουλεύοντας με τη. Microsoft Access ΑΘΗΝΑ

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στο Outlook Κεφάλαιο 2 Βασικές εργασίες με μηνύματα 31

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

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

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

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

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

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

Περιεχόμενα. Λίγα λόγια από τον συγγραφέα Microsoft Excel Η δομή ενός φύλλου εργασίας... 21

Περιεχόμενα. Λίγα λόγια από το συγγραφέα...7 Κεφάλαιο 1: Προετοιμασία παρουσίασης...9. Κεφάλαιο 2: Διαχείριση παρουσίασης...44

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στο Outlook Κεφάλαιο 2 Βασικές εργασίες με μηνύματα 33

Τίτλος Πακέτου Certified Computer Expert-ACTA

Λίγα λόγια από το συγγραφέα...7

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

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

Π Ε Ρ Ι Ε Χ Ο Μ Ε Ν Α

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word

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

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

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στο PowerPoint...9. Κεφάλαιο 2 Εργασία με κείμενο... 39

Βάσεις δεδομένων (Access)

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

ΓΛΩΣΣΑ ΑΛΦΑΒΗΤΟ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΣΤΑΘΕΡΕΣ ΜΕΤΑΒΛΗΤΕΣ

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

Αντιγραφή με χρήση της γυάλινης επιφάνειας σάρωσης

Το σύστημα Βοήθειας του Internet Explorer

Περιεχόμενα. Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων...

Επεξεργασία κειμένου: Word 2003

Συντάχθηκε απο τον/την Administrator Δευτέρα, 22 Φεβρουάριος :11 - Τελευταία Ενημέρωση Παρασκευή, 26 Φεβρουάριος :52

Περιεχόμενα. 1 Εισαγωγή: Tο βιβλίο Τι νέο υπάρχει στο Excel Πρώτα βήματα στο Excel Ευχαριστίες...

Βάσεις δεδομένων (Access)

ΠΕΡΙΕΧΟΜΕΝΑ. Εισαγωγή...15 Κεφάλαιο 1: Τα βασικά στοιχεία του Excel Κεφάλαιο 2: Δημιουργία νέου βιβλίου εργασίας...33

Σπουδές CAD, Πληροφορικής, Οικονομίας, Διοίκησης και D.T.P. με Σύστημα διδασκαλίας facetoface

Κεφάλαιο 2.3: Ρυθμίσεις των Windows

Περιεχόμενα. Γνωριμία με το Excel 1. Προετοιμασία βιβλίου εργασίας 23. Εκτέλεση υπολογισμών σε δεδομένα 35. Αλλαγή της εμφάνισης του εγγράφου 49

Κοινή χρήση πόρων με τα Windows XP

Περιεχόμενα. Λίγα λόγια από το συγγραφέα Microsoft Word ημιουργία νέου εγγράφου Το σύστημα Βοήθειας του Office...

Λίγα λόγια από το συγγραφέα Microsoft Excel Η δομή ενός φύλλου εργασίας... 21

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

Γεωργάκης Αριστείδης ΠΕ20

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

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

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

Αναπαραγωγή με αρχεία ήχου

Visual Flowchart Γενικά

POWERPOINT Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων.

Διαχείριση Βάσης Δεδομένων (dbadmin)

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

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Σχεδίαση Βάσεων Δεδομένων

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

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

Τα αντικείμενα ή Χειριστήρια και οι βασικές ιδιότητες τους (properties)

8 FORTRAN 77/90/95/2003

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

Transcript:

Περιεχόμενα Εισαγωγή... 17 Τι είναι η Visual Basic 2008;... 17 Εκδόσεις της Visual Basic.NET... 18 Αναβάθμιση από τη Microsoft Visual Basic 6.0... 18 Βρείτε το καλύτερο σημείο εκκίνησης σε αυτό το βιβλίο... 19 Απαιτήσεις συστήματος για το Visual Studio 2008... 21 Λογισμικό προέκδοσης... 21 Εγκατάσταση και χρήση των αρχείων εξάσκησης... 22 Εγκατάσταση των αρχείων εξάσκησης... 22 Χρήση των αρχείων εξάσκησης... 23 Απεγκατάσταση των αρχείων εξάσκησης... 27 Συμβάσεις και χαρακτηριστικά του βιβλίου... 28 Συμβάσεις... 28 Άλλα χαρακτηριστικά του βιβλίου... 29 Χρήσιμοι σύνδεσμοι υποστήριξης... 29 Υποστήριξη λογισμικού για το Visual Studio 2008... 29 Ιστότοπος της Microsoft Press... 29 Υποστήριξη για το βιβλίο... 29 Μέρος I Ξεκίνημα με τη Microsoft Visual Basic 2008 1 Εξερεύνηση του ολοκληρωμένου περιβάλλοντος ανάπτυξης του Visual Studio... 33 Το περιβάλλον ανάπτυξης του Visual Studio... 34 Τα εργαλεία του Visual Studio... 38 Ο Σχεδιαστής... 40 Εκτέλεση προγράμματος Visual Basic... 42 Το παράθυρο Ιδιοτήτων... 44 Μετακίνηση και αλλαγή μεγέθους των προγραμματιστικών εργαλείων... 47 Μετακίνηση και αλλαγή μεγέθους παραθύρων εργαλείων... 49 Προσκόλληση παραθύρων εργαλείων... 50 Απόκρυψη παραθύρων εργαλείων... 51

8 Περιεχόμενα Εναλλαγή μεταξύ ανοιχτών αρχείων και εργαλείων με τη χρήση του Πλοηγού... 52 Άνοιγμα φυλλομετρητή Ιστού στο Visual Studio... 53 Λήψη βοήθειας... 54 Δύο πηγές βοήθειας: Τοπικά αρχεία βοήθειας και περιεχόμενο στον Ιστό... 54 Σύνοψη των διαταγών Βοήθειας... 59 Προσαρμογή ρυθμίσεων του περιβάλλοντος ανάπτυξης για την εκτέλεση των ασκήσεων του βιβλίου... 59 Ρύθμιση του περιβάλλοντος ανάπτυξης για προγραμματισμό σε Visual Basic... 60 Έλεγχος ρυθμίσεων έργου και μεταγλωττιστή... 61 Ένα βήμα πιο πέρα: Έξοδος από το Visual Studio... 64 Κεφάλαιο 1 Γρήγορη αναφορά... 65 2 Συγγραφή του πρώτου σας προγράμματος... 67 Lucky Seven: Το πρώτο σας πρόγραμμα σε Visual Basic... 67 Προγραμματιστικά βήματα... 68 Δημιουργία της διασύνδεσης χρήστη... 68 Ορισμός των ιδιοτήτων... 75 Ιδιότητες του πλαισίου εικόνας... 81 Συγγραφή του κώδικα... 83 Μια ματιά στη διαδικασία Button1_Click... 88 Εκτέλεση εφαρμογών Visual Basic... 90 Δείγματα έργων στο δίσκο... 92 Δημιουργία εκτελέσιμου αρχείου... 92 Διανομή της εφαρμογής σας... 94 Ένα βήμα πιο πέρα: Προσθήκες σε προγράμματα... 95 Κεφάλαιο 2 Γρήγορη αναφορά... 97 3 Εργασία με τα χειριστήρια της Εργαλειοθήκης... 99 Βασική χρήση των χειριστηρίων: Το πρόγραμμα Hello World... 99 Χρήση του χειριστηρίου DateTimePicker...105 Το πρόγραμμα Birthday...105 Λίγα λόγια για την ορολογία...110 Χειριστήρια για την είσοδο δεδομένων...112 Το πρόγραμμα επίδειξης Input Controls...115 Εξέταση του κώδικα του προγράμματος Input Controls...118 Ένα βήμα πιο πέρα: Χρήση του χειριστηρίου LinkLabel...121 Κεφάλαιο 3 Γρήγορη αναφορά...125

Περιεχόμενα 9 4 Εργασία με μενού, γραμμές εργαλείων, και πλαίσια διαλόγου... 127 Προσθήκη μενού με χρήση του χειριστηρίου MenuStrip...128 Προσθήκη πλήκτρων πρόσβασης σε διαταγές μενού...130 Επεξεργασία επιλογών μενού...133 Προσθήκη γραμμών εργαλείων με το χειριστήριο ToolStrip...138 Χρήση χειριστηρίων πλαισίων διαλόγου...141 Διαδικασίες συμβάντων για τη διαχείριση τυπικών πλαισίων διαλόγου...142 Ένα βήμα πιο πέρα: Αντιστοίχιση πλήκτρων συντόμευσης σε μενού...148 Κεφάλαιο 4 Γρήγορη αναφορά...151 Μέρος II Βασικές αρχές προγραμματισμού 5 Τύποι και μεταβλητές της Visual Basic, και το Πλαίσιο Εφαρμογών.NET... 155 Ανατομία μιας εντολής προγράμματος της Visual Basic...155 Χρήση μεταβλητών για την αποθήκευση πληροφοριών...156 Εκχώρηση μνήμης σε μεταβλητές: Η εντολή Dim...156 Έμμεση δήλωση μεταβλητών...158 Χρήση μεταβλητών σε προγράμματα...159 Χρήση μεταβλητών για την αποθήκευση δεδομένων εισόδου...163 Χρήση μεταβλητών για έξοδο δεδομένων...166 Χρήση συγκεκριμένων τύπων δεδομένων...168 Σταθερές: μεταβλητές που δεν αλλάζουν...174 Χρήση των τελεστών της Visual Basic...176 Βασικά μαθηματικά: οι τελεστές +,, *, και /...177 Χρήση «προχωρημένων» τελεστών:, Mod, ^, και &...180 Χρήση μεθόδων στο Πλαίσιο Εφαρμογών.NET της Microsoft...184 Ένα βήμα πιο πέρα: Oρισμός σειράς προτεραιότητας...187 Χρήση παρενθέσεων σε τύπους...188 Κεφάλαιο 5 Γρήγορη αναφορά...189 6 Χρήση δομών απόφασης... 191 Προγραμματισμός οδηγούμενος από συμβάντα...192 Χρήση παραστάσεων συνθήκης...194 Δομές απόφασης If...Then...195 Έλεγχος πολλών συνθηκών σε μια δομή απόφασης If...Then...195 Χρήση λογικών τελεστών σε παραστάσεις συνθήκης...200 «Παράκαμψη υπολογισμού» με τη χρήση των τελεστών AndAlso και OrElse...203

10 Περιεχόμενα Δομές απόφασης Select Case...205 Χρήση τελεστών σύγκρισης σε δομές Select Case...206 Ένα βήμα πιο πέρα: Ανίχνευση συμβάντων του ποντικιού...211 Κεφάλαιο 6 Γρήγορη αναφορά...213 7 Χρήση βρόχων και χρονομέτρων... 215 Χρήση βρόχων For Next...216 Εμφάνιση μετρητή σε χειριστήριο TextBox...217 Δημιουργία σύνθετων βρόχων For...Next...220 Χρήση μετρητή μεγαλύτερης εμβέλειας...223 Χρήση βρόχων Do...226 Αποφυγή ατέρμονος βρόχου...227 Το χειριστήριο χρονομέτρου...230 Δημιουργία ψηφιακού ρολογιού με χρήση του χειριστηρίου Timer...231 Χρήση αντικειμένου χρονομέτρου για τον καθορισμό χρονικού ορίου...234 Ένα βήμα πιο πέρα: Εισαγωγή αποσπασμάτων κώδικα...237 Κεφάλαιο 7 Γρήγορη αναφορά...241 8 Αποσφαλμάτωση προγραμμάτων της Visual Basic... 243 Εντοπισμός και διόρθωση σφαλμάτων...244 Τρεις τύποι σφαλμάτων...244 Αναγνώριση λογικών σφαλμάτων...245 Χρήση της κατάστασης Αποσφαλμάτωσης...246 Παρακολούθηση μεταβλητών με τη χρήση ενός παράθυρου Παρακολούθησης...251 Οπτικοποιητές: Εργαλεία αποσφαλμάτωσης για την εμφάνιση δεδομένων...253 Χρήση των παραθύρων Άμεσης Εκτέλεσης και Διαταγών...255 Εναλλαγή στο παράθυρο Διαταγών...257 Ένα βήμα πιο πέρα: Αφαίρεση σημείων διακοπής...258 Κεφάλαιο 8 Γρήγορη αναφορά...259 9 Παγίδευση σφαλμάτων με τη χρήση δομημένου χειρισμού σφαλμάτων... 261 Επεξεργασία σφαλμάτων με τη χρήση της εντολής Try...Catch...262 Πότε πρέπει να χρησιμοποιείτε χειριστές σφαλμάτων...262 Στήσιμο της παγίδας: Το μπλοκ Try Catch...263 Σφάλματα διαδρομής και μονάδων δίσκων...264 Δημιουργία χειριστή σφαλμάτων μονάδας δίσκων...267

Περιεχόμενα 11 Χρήση του όρου Finally για εργασίες καθαρισμού...269 Πιο σύνθετοι χειριστές σφαλμάτων Try...Catch...271 Το αντικείμενο Err...271 Καθορισμός της διάρκειας των προσπαθειών...275 Χρήση ένθετων τμημάτων Try...Catch...278 Σύγκριση χειριστών σφαλμάτων και τεχνικών αμυντικού προγραμματισμού...278 Ένα βήμα πιο πέρα: Η εντολή Exit Try...279 Κεφάλαιο 9 Γρήγορη αναφορά...280 10 Δημιουργία λειτουργικών μονάδων και διαδικασιών... 283 Εργασίες με λειτουργικές μονάδες...284 Δημιουργία λειτουργικής μονάδας...284 Χρήση δημοσίων μεταβλητών...288 Δημιουργία διαδικασιών...292 Δημιουργία συναρτήσεων...294 Σύνταξη των συναρτήσεων...294 Κλήση συναρτήσεων...296 Χρήση συνάρτησης για την εκτέλεση υπολογισμών...296 Δημιουργία υπορουτινών...300 Σύνταξη υπορουτινών...300 Κλήση υπορουτινών...301 Χρήση υπορουτίνας για τη διαχείριση δεδομένων εισόδου...302 Ένα βήμα πιο πέρα: Μεταβίβαση ορισμάτων κατ' αξία και κατ' αναφορά...307 Κεφάλαιο 10 Γρήγορη αναφορά...309 11 Χρήση πινάκων για τη διαχείριση αριθμητικών και αλφαριθμητικών δεδομένων... 311 Χρήση πινάκων μεταβλητών...311 Δημιουργία πίνακα...312 Δήλωση πίνακα σταθερού μεγέθους...313 Δέσμευση της απαραίτητης ποσότητας μνήμης...314 Χειρισμός των στοιχείων ενός πίνακα...315 Δημιουργία πίνακα σταθερού μεγέθους για την αποθήκευση θερμοκρασιών...316 Δημιουργία δυναμικού πίνακα...320 Διατήρηση των περιεχομένων ενός πίνακα με την εντολή ReDim Preserve...323 Τριδιάστατοι πίνακες...324

12 Περιεχόμενα Ένα βήμα πιο πέρα: Επεξεργασία μεγάλων πινάκων με τη χρήση μεθόδων της κλάσης Array...325 Η κλάση Array...325 Κεφάλαιο 11 Γρήγορη αναφορά...331 12 Εργασία με συλλογές και το χώρο ονομάτων System.Collections... 333 Εργασία με συλλογές αντικειμένων...333 Αναφορά στα αντικείμενα μιας συλλογής...334 Χρήση βρόχων For Each...Next...334 Πειραματισμός με αντικείμενα της συλλογής Controls...335 Χρήση της ιδιότητας Name στο βρόχο For Each...Next...338 Δημιουργία των δικών σας συλλογών...340 Δήλωση νέων συλλογών...340 Ένα βήμα πιο πέρα: Συλλογές της VBA...345 Καταχώριση της μακροεντολής του Word...346 Κεφάλαιο 12 Γρήγορη αναφορά...347 13 Χρήση αρχείων κειμένου και επεξεργασία αλφαριθμητικών... 349 Εμφάνιση αρχείων κειμένου με τη χρήση ενός αντικειμένου πλαισίου κειμένου...349 Άνοιγμα ενός αρχείου κειμένου για είσοδο...350 Η συνάρτηση FileOpen...350 Χρήση της κλάσης StreamReader και του χώρου ονομάτων My.Computer.FileSystem για το άνοιγμα αρχείων κειμένου...355 Η κλάση StreamReader...355 Ο χώρος ονομάτων My...356 Δημιουργία ενός νέου αρχείου κειμένου στο δίσκο...358 Επεξεργασία αλφαριθμητικών κειμένου με κώδικα...362 Η κλάση String και χρήσιμες μέθοδοι και δεσμευμένες λέξεις...363 Ταξινόμηση κειμένου...365 Χρήση των κωδικών ASCII...366 Ταξινόμηση αλφαριθμητικών σε ένα πλαίσιο κειμένου...367 Ένα βήμα πιο πέρα: Εξέταση του κώδικα στο πρόγραμμα Sort Text...370 Κεφάλαιο 13 Γρήγορη αναφορά...373

Περιεχόμενα 13 Μέρος III Σχεδίαση της διασύνδεσης χρήστη 14 Διαχείριση Φορμών Windows και χειριστηρίων κατά το χρόνο εκτέλεσης... 377 Προσθήκη νέων φορμών σε ένα πρόγραμμα...377 Πώς χρησιμοποιούνται οι φόρμες...378 Χρήση πολλών φορμών...378 Τοποθέτηση φορμών στην επιφάνεια εργασίας των Windows...386 Ελαχιστοποίηση, μεγιστοποίηση, και επαναφορά παραθύρων...391 Προσθήκη χειριστηρίων σε μια φόρμα κατά το χρόνο εκτέλεσης...392 Οργάνωση χειριστηρίων μιας φόρμας...395 Ένα βήμα πιο πέρα: Προσδιορισμός του αντικειμένου εκκίνησης...398 Κεφάλαιο 14 Γρήγορη αναφορά...400 15 Προσθήκη γραφικών και εφέ κίνησης... 403 Προσθήκη γραφικών με τη χρήση του χώρου ονομάτων System.Drawing...404 Χρήση του συστήματος συντεταγμένων μιας φόρμας...404 Η κλάση System.Drawing.Graphics...405 Χρήση του συμβάντος Paint μιας φόρμας...406 Προσθήκη κίνησης στα προγράμματά σας...408 Μετακίνηση αντικειμένων σε μια φόρμα...409 Η ιδιότητα Location...410 Δημιουργία κίνησης με τη χρήση αντικειμένου χρονομέτρου...410 Αλλαγή μεγέθους αντικειμένων κατά την εκτέλεση ενός προγράμματος...415 Ένα βήμα πιο πέρα: Αλλαγή της διαφάνειας μιας φόρμας...417 Κεφάλαιο 15 Γρήγορη αναφορά...419 16 Κληρονόμηση φορμών και δημιουργία βασικών κλάσεων... 421 Κληρονόμηση φόρμας με χρήση του Επιλογέα Κληρονομικότητας...422 Δημιουργία των δικών σας βασικών κλάσεων...427 Προσθήκη νέας κλάσης στο έργο σας...429 Ένα βήμα πιο πέρα: Κληρονόμηση μιας βασικής κλάσης...436 Κεφάλαιο 16 Γρήγορη αναφορά...439

14 Περιεχόμενα 17 Εργασία με εκτυπωτές... 441 Χρήση της κλάσης PrintDocument...441 Εκτύπωση κειμένου από πλαίσιο κειμένου...446 Εκτύπωση πολυσέλιδων αρχείων κειμένου...450 Ένα βήμα πιο πέρα: Προσθήκη των πλαισίων διαλόγου Print Preview και Page Setup...457 Κεφάλαιο 17 Γρήγορη αναφορά...463 Μέρος IV Προγραμματισμός βάσεων δεδομένων και προγραμματισμός για τον Ιστό 18 Ξεκίνημα με το ADO.NET... 467 Προγραμματισμός βάσεων δεδομένων με το ADO.NET...467 Ορολογία βάσεων δεδομένων...468 Χρήση μιας βάσης δεδομένων της Access...470 Το παράθυρο Προελεύσεων Δεδομένων...479 Χρήση δεσμευμένων χειριστηρίων για την εμφάνιση πληροφοριών από μια βάση δεδομένων...485 Ένα βήμα πιο πέρα: Εντολές SQL, LINQ, και φιλτράρισμα δεδομένων...489 Κεφάλαιο 18 Γρήγορη αναφορά...494 19 Παρουσίαση δεδομένων με το χειριστήριο DataGridView... 495 Χρήση του χειριστηρίου DataGridView για την εμφάνιση εγγραφών βάσης δεδομένων...495 Μορφοποίηση κελιών σε ένα χειριστήριο DataGridView...508 Εστίαση στα δεδομένα: Προσθήκη δεύτερου πλέγματος και χειριστηρίου πλοήγησης...511 Ένα βήμα πιο πέρα: Ενημέρωση της αρχικής βάσης δεδομένων...514 Κεφάλαιο 19 Γρήγορη αναφορά...517 20 Δημιουργία ιστότοπων και ιστοσελίδων με το Visual Web Developer και την ASP.NET... 519 Στα «ενδότερα» της ASP.NET...520 Ιστοσελίδες και φόρμες Windows...521 Χειριστήρια διακομιστή...522 Χειριστήρια HTML...523 Κατασκευή ιστότοπου με το Visual Web Developer...524 Εξέταση προδιαγραφών λογισμικού για προγραμματισμό σε ASP.NET...524 Χρήση του Σχεδιαστή Ιστοσελίδων...527

Περιεχόμενα 15 Προσθήκη χειριστηρίων διακομιστή σε ένα ιστότοπο...530 Συγγραφή διαδικασιών συμβάντων για χειριστήρια ιστοσελίδων...533 Προσθήκη επιπλέον ιστοσελίδων και πόρων σε έναν ιστότοπο...538 Εμφάνιση εγγραφών βάσεων δεδομένων σε μια ιστοσελίδα...544 Ένα βήμα πιο πέρα: Ορισμός τίτλου ιστότοπου στον Internet Explorer...551 Κεφάλαιο 20 Γρήγορη αναφορά...553 Παράρτημα... 555 Πού θα απευθυνθείτε για περισσότερες πληροφορίες... 555 Ιστότοποι για τη Visual Basic...555 Βιβλία για προγραμματισμό σε Visual Basic και Visual Studio...557 Προγραμματισμός σε Visual Basic...557 Πλαίσιο Εφαρμογών.NET...557 Προγραμματισμός βάσεων δεδομένων με το ADO.NET...558 Προγραμματισμός για τον Ιστό με την ASP.NET...558 Προγραμματισμός σε Visual Basic for Applications...558 Γενικά βιβλία για τον προγραμματισμό και την επιστήμη των υπολογιστών...559 Ευρετήριο... 561 Λίγα λόγια για το συγγραφέα... 584

Κεφάλαιο 5 Τύποι και μεταβλητές της Visual Basic, και το Πλαίσιο Εφαρμογών.NET Μετά την ολοκλήρωση αυτού του κεφαλαίου θα μπορείτε: Να χρησιμοποιείτε μεταβλητές για να αποθηκεύετε δεδομένα στα προγράμματά σας. Να διαβάζετε δεδομένα εισόδου χρησιμοποιώντας τη συνάρτηση InputBox. Να εμφανίζετε μηνύματα με τη συνάρτηση MsgBox. Να εργάζεστε με διαφορετικούς τύπους δεδομένων. Να χρησιμοποιείτε μεταβλητές και τελεστές για να χειρίζεστε δεδομένα. Να χρησιμοποιείτε μεθόδους στο Πλαίσιο Εφαρμογών.NET. Να χρησιμοποιείτε αριθμητικούς τελεστές και συναρτήσεις σε τύπους. Σε αυτό το κεφάλαιο, θα μάθετε πώς να χρησιμοποιείτε μεταβλητές και σταθερές για να αποθηκεύετε δεδομένα προσωρινά στο πρόγραμμά σας, και πώς να χρησιμοποιείτε τις συναρτήσεις InputBox και MsgBox για να συλλέγετε και να παρουσιάζετε πληροφορίες χρησιμοποιώντας πλαίσια διαλόγου. Θα δείτε επίσης πώς μπορείτε να χρησιμοποιείτε συναρτήσεις και τύπους για να εκτελείτε υπολογισμούς, και θα μάθετε να χρησιμοποιείτε αριθμητικούς τελεστές για να εκτελείτε διάφορες πράξεις όπως ο πολλαπλασιασμός και η συνένωση αλφαριθμητικών. Τέλος, θα μάθετε πώς να εκμεταλλεύεστε τις ισχυρές κλάσεις και τις μεθόδους του Πλαισίου Εφαρμογών.NET 3.5 για να εκτελείτε μαθηματικούς υπολογισμούς και άλλες χρήσιμες εργασίες. Ανατομία μιας εντολής προγράμματος της Visual Basic Όπως είδατε στο Κεφάλαιο 2, Συγγραφή του πρώτου σας προγράμματος, μια γραμμή κώδικα σε ένα πρόγραμμα της Visual Basic ονομάζεται προγραμματιστική εντολή (ή εντολή προγράμματος). Μια προγραμματιστική εντολή είναι οποιοσδήποτε συνδυασμός δεσμευμένων λέξεων, ιδιοτήτων, ονομάτων αντικειμένων, μεταβλητών, αριθμών, ειδικών συμβόλων, και άλλων τιμών, που όλα μαζί αποτελούν μια έγκυρη οδηγία αναγνωρίσιμη από το μεταγλωττιστή της Visual Basic. Μια ολοκληρωμένη προγραμματιστική εντολή μπορεί να αποτελείται από μια μοναδική δεσμευμένη λέξη όπως η End η οποία σταματά την εκτέλεση ενός προγράμματος της Visual Basic, ή μπορεί να είναι ένα συνδυασμός στοιχείων, όπως η ακόλουθη εντολή, η οποία χρησιμοποιεί την ιδιότητα TimeString για να αποδώσει την τρέχουσα ώρα του συστήματος στην ιδιότητα Text του αντικειμένου Label1:

156 Μέρος 2: Βασικές αρχές προγραμματισμού Label1.Text = TimeString Οι κανόνες που πρέπει να ακολουθείτε κατά τη διατύπωση μιας προγραμματιστικής εντολής ονομάζονται σύνταξη ή συντακτικό (syntax) των εντολών. Η Visual Basic διατηρεί πολλούς από τους συντακτικούς κανόνες των προγενέστερων εκδόσεων της γλώσσας προγραμματισμού BASIC, καθώς και των μεταγλωττιστών άλλων γλωσσών. Το μυστικό για τη συγγραφή καλών προγραμματιστικών εντολών είναι η εκμάθηση της σύνταξης των χρησιμότερων στοιχείων της γλώσσας, και η σωστή χρήση αυτών των στοιχείων για την επεξεργασία των δεδομένων ενός προγράμματος. Ευτυχώς, η Visual Basic αναλαμβάνει ένα πολύ μεγάλο μέρος της δύσκολης δουλειάς. Έτσι, ο χρόνος που αφιερώνετε για το γράψιμο κώδικα είναι σχετικά μικρός, ενώ μπορείτε να χρησιμοποιείτε τα αποτελέσματά σας και σε μελλοντικά προγράμματα. Το περιβάλλον ανάπτυξης του Visual Studio επισημαίνει επίσης πιθανά σφάλματα σύνταξης και προτείνει διορθώσεις, όπως περίπου η λειτουργία Αυτόματης Διόρθωσης του Microsoft Office Word. Σε αυτό και τα επόμενα κεφάλαια, θα γνωρίσετε τις σημαντικότερες δεσμευμένες λέξεις και προγραμματιστικές εντολές της Visual Basic, όπως επίσης πολλά αντικείμενα, ιδιότητες, και μεθόδους που παρέχονται από τα χειριστήρια του Visual Studio και το Πλαίσιο Εφαρμογών.NET. Θα διαπιστώσετε ότι αυτές οι δεσμευμένες λέξεις και τα αντικείμενα συμπληρώνουν αρμονικά τις προγραμματιστικές τεχνικές που έχετε μάθει ήδη, και θα σας βοηθήσουν να γράψετε στο μέλλον ισχυρά προγράμματα. Τα πρώτα θέματα που θα μας απασχολήσουν, οι μεταβλητές και οι τύποι δεδομένων, αποτελούν κρίσιμα στοιχεία όλων σχεδόν των προγραμμάτων. Χρήση μεταβλητών για την αποθήκευση πληροφοριών Μεταβλητή (variable) ονομάζεται μια προσωρινή θέση αποθήκευσης δεδομένων στο πρόγραμμά σας. Στον κώδικά σας μπορείτε να χρησιμοποιείτε μία ή περισσότερες μεταβλητές, και να αποθηκεύετε σε αυτές λέξεις, αριθμούς, ημερομηνίες, ιδιότητες, ή άλλες τιμές. Με τη χρήση μεταβλητών, μπορείτε να αποδώσετε ένα σύντομο και ευμνημόνευτο όνομα σε κάθε στοιχείο δεδομένων που σκοπεύετε να χρησιμοποιήσετε. Οι μεταβλητές μπορεί να περιέχουν πληροφορίες που εισάγει ο χρήστης κατά το χρόνο εκτέλεσης, αποτελέσματα συγκεκριμένων υπολογισμών, ή κάποια στοιχεία δεδομένων που σκοπεύετε να εμφανίσετε στη φόρμα σας. Για να μην μακρηγορούμε, οι μεταβλητές είναι βολικά δοχεία, τα οποία μπορείτε να χρησιμοποιείτε για να αποθηκεύετε και να παρακολουθείτε πληροφορίες σχεδόν οποιουδήποτε είδους. Η χρήση μεταβλητών σε ένα πρόγραμμα της Visual Basic χρειάζεται κάποιο σχεδιασμό. Πριν χρησιμοποιήσετε μια μεταβλητή, θα πρέπει να της παραχωρήσετε μια ποσότητα μνήμης του υπολογιστή σας. Αυτή η διαδικασία μοιάζει λίγο με το κλείσιμο θέσης στο θέατρο ή σε έναν αγώνα ποδοσφαίρου. Θα εξετάσουμε τη διαδικασία της κράτησης, ή δήλωσης (declaration), μιας μεταβλητής στην επόμενη ενότητα. Εκχώρηση μνήμης σε μεταβλητές: Η εντολή Dim Από την κυκλοφορία της Microsoft Visual Basic.NET 2003 και μετά, οι προγραμματιστές της Visual Basic είναι υποχρεωμένοι να δηλώνουν ρητά τις μεταβλητές πριν τις χρησιμοποιήσουν. Αυτό αποτελεί αλλαγή σε σχέση με τη Visual Basic 6 και προηγούμενες εκδόσεις, όπου (κάτω από ορισμένες προϋποθέσεις) μπορούσατε να δηλώσετε μεταβλητές με έμμεσο τρόπο με άλλα λόγια, μπορούσατε απλώς να χρησιμοποιήσετε μεταβλητές χωρίς προηγουμένως να τις έχετε δηλώσει με την εντολή Dim. Αν και αυτό παρείχε κάποια ευελιξία, επρόκειτο για μια μάλλον επικίνδυνη πρακτική μπορούσε να προκαλέσει σύγχυση στη χρήση των μεταβλητών και να επιτρέψει τη λαν-

Κεφάλαιο 5: Τύποι και μεταβλητές της Visual Basic, και το Πλαίσιο Εφαρμογών.NET 157 θασμένη γραφή των ονομάτων τους, με αποτέλεσμα την παρείσφρηση πιθανών σφαλμάτων στον κώδικα, τα οποία μπορούσαν να περάσουν απαρατήρητα. Η Visual Basic 2008 φέρνει αέρα περασμένων εποχών στον τομέα της δήλωσης μεταβλητών. Για άλλη μία φορά, μια μεταβλητή μπορεί να δηλωθεί εμμέσως. Ωστόσο, δεν συνιστώ κάτι τέτοιο, οπότε δεν θα συζητήσω αυτή τη νέα λειτουργία μέχρι να μάθετε τη συνιστώμενη προγραμματιστική πρακτική, την υιοθέτηση της οποίας θα εγκωμιάσει κάθε πεπειραμένος προγραμματιστής. Για να δηλώσετε μια μεταβλητή στη Visual Basic 2008, πληκτρολογείτε το όνομά της μετά από την εντολή Dim. (Η εντολή Dim προέρχεται από τη λέξη dimension, που σημαίνει διάσταση.) Αυτή η δήλωση δεσμεύει χώρο στη μνήμη για τη μεταβλητή κατά την εκτέλεση του προγράμματος, και επιτρέπει στη Visual Basic να γνωρίζει τι είδους δεδομένα πρέπει να περιμένει ότι θα αποδοθούν αργότερα στη μεταβλητή. Αν και η δήλωση μπορεί να γίνει σε οποιαδήποτε θέση του προγράμματος (φτάνει να προηγείται της χρήσης της μεταβλητής), οι περισσότεροι προγραμματιστές δηλώνουν τις μεταβλητές σε μια συγκεκριμένη θέση, στην αρχή της διαδικασίας συμβάντος ή της λειτουργικής μονάδας (module) του κώδικα. Για παράδειγμα, η επόμενη εντολή δεσμεύει χώρο για μια μεταβλητή που ονομάζεται LastName (Επώνυμο), η οποία θα περιέχει κείμενο, δηλαδή μια αλφαριθμητική τιμή (string): Dim LastName As String Παρατηρήστε ότι, πέρα από τον προσδιορισμό της μεταβλητής με το όνομά της, έχω χρησιμοποιήσει τη δεσμευμένη λέξη As για να αποδώσω στη μεταβλητή ένα συγκεκριμένο τύπο δεδομένων, και έχω προσδιορίσει αυτόν τον τύπο με τη δεσμευμένη λέξη String (Αλφαριθμητικό). (Θα μάθετε και άλλους τύπους δεδομένων σε αυτό το κεφάλαιο.) Μια αλφαριθμητική μεταβλητή περιέχει πληροφορίες με μορφή κειμένου: γράμματα, λέξεις, σύμβολα ακόμη και αριθμούς. Χρησιμοποιώ πολύ συχνά αλφαριθμητικές μεταβλητές μπορούν να περιέχουν ονόματα, τοποθεσίες, στίχους ποιημάτων, τα περιεχόμενα ενός αρχείου, και πολλά άλλα δεδομένα κειμένου. Γιατί πρέπει να δηλώνετε τις μεταβλητές; Η Visual Basic θέλει να προσδιορίζετε το όνομα και τον τύπο των μεταβλητών σας από πριν, έτσι ώστε ο μεταγλωττιστής να μπορεί να παραχωρήσει στο πρόγραμμά σας τη μνήμη που απαιτείται για την αποθήκευση και την επεξεργασία των πληροφοριών που περιέχονται στις μεταβλητές σας. Η διαχείριση της μνήμης μπορεί να μην μοιάζει και πολύ σημαντική εργασία (έτσι κι αλλιώς, οι σημερινοί προσωπικοί υπολογιστές διαθέτουν άφθονη RAM και πολλά gigabyte ελεύθερου χώρου στο δίσκο), αλλά σε πολλά προγράμματα η μνήμη μπορεί να εξαντληθεί πολύ γρήγορα, και γι αυτό αποτελεί καλή προγραμματιστική πρακτική να παίρνετε στα σοβαρά τη δέσμευσή της, ακόμη και τώρα που κάνετε τα πρώτα σας βήματα στον προγραμματισμό. Όπως θα δείτε πολύ σύντομα, κάθε τύπος δεδομένων έχει τις δικές του απαιτήσεις μνήμης και τα δικά του όρια μεγέθους. Σημείωση Σε κάποιες προηγούμενες εκδόσεις της Visual Basic, ορισμένοι τύποι δεδομένων (όπως οι String και Integer) δεν είναι απαραίτητοι οι πληροφορίες διατηρούνται σε ένα γενικό τύπο δεδομένων (ιδιαίτερα μνημοβόρο ) με όνομα Variant, ο οποίος μπορεί να περιέχει δεδομένα οποιουδήποτε μεγέθους και μορφής. Η Visual Basic 2008 δεν υποστηρίζει μεταβλητές τύπου Variant. Αν και είναι βολικές για τους αρχάριους προγραμματιστές, ο σχεδιασμός τους τις κάνει αργές και μη αποδοτικές, ενώ επιτρέπουν τη μετατροπή από τον έναν τύπο στον άλλο υπερβολικά εύκολα προκαλώντας συχνά απρόσμενα αποτελέσματα. Όπως θα μάθετε αργότερα, ωστόσο, μπορείτε και πάλι να αποθηκεύετε πληροφορίες σε γενικούς αποδέκτες με όνομα Object, οι οποίοι είναι και αυτοί γενικής χρήσης στη λειτουργία τους αλλά μάλλον μη αποδοτικοί από άποψη μεγέθους.

158 Μέρος 2: Βασικές αρχές προγραμματισμού Αφού δηλώσετε μια μεταβλητή, είστε ελεύθεροι να της αποδώσετε δεδομένα στον κώδικά σας χρησιμοποιώντας τον τελεστή ανάθεσης (=). Για παράδειγμα, η επόμενη εντολή αποδίδει στη μεταβλητή LastName το όνομα Παπαγιάννης. LastName = "Παπαγιάννης" Παρατηρήστε ότι φρόντισα να αποδώσω μια τιμή κειμένου στη μεταβλητή LastName, επειδή ο τύπος δεδομένων της είναι String. Μπορώ επίσης να αποδώσω στη μεταβλητή τιμές με διαστήματα, σύμβολα, ή αριθμούς, όπως: LastName = "Γεωργίου Παπανδρέου 1313" αλλά και πάλι η μεταβλητή είναι αλφαριθμητική. Το αριθμητικό τμήμα της θα μπορούσε να χρησιμοποιηθεί σε μια μαθηματική σχέση μόνο αν μετατρεπόταν πρώτα σε ακέραιο ή δεκαδικό αριθμό, με τη χρήση των συναρτήσεων μετατροπής, στις οποίες θα αναφερθώ στη συνέχεια αυτού του βιβλίου. Αφού αποδοθεί η τιμή στη μεταβλητή LastName, αυτή μπορεί να χρησιμοποιηθεί στον κώδικα στη θέση του ονόματος Παπαγιάννης. Για παράδειγμα, η εντολή απόδοσης Label1.Text = LastName εμφανίζει τη λέξη Παπαγιάννης στην ετικέτα Label1 της φόρμας σας. Έμμεση δήλωση μεταβλητών Αν θέλετε να χρησιμοποιείτε τις μεταβλητές στη Visual Basic 2008 με τον παλιό τρόπο, δηλαδή χωρίς πρώτα να τις δηλώνετε με την εντολή Dim, θα πρέπει να τοποθετήσετε την εντολή Option Explicit Off στην αρχή του κώδικα της φόρμας ή της λειτουργικής σας μονάδας (πριν από τις διαδικασίες συμβάντος), ώστε να αλλάξετε την προκαθορισμένη απαίτηση της Visual Basic για δήλωση των μεταβλητών πριν από τη χρήση τους. Όπως ανέφερα προηγουμένως, δεν συνιστώ αυτή την εντολή ως μόνιμη προσθήκη στον κώδικά σας, αλλά μπορεί να αποβεί προσωρινά χρήσιμη κατά τη μετατροπή παλαιοτέρων προγραμμάτων της Visual Basic σε Visual Studio 2008. Άλλη μία δυνατότητα είναι να χρησιμοποιήσετε τη νέα επιλογή Option Infer, η οποία έχει προστεθεί στη Visual Basic 2008. Αν η Option Infer είναι On, η Visual Basic θα συναγάγει ή συμπεράνει (infer) τον τύπο μιας μεταβλητής εξετάζοντας την αρχική ανάθεση που κάνετε. Αυτό σάς επιτρέπει να δηλώνετε μεταβλητές χωρίς να προσδιορίζετε τον συγκεκριμένο τύπο που θα χρησιμοποιηθεί, αφήνοντας τον προσδιορισμό στη Visual Basic. Για παράδειγμα, η παράσταση Dim attendance = 100 θα δηλώσει τη μεταβλητή με όνομα attendance ως Integer, επειδή το 100 αποτελεί μια ακέραιη παράσταση. Με άλλα λόγια, όταν η επιλογή Option Infer είναι ενεργοποιημένη, είναι σαν να πληκτρολογείτε Dim attendance As Integer = 100 Ομοίως, η παράσταση Dim address = "Ανθέων 120"

Κεφάλαιο 5: Τύποι και μεταβλητές της Visual Basic, και το Πλαίσιο Εφαρμογών.NET 159 θα δηλώσει τη μεταβλητή address ως τύπου String, επειδή η αρχική ανάθεσή της ήταν αντίστοιχου τύπου. Αν, ωστόσο, ορίσετε την Option Infer σε Off, η Visual Basic θα δηλώσει τη μεταβλητή ως τύπου Object έναν γενικό (αν και κάπως ογκώδη και μη αποδοτικό) αποδέκτη για οποιονδήποτε τύπο δεδομένων. Αν σχεδιάζετε να χρησιμοποιήσετε την Option Infer για να επιτρέψετε αυτό τον τύπο έμμεσης δήλωσης μεταβλητών (μια ευέλικτη προσέγγιση, η οποία όμως θα μπορούσε να οδηγήσει σε α- προσδόκητα αποτελέσματα), τοποθετήστε τις δύο ακόλουθες εντολές στην κορυφή της λειτουργικής μονάδας σας (επάνω από τη εντολή Class Form): Option Explicit Off Option Infer On Η επιλογή Option Explicit Off επιτρέπει τη δήλωση των μεταβλητών καθώς αυτές χρησιμοποιούνται, ενώ η επιλογή Option Infer On αφήνει τη Visual Basic να καθορίζει αυτόματα τον τύπο. Αυτές οι επιλογές μπορούν επίσης να οριστούν με τη χρήση της διαταγής Options του μενού Tools, όπως περιγράφηκε στο Κεφάλαιο 1, Εξερεύνηση του ολοκληρωμένου περιβάλλοντος ανάπτυξης του Visual Studio. Χρήση μεταβλητών σε προγράμματα Οι μεταβλητές μπορούν να διατηρούν την ίδια τιμή σε ολόκληρο το πρόγραμμα ή να αλλάζουν διαρκώς τιμές, ανάλογα με τις ανάγκες σας. Η επόμενη άσκηση δείχνει τον τρόπο με τον οποίο μια μεταβλητή με το όνομα LastName μπορεί να περιέχει διάφορες τιμές κειμένου, καθώς και το πώς μπορεί να αποδοθεί σε ιδιότητες αντικειμένων. Αλλαγή τιμής μιας μεταβλητής 1. Ξεκινήστε το Visual Studio. 2. Ανοίξτε το μενού File και επιλέξτε τη διαταγή Open Project. Εμφανίζεται το πλαίσιο διαλόγου Open Project. 3. Ανοίξτε το έργο Variable Test που βρίσκεται στο φάκελο c:\vb08sbs\chap05\variable test. 4. Αν η φόρμα του έργου δεν φαίνεται, πατήστε στην καταχώριση Form1.vb της Εξερεύνησης Λύσεων, και στη συνέχεια πατήστε στο κουμπί View Designer. Η φόρμα Variable Test θα εμφανιστεί στον Σχεδιαστή. Το πρόγραμμα Variable Test είναι στην ουσία ένα "σκαρίφημα " περιέχει μια φόρμα με ετικέτες και κουμπιά για την εμφάνιση εξόδου, αλλά ελάχιστο κώδικα προγράμματος. (Πού και πού, δημιουργώ αυτά τα σκαριφήματα για να σας εξοικονομώ χρόνο, αν και μπορείτε να δημιουργήσετε το έργο από την αρχή.) Σε αυτή την άσκηση θα προσθέσετε κώδικα.

160 Μέρος 2: Βασικές αρχές προγραμματισμού Η φόρμα Variable Test μοιάζει με αυτή που βλέπετε εδώ: Η φόρμα περιέχει δύο ετικέτες και δύο κουμπιά. Σε κάθε ετικέτα θα εμφανίσετε πληροφορίες με τη χρήση μεταβλητών. Σημείωση Το αντικείμενα ετικέτας μοιάζουν με κουτιά επειδή έδωσα στις ιδιότητες BorderStyle τους την τιμή Fixed3D. 5. Διπλοπατήστε στο κουμπί Show (Εμφάνιση). Στον Επεξεργαστή Κώδικα εμφανίζεται η διαδικασία συμβάντος Button1_Click. 6. Πληκτρολογήστε τις ακόλουθες εντολές προγράμματος για να δηλώσετε και να χρησιμοποιήσετε τη μεταβλητή LastName : Dim LastName As String LastName = "Luther" Label1.Text = LastName LastName = "Bodenstein von Karlstadt" Label2.Text = LastName Οι προγραμματιστικές εντολές είναι χωρισμένες σε τρεις ομάδες. Στην πρώτη εντολή δηλώνεται η μεταβλητή LastName ως τύπου String με τη χρήση της εντολής Dim. Μετά την πληκτρολόγηση αυτής της γραμμής, το Visual Studio τοποθετεί μια κυματιστή γραμμή κάτω από τη μεταβλητή LastName, επειδή έχει δηλωθεί αλλά δεν έχει χρησιμοποιηθεί στο πρόγραμμα. Δεν υπάρχει κάποιο πρόβλημα το Visual Studio απλώς σας υπενθυμίζει ότι έχει δημιουργηθεί μια νέα μεταβλητή η οποία περιμένει να χρησιμοποιηθεί. Συμβουλή Αν ολοκληρώσετε τη συγγραφή του προγράμματός σας και το όνομα κάποιας μεταβλητής παραμένει υπογραμμισμένο, μπορεί να είναι ένδειξη ότι γράψατε λανθασμένα το όνομα της μεταβλητής σε κάποιο σημείο του προγράμματός σας.

Κεφάλαιο 5: Τύποι και μεταβλητές της Visual Basic, και το Πλαίσιο Εφαρμογών.NET 161 Η δεύτερη και η τρίτη γραμμή αποδίδουν το όνομα Luther στη μεταβλητή LastName, και εμφανίζουν αυτό το όνομα στην πρώτη ετικέτα της φόρμας. Με αυτόν τον τρόπο γίνεται φανερή μια από τις πιο συνηθισμένες χρήσεις των μεταβλητών σε ένα πρόγραμμα η μεταφορά πληροφοριών σε μια ιδιότητα. Όπως έχετε ήδη δει, όλες οι αλφαριθμητικές τιμές που αποδίδονται σε μεταβλητές εμφανίζονται με κόκκινη γραμματοσειρά. Η τέταρτη γραμμή αποδίδει στη μεταβλητή LastName την τιμή Bodenstein von Karlstadt (με άλλα λόγια, η εντολή αλλάζει τα περιεχόμενα της μεταβλητής). Παρατηρήστε ότι το δεύτερο αλφαριθμητικό είναι μεγαλύτερο από το πρώτο και περιέχει μερικά κενά διαστήματα. Όταν α- ποδίδετε αλφαριθμητικά κειμένου σε μεταβλητές, ή τα χρησιμοποιείτε σε άλλα σημεία, πρέπει να τα κλείνετε μέσα σε εισαγωγικά. (Αυτό δεν ισχύει για αριθμούς.) Τέλος, έχετε υπόψη σας ένα άλλο σημαντικό χαρακτηριστικό των μεταβλητών που δηλώνονται σε αυτή τη διαδικασία συμβάντος διατηρούν την εμβέλειά τους (scope), δηλαδή κρατούν την τιμή τους, μόνο μέσα στη διαδικασία συμβάντος που τις χρησιμοποιείτε. Στη συνέχεια του κεφαλαίου θα μάθετε πώς να δηλώνετε μεταβλητές οι οποίες μπορούν να χρησιμοποιηθούν σε οποιαδήποτε διαδικασία συμβάντος της φόρμας. 7. Πατήστε στην καρτέλα Form1.vb [Design] για να εμφανίσετε και πάλι τη φόρμα. 8. Διπλοπατήστε στο κουμπί Quit (Τέλος εργασίας). Στον Επεξεργαστή Κώδικα εμφανίζεται η διαδικασία συμβάντος Button2_Click. 9. Πληκτρολογήστε την επόμενη εντολή για να σταματήσετε την εκτέλεση του προγράμματος: End Η οθόνη θα μοιάζει με την επόμενη: 10. Πατήστε στο κουμπί Save All της Βασικής γραμμής εργαλείων για να αποθηκεύσετε τις αλλαγές.

162 Μέρος 2: Βασικές αρχές προγραμματισμού 11. Πατήστε στο κουμπί Start Debugging της Βασικής γραμμής εργαλείων για να εκτελέσετε το πρόγραμμα. Το πρόγραμμα εκτελείται στο περιβάλλον ανάπτυξης. 12. Πατήστε στο κουμπί Show. Το πρόγραμμα δηλώνει τη μεταβλητή, αποδίδει δύο τιμές σε αυτή, και αντιγράφει κάθε τιμή στην κατάλληλη ετικέτα της φόρμας. Το πρόγραμμα δημιουργεί την έξοδο που παρουσιάζεται στην επόμενη εικόνα. 13. Πατήστε στο κουμπί Quit για να σταματήσετε το πρόγραμμα. Το πρόγραμμα θα τερματιστεί και θα επανέλθει το περιβάλλον προγραμματισμού. Συμβάσεις ονομασίας μεταβλητών Η απόδοση ονομάτων στις μεταβλητές μπορεί να σας προβληματίσει επειδή πρέπει να χρησιμοποιείτε σύντομα ονόματα, τα οποία όμως να είναι και περιγραφικά και ευμνημόνευτα. Για να α- ποφύγετε τη σύγχυση, καλό είναι όταν ονομάζετε μεταβλητές να ακολουθείτε τις παρακάτω συμβάσεις: Να ξεκινάτε όλα τα ονόματα μεταβλητών με ένα γράμμα ή το χαρακτήρα υπογράμμισης. Αυτό είναι απαίτηση της Visual Basic. Τα ονόματα των μεταβλητών μπορούν να περιέχουν μόνο γράμματα, χαρακτήρες υπογράμμισης, και αριθμούς. Αν και τα ονόματα των μεταβλητών μπορούν να έχουν οποιοδήποτε μήκος, προσπαθήστε να είναι μέχρι 33 χαρακτήρες για να μπορούν να διαβάζονται εύκολα. (Στη Visual Basic 6, τα ο- νόματα των μεταβλητών είχαν όριο τους 255 χαρακτήρες, αλλά αυτός ο περιορισμός δεν υ- πάρχει πλέον.) Να επιλέγετε περιγραφικά ονόματα, συνδυάζοντας στο όνομα μιας μεταβλητής αν κάτι τέτοιο έχει νόημα μία ή περισσότερες λέξεις. Για παράδειγμα, το όνομα μεταβλητής SalesTaxRate είναι πολύ πιο περιγραφικό από το Tax ή το Rate. Στα ονόματα των μεταβλητών σας να χρησιμοποιείτε συνδυασμούς πεζών και κεφαλαίων γραμμάτων και αριθμών. Μια αποδεκτή σύμβαση είναι να γράφετε κεφαλαίο το πρώτο γράμμα κάθε λέξης σε μια μεταβλητή για παράδειγμα, DateOfBirth (Ημερομηνία γέννησης). Ω- στόσο, άλλοι προγραμματιστές χρησιμοποιούν πεζό χαρακτήρα στο πρώτο γράμμα των ονομάτων των μεταβλητών για να τις διακρίνουν από τα ονόματα των συναρτήσεων ή των λειτουργικών μονάδων, τα οποία συνήθως αρχίζουν με το πρώτο γράμμα κεφαλαίο. Παραδείγματα αυτού του τρόπου ονοματολογίας των μεταβλητών, ο οποίος είναι γνωστός και με τον αγγλικό όρο camel casing, είναι τα dateofbirth, employeename, και counter.

Κεφάλαιο 5: Τύποι και μεταβλητές της Visual Basic, και το Πλαίσιο Εφαρμογών.NET 163 Μην χρησιμοποιείτε ως ονόματα για τις μεταβλητές σας δεσμευμένες λέξεις της Visual Basic ή ονόματα αντικειμένων ή ιδιοτήτων. Αν το κάνετε αυτό θα παρουσιαστεί σφάλμα όταν προσπαθήσετε να εκτελέσετε το πρόγραμμά σας. Προαιρετικά, μπορείτε να ξεκινάτε κάθε όνομα μεταβλητής με μια σύντμηση δύο ή τριών χαρακτήρων η οποία αντιστοιχεί στον τύπο των δεδομένων που θα αποθηκεύονται στη μεταβλητή. Για παράδειγμα, χρησιμοποιήστε το όνομα strname για να δείξετε ότι η μεταβλητή Name περιέχει αλφαριθμητικά (string) δεδομένα. Αν και δεν χρειάζεται να σας απασχολούν και τόσο πολύ αυτές οι λεπτομέρειες προς το παρόν, καλό είναι να έχετε υπόψη αυτή τη σύμβαση για το μέλλον θα τη συναντήσετε στην τεκμηρίωση του Visual Studio καθώς και σε πολλά από τα βιβλία που ασχολούνται με τον προγραμματισμό σε Visual Basic. (Αυτή η σύμβαση και το σχήμα σύντμησης δημιουργήθηκαν αρχικά από τον διακεκριμένο μηχανικό της Microsoft Charles Simonyi, και μερικές φορές ονομάζονται Ουγγρική Σημειογραφία.) Χρήση μεταβλητών για την αποθήκευση δεδομένων εισόδου Μια πρακτική χρήση για μια μεταβλητή είναι η προσωρινή αποθήκευση πληροφοριών που εισήχθησαν από το χρήστη. Παρόλο που για τη συλλογή αυτών των πληροφοριών συχνά μπορείτε να χρησιμοποιήσετε κάποιο αντικείμενο (για παράδειγμα, ένα πλαίσιο καταλόγου ή ένα πλαίσιο κειμένου), θα υπάρξουν φορές που θα θελήσετε να συνδιαλλαγείτε απευθείας με το χρήστη και να αποθηκεύσετε τα δεδομένα που θα καταχωρίσει σε μια μεταβλητή και όχι σε κάποια ιδιότητα. Ένας τρόπος για να το κάνετε αυτό είναι να χρησιμοποιήσετε τη συνάρτηση InputBox ώστε να εμφανίσετε ένα πλαίσιο διαλόγου στην οθόνη, και να αποθηκεύσετε, στη συνέχεια, το κείμενο που θα πληκτρολογήσει ο χρήστης σε μια μεταβλητή. Θα δοκιμάσετε αυτή την τεχνική στην επόμενη άσκηση. Λήψη δεδομένων εισόδου με τη συνάρτηση InputBox 1. Ανοίξτε το μενού File και επιλέξτε τη διαταγή Open Project. Εμφανίζεται το πλαίσιο διαλόγου Open Project. 2. Ανοίξτε το έργο Input Box από το φάκελο c:\vb08sbs\chap05\input box. Το έργο Input Box ανοίγει στο περιβάλλον ανάπτυξης. Το Input Box είναι ένα σκαρίφημα προγράμματος. 3. Αν η φόρμα του έργου δεν φαίνεται, πατήστε στην καταχώριση Form1.vb της Εξερεύνησης Λύσεων, και στη συνέχεια πατήστε στο κουμπί View Designer. Η φόρμα περιέχει μία ετικέτα και δύο κουμπιά. Θα χρησιμοποιήσετε τη συνάρτηση InputBox για να πάρετε δεδομένα από το χρήστη, τα οποία στη συνέχεια θα εμφανίσετε στην ετικέτα της φόρμας. 4. Διπλοπατήστε στο κουμπί Input Box. Στον Επεξεργαστή Κώδικα εμφανίζεται η διαδικασία συμβάντος Button1_Click.

164 Μέρος 2: Βασικές αρχές προγραμματισμού 5. Πληκτρολογήστε τις παρακάτω εντολές για να δηλώσετε δύο μεταβλητές και να καλέσετε τη συνάρτηση InputBox: Dim Prompt, FullName As String Prompt = "Please enter your name." FullName = InputBox(Prompt) Label1.Text = FullName Αυτή τη φορά χρησιμοποιείτε την εντολή Dim για να δηλώσετε δύο μεταβλητές: τις Prompt και FullName. Και οι δύο μεταβλητές έχουν δηλωθεί με τον τύπο String. (Μπορείτε να δηλώσετε όσες μεταβλητές θέλετε σε μία μόνο γραμμή, φτάνει αυτές να είναι του ίδιου τύπου.) Σημειώστε ότι στη Visual Basic 6, η ίδια σύνταξη θα είχε διαφορετικά αποτελέσματα. Η εντολή Dim θα δημιουργούσε τη μεταβλητή Prompt χρησιμοποιώντας τον τύπο Variant (επειδή δεν καθορίζεται κάποιος τύπος), ενώ η μεταβλητή FullName θα ήταν τύπου String. Όμως αυτή η λογική α- συνέπεια έχει διορθωθεί από την έκδοση 2002 της Visual Basic και μετά. Η δεύτερη γραμμή της διαδικασίας συμβάντος αποδίδει ένα αλφαριθμητικό κειμένου στη μεταβλητή Prompt. Αυτό το μήνυμα χρησιμοποιείται ως όρισμα κειμένου για τη συνάρτηση Input- Box. (Όρισμα argument είναι μια τιμή ή παράσταση που μεταβιβάζεται σε μια διαδικασία ή συνάρτηση.) Η επόμενη γραμμή καλεί τη συνάρτηση InputBox και αποδίδει το αποτέλεσμα της κλήσης (το αλφαριθμητικό κειμένου που πληκτρολογεί ο χρήστης) στη μεταβλητή FullName. Η InputBox είναι μια ειδική συνάρτηση της Visual Basic, η οποία εμφανίζει στην οθόνη ένα πλαίσιο διαλόγου και ζητά δεδομένα από το χρήστη. Εκτός από το προτρεπτικό αλφαριθμητικό, η συνάρτηση InputBox υποστηρίζει και άλλα ορίσματα που θα χρησιμοποιείτε περιστασιακά. Για περισσότερες λεπτομέρειες, ανατρέξτε στην τεκμηρίωση του Visual Studio. Όταν η InputBox επιστρέψει στο πρόγραμμα το αλφαριθμητικό κειμένου, η τέταρτη εντολή της διαδικασίας τοποθετεί το όνομα που θα καταχωρίσει ο χρήστης στην ιδιότητα Text του αντικειμένου Label1, με αποτέλεσμα την εμφάνισή του στην οθόνη. Σημείωση Σε παλαιότερες εκδόσεις της BASIC, το όνομα της συνάρτησης InputBox είχε στο τέλος ένα σύμβολο δολαρίου ($) για να υπενθυμίζει στους προγραμματιστές ότι η συνάρτηση επιστρέφει πληροφορίες αλφαριθμητικού τύπου. Επίσης, και οι μεταβλητές τύπου String προσδιορίζονταν με το ίδιο σύμβολο κατά περίπτωση. Σήμερα δεν χρησιμοποιούμε πια τέτοιες συμβάσεις ονοματολογίας τύπων δεδομένων. Το σύμβολο $ για τον τύπο String, το % για τον τύπο Integer, και άλλες τέτοιες συμβάσεις αποτελούν πλέον παρελθόν. 6. Αποθηκεύστε τις αλλαγές σας. 7. Πατήστε στο κουμπί Start Debugging της Βασικής γραμμής εργαλείων για να εκτελέσετε το πρόγραμμα. Το πρόγραμμα εκτελείται στο περιβάλλον ανάπτυξης. 8. Πατήστε στο κουμπί Input Box. Η Visual Basic εκτελεί τη διαδικασία συμβάντος Button1_Click, και το πλαίσιο διαλόγου Input Box εμφανίζεται στην οθόνη σας, όπως εδώ:

Κεφάλαιο 5: Τύποι και μεταβλητές της Visual Basic, και το Πλαίσιο Εφαρμογών.NET 165 9. Πληκτρολογήστε το ονοματεπώνυμό σας, και κατόπιν πατήστε στο OK. Η συνάρτηση InputBox επιστρέφει το όνομά σας στο πρόγραμμα και το τοποθετεί στη μεταβλητή FullName. Στη συνέχεια, το πρόγραμμα χρησιμοποιεί τη μεταβλητή για να εμφανίσει το όνομά σας στη φόρμα, όπως φαίνεται εδώ: Μπορείτε να χρησιμοποιείτε τη συνάρτηση InputBox στα προγράμματά σας κάθε φορά που θέλετε να ζητήσετε πληροφορίες από το χρήστη. Γενικότερα, έχετε τη δυνατότητα να τη χρησιμοποιείτε σε συνδυασμό με τα υπόλοιπα χειριστήρια εισόδου για να ρυθμίζετε τη ροή των δεδομένων προς και από το πρόγραμμά σας. Στην επόμενη άσκηση θα μάθετε πώς να χρησιμοποιείτε μια παρόμοια συνάρτηση για να παρουσιάζετε στο χρήστη κείμενο σε ένα πλαίσιο διαλόγου. 10. Πατήστε στο κουμπί Quit της φόρμας για να τερματίσετε το πρόγραμμα. Το πρόγραμμα θα τερματιστεί και θα επανέλθει το περιβάλλον προγραμματισμού. Τι είναι οι συναρτήσεις; H InputBox είναι μια ειδική δεσμευμένη λέξη της Visual Basic, γνωστή με τον όρο συνάρτηση (function). Συνάρτηση είναι μια εντολή η οποία εκτελεί κάποια σημαντική εργασία (όπως η αίτηση πληροφοριών από το χρήστη ή ο υπολογισμός μιας εξίσωσης) και στη συνέχεια επιστρέφει στο πρόγραμμα ένα αποτέλεσμα. Η τιμή που επιστρέφεται από μια συνάρτηση μπορεί να αποδοθεί σε μια μεταβλητή, όπως στο πρόγραμμα Input Box, ή σε μια ιδιότητα ή κάποια άλλη εντολή ή συνάρτηση. Οι συναρτήσεις της Visual Basic χρησιμοποιούν συχνά ένα ή περισσότερα ορίσματα για τον καθορισμό των ενεργειών τους. Για παράδειγμα, στη συνάρτηση InputBox που εκτελέσατε λίγο πριν, χρησιμοποιήσατε τη μεταβλητή Prompt για να δώσετε στο χρήστη πληροφορίες μέσω του πλαισίου διαλόγου. Όταν μια συνάρτηση χρησιμοποιεί περισσότερα από ένα ορίσματα, αυτά πρέπει να χωρίζονται μεταξύ τους με κόμματα, και ολόκληρη η ομάδα των ορισμάτων πρέπει να περικλείεται σε παρενθέσεις. Η παρακάτω εντολή αποτελεί μια κλήση συνάρτησης με δύο ορίσματα: FullName = InputBox(Μήνυμα, Τίτλος) Παρατηρήστε ότι χρησιμοποιώ πλάγια γράμματα σε αυτό το παράδειγμα σύνταξης για να δείξω ότι ορισμένα στοιχεία είναι δεσμευτικά θέσης για πληροφορίες που καθορίζετε εσείς. Αυτό το στυλ θα το συναντάτε συχνά στο παρόν βιβλίο και στην τεκμηρίωση του Visual Studio.