Ευχαριστίες...xi Εισαγωγή...xiii ΜΕΡΟΣ 1 Ξεκίνηµα µε τη Microsoft Visual Basic.NET 2003... 1 ΚΕΦΑΛΑΙΟ 1 Άνοιγµα και εκτέλεση ενός προγράµµατος Visual Basic.NET 2003...3 Το περιβάλλον ανάπτυξης του Visual Studio.NET...5 Τα εργαλεία του Visual Studio.NET...10 Ο Σχεδιαστής Φορµών Windows...12 Εκτέλεση προγράµµατος Visual Basic...14 Το παράθυρο Ιδιοτήτων...16 Μετακίνηση και αλλαγή µεγέθους των προγραµµατιστικών εργαλείων...20 Μετακίνηση και αλλαγή µεγέθους παραθύρων εργαλείων στο Visual Studio...21 Προσκόλληση εργαλείων στο Visual Studio...23 Απόκρυψη εργαλείων στο Visual Studio...25 Λήψη βοήθειας...27 Ένα βήµα πιο πέρα: Έξοδος από το Visual Studio.NET...30 ΚΕΦΑΛΑΙΟ 2 Συγγραφή του πρώτου σας προγράµµατος...33 Lucky Seven: Το πρώτο σας πρόγραµµα σε Visual Basic.NET...34 Προγραµµατιστικά βήµατα...35 ηµιουργία της διασύνδεσης χρήστη...35 Ορισµός των ιδιοτήτων...42 Ιδιότητες του πλαισίου εικόνας...47 Συγγραφή του κώδικα...49 Μια µατιά στη διαδικασία Button1_Click...54 Εκτέλεση εφαρµογών Visual Basic.NET...56 ηµιουργία εκτελέσιµου αρχείου...58 Ένα βήµα πιο πέρα: Προσθήκες σε προγράµµατα...60 ΚΕΦΑΛΑΙΟ 3 Εργασία µε τα χειριστήρια της Εργαλειοθήκης...63 Βασική χρήση των χειριστηρίων: το πρόγραµµα "Hello World"...64 Χρήση του χειριστηρίου DateTimePicker...70 Το πρόγραµµα Birthday...70 Χειριστήρια για την είσοδο δεδοµένων...77 Το πρόγραµµα επίδειξης Input Controls...80 Εξέταση του κώδικα του προγράµµατος Input Controls...83 Χρήση του χειριστηρίου LinkLabel...86 iii
iv Περιεχόµενα Ένα βήµα πιο πέρα: Εγκατάσταση χειριστηρίων ActiveX...91 Το χειριστήριο Microsoft Chart...91 ΚΕΦΑΛΑΙΟ 4 Εργασία µε µενού και πλαίσια διαλόγου...95 Προσθήκη µενού µε χρήση του χειριστηρίου MainMenu...96 Προσθήκη πλήκτρων πρόσβασης σε διαταγές µενού...98 Επεξεργασία επιλογών µενού...101 Χρήση χειριστηρίων πλαισίων διαλόγου...106 Αλλαγή ονοµάτων αντικειµένων για τα στοιχεία του µενού File...109 Απενεργοποίηση µιας διαταγής µενού...110 ιαδικασίες συµβάντων για τη διαχείριση τυπικών πλαισίων διαλόγου...111 Ένα βήµα πιο πέρα: Αντιστοίχιση πλήκτρων συντόµευσης σε µενού...118 ΜΕΡΟΣ 2 Βασικές αρχές προγραµµατισµού... 132 ΚΕΦΑΛΑΙΟ 5 Μεταβλητές και τελεστές της Visual Basic.NET...125 Ανατοµία µιας εντολής της Visual Basic...127 Χρήση µεταβλητών για την αποθήκευση πληροφοριών...127 Παραχώρηση µνήµης σε µεταβλητές: Η εντολή Dim...128 Χρήση µεταβλητών στα προγράµµατα...129 Χρήση µεταβλητών για την αποθήκευση δεδοµένων εισόδου...133 Χρήση µεταβλητών για έξοδο δεδοµένων...136 Χρήση συγκεκριµένων τύπων δεδοµένων...138 Σταθερές: µεταβλητές που δεν αλλάζουν...144 Χρήση των τελεστών της Visual Basic...146 Βασικά µαθηµατικά: οι τελεστές +,, *, και /...146 Χρήση "προχωρηµένων" τελεστών: \, Mod, ^, και &...150 Χρήση των µαθηµατικών µεθόδων του Πλαισίου Εφαρµογών.NET...155 Προτεραιότητα τελεστών...157 Ένα βήµα πιο πέρα: Χρήση παρενθέσεων σε τύπους...158 ΚΕΦΑΛΑΙΟ 6 Χρήση δοµών απόφασης...161 Προγραµµατισµός οδηγούµενος από συµβάντα...162 Χρήση παραστάσεων συνθήκης...164 οµές αποφάσεων If...Then...165 Έλεγχος πολλών συνθηκών σε µια δοµή απόφασης If...Then...165 Χρήση λογικών τελεστών σε παραστάσεις συνθήκης...170 Παράκαµψη υπολογισµού µε τη χρήση των τελεστών AndAlso και OrElse...172 οµές απόφασης Select Case...174 Χρήση τελεστών σύγκρισης σε δοµές Select Case...176 Ένα βήµα πιο πέρα: Ανίχνευση συµβάντων του ποντικιού...180 ΚΕΦΑΛΑΙΟ 7 Χρήση βρόχων και χρονοµέτρων...185 Χρήση βρόχων For...Next...186 Εµφάνιση µετρητή σε χειριστήριο TextBox...187 ηµιουργία σύνθετων βρόχων For...Next...190 iv
v Άνοιγµα αρχείων µε χρήση µετρητή µεγαλύτερης εµβέλειας...193 Χρήση βρόχων Do...196 Αποφυγή ατέρµονος βρόχου...197 Το χειριστήριο χρονοµέτρου...201 ηµιουργία ψηφιακού ρολογιού µε τη χρήση χειριστηρίου χρονοµέτρου.201 Ένα βήµα πιο πέρα: Χρήση αντικειµένου χρονοµέτρου για τον καθορισµό χρονικής διορίας...204 ΚΕΦΑΛΑΙΟ 8 Αποσφαλµάτωση προγραµµάτων της Visual Basic.NET...209 Ανεύρεση και διόρθωση λαθών...210 Τρεις τύποι σφαλµάτων...210 Αναγνώριση λογικών σφαλµάτων...212 Χρήση της κατάστασης διακοπής...212 Παρακολούθηση µεταβλητών...218 Χρήση του παραθύρου ιαταγών...220 Ενεργοποίηση της κατάστασης ιαταγών στο παράθυρο ιαταγών...222 Ένα βήµα πιο πέρα: Απαλοιφή σηµείων διακοπής...223 ΚΕΦΑΛΑΙΟ 9 Παγίδευση σφαλµάτων µε τη χρήση δοµηµένου χειρισµού σφαλµάτων...225 Επεξεργασία σφαλµάτων µε τη χρήση της Try...Catch...226 Πότε πρέπει να χρησιµοποιείτε χειριστές σφαλµάτων...227 Στήσιµο της παγίδας: η εντολή Try...Catch...228 Σφάλµατα διαδροµής και µονάδων δισκετών...228 Χρήση χειριστή σφάλµατος µονάδας δισκετών...231 Χρήση του όρου Finally για εργασίες καθαρισµού...232 Πιο σύνθετοι χειριστές σφαλµάτων Try...Catch...234 Το αντικείµενο Err...234 Καθορισµός της διάρκειας των προσπαθειών...238 Χρήση ένθετων τµηµάτων Try...Catch...241 Σύγκριση χειριστών σφαλµάτων και αµυντικών προγραµµατιστικών τεχνικών...241 Ένα βήµα πιο πέρα: Η εντολή Exit Try...242 ΜΕΡΟΣ 3 ιαχείριση εταιρικών δεδοµένων... 247 ΚΕΦΑΛΑΙΟ 10 Χρήση λειτουργικών µονάδων και διαδικασιών...249 Χρήση των βασικών λειτουργικών µονάδων...251 ηµιουργία βασικής λειτουργικής µονάδας...251 Χρήση δηµοσίων µεταβλητών...254 ηµιουργία διαδικασιών...259 ηµιουργία συναρτήσεων...260 Σύνταξη των συναρτήσεων...260 Κλήση συναρτήσεων...262 Χρήση συνάρτησης για την εκτέλεση υπολογισµών...262 ηµιουργία υπορουτινών...266 v
vi Περιεχόµενα Σύνταξη υπορουτινών...266 Κλήση υπορουτινών...267 Χρήση υπορουτίνας για τη διαχείριση δεδοµένων εισόδου...268 Ένα βήµα πιο πέρα: Μεταβίβαση ορισµάτων κατ' αξία και κατ' αναφορά...273 Τι να χρησιµοποιήσετε: ByVal ή ByRef...274 ΚΕΦΑΛΑΙΟ 11 Χρήση πινάκων και συλλογών για τη διαχείριση δεδοµένων...277 Χρήση πινάκων µεταβλητών...278 ηµιουργία πίνακα...279 ήλωση πίνακα σταθερού µεγέθους...280 Χειρισµός των στοιχείων ενός πίνακα...281 ηµιουργία πίνακα σταθερού µεγέθους για την αποθήκευση θερµοκρασιών...282 ηµιουργία δυναµικού πίνακα...286 ιατήρηση των περιεχοµένων ενός πίνακα µε την εντολή ReDim Preserve...289 Εργασία µε συλλογές αντικειµένων...291 Αναφορά στα αντικείµενα µιας συλλογής...292 Χρήση βρόχων For Each...Next...292 Πειραµατισµός µε αντικείµενα της συλλογής Controls...293 Χρήση της ιδιότητας Name στο βρόχο For Each...Next...296 ηµιουργία δικών σας συλλογών...298 Ένα βήµα πιο πέρα: Συλλογές της Visual Basic for Applications...302 ΚΕΦΑΛΑΙΟ 12 Χρήση αρχείων κειµένου και επεξεργασία αλφαριθµητικών...307 Εµφάνιση αρχείων κειµένου µε τη χρήση ενός αντικειµένου πλαισίου κειµένου...308 Άνοιγµα ενός αρχείου κειµένου για είσοδο...309 Η συνάρτηση FileOpen...309 ηµιουργία ενός νέου αρχείου κειµένου στο δίσκο...315 Επεξεργασία αλφαριθµητικών κειµένου µε κώδικα...319 Επεξεργασία αλφαριθµητικών µε µεθόδους και δεσµευµένες λέξεις...319 Ταξινόµηση κειµένου...321 Χρήση των κωδικών ASCII...322 Ταξινόµηση αλφαριθµητικών σε ένα πλαίσιο κειµένου...323 Προστασία κειµένου µε κρυπτογράφηση...329 Ένα βήµα πιο πέρα: Χρήση του τελεστή Xor...333 Εξέταση του κώδικα κρυπτογράφησης...335 ΚΕΦΑΛΑΙΟ 13 Αυτοµατισµός εφαρµογών Microsoft Office και διαχείριση διεργασιών...341 Προγραµµατισµός αντικειµένων εφαρµογών µε τη χρήση Αυτοµατισµού...342 Χρήση του Αυτοµατισµού στη Visual Basic...343 Ο Φυλλοµετρητής Αντικειµένων του Visual Studio...344 Αυτοµατισµός του Excel µέσα από τη Visual Basic...348 vi
vii Ένα βήµα πιο πέρα: Εκκίνηση και τερµατισµός εφαρµογών των Windows µε χρήση του στοιχείου Process...356 ΚΕΦΑΛΑΙΟ 14 ιανοµή εφαρµογών της Visual Basic.NET...361 Σχεδίαση διανοµής...362 ιαφορετικοί τρόποι διανοµής µιας εφαρµογής...364 ηµιουργία έργου διανοµής...365 Προσαρµογή των επιλογών διανοµής...375 όµηση του έργου διανοµής και δοκιµαστική εγκατάσταση...381 Ένα βήµα πιο πέρα: Εξέταση των αρχείων εγκατάστασης και απεγκατάσταση...386 ΜΕΡΟΣ 4 Εργασία µε µενού και πλαίσια διαλόγου... 391 ΚΕΦΑΛΑΙΟ 15 ιαχείριση φορµών Windows...393 Προσθήκη νέων φορµών σε ένα πρόγραµµα...394 Πώς χρησιµοποιούνται οι φόρµες...395 Χρήση πολλών φορµών...396 Τοποθέτηση φορµών στην επιφάνεια εργασίας των Windows...403 Ελαχιστοποίηση, µεγιστοποίηση, και επαναφορά παραθύρων...408 Προσθήκη χειριστηρίων σε µια φόρµα κατά το χρόνο εκτέλεσης...409 Οργάνωση χειριστηρίων µιας φόρµας...412 Ένα βήµα πιο πέρα: Προσδιορισµός του αντικειµένου εκκίνησης...415 ΚΕΦΑΛΑΙΟ 16 Προσθήκη γραφικών και εφέ κίνησης...421 Προσθήκη γραφικών µε τη χρήση του χώρου ονοµάτων System.Drawing...422 Χρήση του συστήµατος συντεταγµένων µιας φόρµας...423 Η τάξη System.Drawing.Graphics...424 Χρήση του συµβάντος Paint µιας φόρµας...425 Προσθήκη κίνησης στα προγράµµατά σας...427 Μετακίνηση αντικειµένων σε µια φόρµα...428 Η ιδιότητα Location...429 ηµιουργία κίνησης µε τη χρήση αντικειµένου χρονοµέτρου...430 Αλλαγή µεγέθους αντικειµένων κατά την εκτέλεση ενός προγράµµατος...434 Ένα βήµα πιο πέρα: Αλλαγή της διαφάνειας µιας φόρµας...436 ΚΕΦΑΛΑΙΟ 17 Κληρονόµηση φορµών και δηµιουργία βασικών τάξεων...439 Χρήση του Επιλογέα Κληρονοµικότητας...440 ηµιουργία των δικών σας βασικών τάξεων...445 Προσθήκη νέας τάξης στο έργο σας...446 Ένα βήµα πιο πέρα: Κληρονόµηση µιας βασικής τάξης...453 ΚΕΦΑΛΑΙΟ 18 Χρήση εκτυπωτών...459 Χρήση της τάξης PrintDocument...460 Εκτύπωση κειµένου από πλαίσιο κειµένου...465 Εκτύπωση πολυσέλιδων αρχείων κειµένου...469 vii
viii Περιεχόµενα Ένα βήµα πιο πέρα: Προσθήκη των πλαισίων διαλόγου Print Preview και Page Setup...477 ΜΕΡΟΣ 5 Προγραµµατισµός βάσεων δεδοµένων... 485 ΚΕΦΑΛΑΙΟ 19 Ξεκίνηµα µε το ADO.NET...487 Προγραµµατισµός βάσεων δεδοµένων µε το ADO.NET...488 Ορολογία βάσεων δεδοµένων...489 Χρήση µιας βάσης δεδοµένων της Access...490 ηµιουργία προσαρµογέα δεδοµένων...494 Εργασία µε σύνολα δεδοµένων...499 Χρήση δεσµευµένων χειριστηρίων για την εµφάνιση πληροφοριών βάσης δεδοµένων σε µια φόρµα...501 ηµιουργία χειριστηρίων πλοήγησης...505 Ένα βήµα πιο πέρα: Εµφάνιση της θέσης της τρέχουσας εγγραφής...509 ΚΕΦΑΛΑΙΟ 20 Παρουσίαση δεδοµένων µε τη χρήση του χειριστηρίου DataGrid...513 Χρήση του χειριστηρίου DataGrid για την εµφάνιση εγγραφών βάσης δεδοµένων...514 Μορφοποίηση κελιών πλέγµατος δεδοµένων...523 Ένα βήµα πιο πέρα: Ενηµέρωση της αρχικής βάσης δεδοµένων...525 ΜΕΡΟΣ 6 Προγραµµατισµός Internet... 529 ΚΕΦΑΛΑΙΟ 21 Εµφάνιση εγγράφων HTML µε τον Internet Explorer...531 Ξεκίνηµα µε το αντικείµενο Internet Explorer...532 Προσθήκη της αναφοράς Microsoft Internet Controls στην εφαρµογή σας...533 Εξερεύνηση του µοντέλου αντικειµένου Internet Explorer...534 Εµφάνιση εγγράφων HTML...537 Ένα βήµα πιο πέρα: Απόκριση σε συµβάντα του Internet Explorer...541 ΚΕΦΑΛΑΙΟ 22 Χρήση φορµών Ιστού για δηµιουργία αλληλεπιδραστικών εφαρµογών Ιστού...545 Στα "ενδότερα" του ASP.NET...546 Σύγκριση φορµών Ιστού και φορµών Windows...547 Χειριστήρια HTML...548 Χειριστήρια φορµών Ιστού...549 Ξεκίνηµα µε τις εφαρµογές Ιστού...550 Εγκατάσταση λογισµικού για προγραµµατισµό ASP.NET...550 Χρήση του Σχεδιαστή Φορµών Ιστού...556 Προσθήκη χειριστηρίων φορµών Ιστού σε εφαρµογή Ιστού...559 Συγγραφή διαδικασιών συµβάντων για χειριστήρια φορµών Ιστού...561 Ένα βήµα πιο πέρα: ηµιουργία σύνδεσης µε άλλη ιστοσελίδα...565 viii
ix ΜΕΡΟΣ 7 Παραρτήµατα... 571 ΠΑΡ. Α Αναβάθµιση προγραµµάτων της Visual Basic 6 σε Visual Basic.NET 2003...573 ΠΑΡ. Β Εκτίµηση συµβατότητας των προγραµµάτων σε Visual Basic 6...574 Προβληµατικά θέµατα...575 Πόροι στο Internet σχετικά µε τη µετατροπή...576 Βήµατα αναβάθµισης...577 Εκτέλεση του Οδηγού Αναβάθµισης της Visual Basic...577 Πού θα απευθυνθείτε για περισσότερες πληροφορίες...587 Τοποθεσίες Ιστού για τη Visual Basic.NET...587 http://msdn.microsoft.com/vbasic...588 http://www.devx.com/...588 http://www.microsoft.com/mspress/...588 http://www.microsoft.com/traincet...588 http://communities2.microsoft.com/home/...589 Βιβλία για προγραµµατισµό σε Visual Basic.NET...589 Προγραµµατισµός σε Visual Basic.NET...589 Προγραµµατισµός στον Ιστό µε το ASP.NET...590 Προγραµµατισµός βάσεων δεδοµένων µε το ADO.NET...590 Προγραµµατισµός σε Visual Basic for Applications...590 Επίσης κυκλοφορούν στα ελληνικά από τις εκδόσεις Κλειδάριθµος...590 Ευρετήριο Αναβάθµισης...591 Ευρετήριο...597 ix