ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΙΙ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΙΙ"

Transcript

1 ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΡΙΣΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΙΙ (ΕΡΓΑΣΤΗΡΙΟ) Δρ Μοσχάκης Μάριος Λάρισα 2011

2 Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 2

3 ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ ΤΗΣ ΓΛΩΣΣΑΣ VISUAL BASIC... 5 ΑΣΚΗΣΗ 1. ΦΟΡΜΕΣ, ΑΝΤΙΚΕΙΜΕΝΑ ΕΛΕΓΧΟΥ ΚΑΙ ΙΔΙΟΤΗΤΕΣ Άσκηση 1.1. Δημιουργία φόρμας, αλλαγή ονόματος και αποθήκευση Άσκηση 1.2. Τοποθέτηση αντικειμένων ελέγχου πάνω σε φόρμα και τακτοποίηση Άσκηση 1.3. Διαχείριση ιδιοτήτων φόρμας και άλλων αντικειμένων ελέγχου ΑΣΚΗΣΗ 2. ΔΙΑΣΤΑΣΕΙΣ, ΑΡΧΙΚΗ ΘΕΣΗ, ΣΤΟΙΧΙΣΗ, ΕΣΤΙΑΣΗ, ΒΑΘΟΣ Άσκηση 2.1. Διαστάσεις, αρχική θέση, στοίχιση και εστίαση αντικειμένων ελέγχου Άσκηση 2.2. Σχεδιασμός φόρμας με διάφορα αντικείμενα ελέγχου Άσκηση 2.3. Σειρά εμφάνισης (βάθος) αντικειμένων ελέγχου και φόρμας Άσκηση 2.4. Σχεδίαση φόρμας για την εισαγωγή ονόματος χρήστη/συνθηματικού ΑΣΚΗΣΗ 3. ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΜΕ ΣΥΜΒΑΝΤΑ Άσκηση 3.1. Συμβάν Click, τερματισμός προγράμματος, εντολή End Άσκηση 3.2. Εκχώρηση τιμής σε ιδιότητες, ετικέτες, πλήκτρα διαταγής, πλαίσια κειμένου, συμβάν Change Άσκηση 3.3. Απόδοση τιμής σε φόρμα, λέξη Me, ιδιότητες Caption και Text ΑΣΚΗΣΗ 4. ΣΥΜΒΑΝΤΑ, ΜΕΘΟΔΟΙ, ΕΚΤΕΛΕΣΙΜΑ ΑΡΧΕΙΑ Άσκηση 4.1. Πλαίσιο εικόνας, έτοιμα αρχεία εικόνας, ιδιότητες Visible, BackColor Άσκηση 4.2. Αντικείμενα εικόνας και Screen, εκτελέσιμα αρχεία.exe, ιδιότητες Stretch, Height,Width, μέθοδος Move Άσκηση 4.3. Έτοιμα εικονίδια (icons), ιδιότητες Stretch και Visible ΑΣΚΗΣΗ 5. ΣΥΝΔΥΑΣΜΟΣ ΣΥΜΒΑΝΤΩΝ ΚΑΙ ΜΕΘΟΔΩΝ ΙΔΙΟΤΗΤΕΣ ΤΟΥ ΕΙΔΙΚΟΥ ΑΝΤΙΚΕΙΜΕΝΟΥ SCREEN Άσκηση 5.1. Συμβάν MouseMove και Μέθοδος SetFocus Άσκηση 5.2. Μέθοδοι Cls και Print Άσκηση 5.3. Αντικείμενο Screen και ιδιότητες Height, Width, TwipsPerPixelX, TwipsPerPixelY. 51 ΑΣΚΗΣΗ 6. ΑΛΦΑΡΙΘΜΗΤΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΜΕΤΑΤΡΟΠΗΣ ΤΥΠΟΥ ΔΕΔΟΜΕΝΩΝ Άσκηση 6.1. Υπολογισμός τόκου και νέου κεφαλαίου Άσκηση 6.2. Συναρτήσεις Mid και Len Άσκηση 6.3. Συναρτήσεις μετατροπής τύπου δεδομένων CDbl και IsNumeric Υπολογισμός ολικής αντίστασης για 2 αντιστάσεις συνδεδεμένες σε σειρά ή παράλληλα ΑΣΚΗΣΗ 7. ΔΟΜΕΣ ΕΠΙΛΟΓΗΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΗΜΕΡΟΜΗΝΙΑΣ Άσκηση 7.1. Φόρμα με δομή επιλογής If Then ElseIf και συμβολισμοί χρωμάτων Άσκηση 7.2. Συνάρτηση ημερομηνίας DateValue Άσκηση 7.3. Αλλαγή τρέχουσας ημερομηνίας και ώρας - Χρονόμετρο (Timer) Άσκηση 7.4. Εμφάνιση ημέρας της εβδομάδας ολογράφως Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 3

4 ΑΣΚΗΣΗ 8. ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ Άσκηση 8.1. Δομή For Next - Μετατροπή δυαδικού αριθμού σε δεκαδικό Άσκηση 8.2. Δομή For Next - Πίνακας ημιτόνων και συνημιτόνων στη φόρμα Άσκηση 8.3. Δομή Do While Loop - Υπολογισμός ετών διπλασιασμού κεφαλαίου Άσκηση 8.4. Δομή Do Loop While Πλήθος εμφανίσεων λέξης μέσα σε πρόταση Άσκηση 8.5. Δομή Do Loop Until Διόρθωση πολλαπλών χαρακτήρων σε πρόταση ΑΣΚΗΣΗ 9. ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ - ΤΕΡΜΑΤΙΣΜΟΣ ΑΝΑΚΥΚΛΩΣΗΣ, ΑΛΜΑ ΣΕ ΕΠΟΜΕΝΗ ΑΝΑΚΥΚΛΩΣΗ ΚΑΙ ΕΝΘΕΤΕΣ ΔΟΜΕΣ Άσκηση 9.1. Δομή For Next - Αντικατάσταση κομμάτων, με τελείες Άσκηση 9.2. Μετατροπή ακέραιου δεκαδικού αριθμού σε δυαδικό Άσκηση 9.3. Εισαγωγή ενός bit για επίτευξη άρτιας ισοτιμίας δυαδικού αριθμού Άσκηση 9.4. Εισαγωγή ενός bit για επίτευξη περιττής ισοτιμίας και έλεγχος δυαδικού αριθμού ΑΣΚΗΣΗ 10. ΠΙΝΑΚΕΣ(ΣΥΣΤΟΙΧΙΕΣ) Άσκηση Μονοδιάστατοι πίνακες Εισαγωγή και εμφάνιση ονομάτων σε φόρμα Άσκηση Μονοδιάστατοι στατικοί και δυναμικοί πίνακες Εισαγωγή θερμοκρασιών και εμφάνιση μέσου όρου Άσκηση Δισδιάστατοι πίνακες Εισαγωγή και εμφάνιση στοιχείων Άσκηση Μονοδιάστατοι πίνακες Απομόνωση χαρακτήρων συμβολοσειράς ΑΣΚΗΣΗ 11. ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ - ΟΡΙΖΟΜΕΝΕΣ ΥΠΟΡΟΥΤΙΝΕΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ Άσκηση Οριζόμενη υπορουτίνα σε προγραμματιστική μονάδα φόρμας Άσκηση Οριζόμενη υπορουτίνα σε βασική προγραμματιστική μονάδα Module Άσκηση Μετατροπή οριζόμενης συνάρτησης σε υπορουτίνα Άσκηση Ορισμός και κλήση συνάρτησης σε προγραμματιστική μονάδα Module και φόρμας112 ΑΣΚΗΣΗ 12. ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ ΚΑΙ ΦΑΚΕΛΩΝ Άσκηση Εγγραφή δεδομένων σε σειριακό αρχείο Δημιουργία φακέλου και αρχείου Άσκηση Ανάγνωση δεδομένων από σειριακό αρχείο Διαγραφή αρχείου ΑΣΚΗΣΗ 13. ΠΡΟΧΩΡΗΜΕΝΕΣ ΕΦΑΡΜΟΓΕΣ Άσκηση Χρονική καθυστέρηση (Timer) - Υπορουτίνα Doevents Άσκηση Κίνηση αντικειμένου Άσκηση Αναστροφή εικόνας - Δισδιάστατοι πίνακες Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 4

5 ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ ΤΗΣ ΓΛΩΣΣΑΣ VISUAL BASIC Το Περιβάλλον Εργασίας της Visual Basic καλείται όπως και όλα τα άλλα προγράμματα στο περιβάλλον των Windows: Μενού Έναρξη Όλα τα προγράμματα Microsoft Visual Basic - Microsoft Visual Basic. Θα εμφανιστεί το παρακάτω Παράθυρο Διαλόγου που ονομάζεται New Project (Νέο Έργο). Στο Παράθυρο αυτό υπάρχουν τρεις Καρτέλες: 1. Η καρτέλα New για τη δημιουργία ενός νέου έργου το οποίο είναι ήδη προεπιλεγμένο 2. Η καρτέλα Existing για την επιλογή ενός έργου από τα ήδη υπάρχοντα 3. Η καρτέλα Recent για την επιλογή ενός έργου από αυτά που επεξεργαστήκαμε πρόσφατα Στο Παράθυρο Διαλόγου New Project μπορεί να υπάρχει ένας αριθμός υποδειγμάτων/προτύπων (templates) πάνω στο οποίο θα βασιστεί το Νέο Έργο που θα ξεκινήσουμε. Η επιλογή του υποδείγματος γίνεται κάνοντας κλικ πάνω στο αντίστοιχο εικονίδιο. Για απλά αυτοδύναμα προγράμματα σαν αυτά που θα αναλύσουμε στα επόμενα κεφάλαια, θα επιλέγουμε αυτό που είναι προεπιλεγμένο, δηλαδή το Standard.EXE (Τυπικό εκτελέσιμο). Μετά την επιλογή του Standard.ΕΧΕ κάνοντας κλικ πάνω στο εικονίδιο εμφανίζεται η παρακάτω οθόνη που αποτελεί το Περιβάλλον Εργασίας της Visual Basic: Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 5

6 Στο Περιβάλλον Εργασίας της γλώσσας Visual Basic διακρίνουμε τα εξής τμήματα: Γραμμή Τίτλου(Title Bar), Γραμμή Μενού (Menu Bar) και Γραμμές Εργαλείων (Toolbars). Βρίσκονται στο πάνω μέρος της οθόνης. Έχουν παρόμοιες ιδιότητες και λειτουργία με τα Windows και τα προγράμματα αυτοματισμού γραφείου (Word, Excel Κλπ). Σχεδιαστής Φόρμας (Form Designer). Βρίσκεται στο κέντρο της οθόνης και αφορά το τμήμα όπου γράφεται ο κώδικας της εφαρμογής. Στο Σχεδιαστή Φόρμας ο χρήστης δημιουργεί τις φόρμες των παραθύρων επικοινωνίας του χρήστη με την εφαρμογή. Οι φόρμες αποτελούν το σημείο από το οποίο αρχίζει ο σχεδιασμός και η υλοποίηση κάθε εφαρμογής. Όταν ξεκινάμε μια νέα εργασία, το περιβάλλον παρουσιάζει μια κενή φόρμα σχεδίασης (με το όνομα Form1) η οποία, όπως και κάθε νέα φόρμα, περιέχει Γραμμή Τίτλου (Title Bar), Πλαίσιο Ελέγχου (Control Box), πλήκτρα επαναφοράς/μεγιστοποίησης (Restore/Maximize), ελαχιστοποίησης (Minimize) και κλεισίματος (Close). Το πλέγμα των σημείων που παρουσιάζονται στο εσωτερικό της φόρμας αποτελεί βοήθημα για το σχεδιασμό των αντικειμένων. Το πλέγμα εμφανίζεται μόνο τη στιγμή που το περιβάλλον εργασίας βρίσκεται σε κατάσταση σχεδιασμού. Κατά την εκτέλεση του προγράμματος το πλέγμα γίνεται αόρατο. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 6

7 Γραμμή Τίτλου της φόρμας Πλήκτρο κλεισίματος Πλήκτρο Επαναφοράς-Μεγιστοποίησης Πλήκτρο Ελαχιστοποίησης Πλαίσιο ελέγχου Στη φόρμα σχεδίασης επισυνάπτονται από τον προγραμματιστή τα αντικείμενα ελέγχου που παρουσιάζουν δεδομένα στο χρήστη (π.χ. πλαίσια κειμένου) και αντικείμενα ελέγχου χειρισμών (π.χ. πλήκτρα). Ο προγραμματιστής δημιουργεί όσες φόρμες σχεδίασης απαιτεί το πρόγραμμά του, καθορίζει τις διαστάσεις τους και τις τοποθετεί στην κατάλληλη θέση. Η θέση και οι διαστάσεις που δίνονται στη φόρμα κατά το σχεδιασμό της είναι αυτές που θα έχει και κατά την εκτέλεση του προγράμματος. Εργαλειοθήκη (Toolbox). Βρίσκεται στα αριστερά της οθόνης και είναι το τμήμα από όπου επιλέγονται τα όργανα που τοποθετούνται στη φόρμα. Το πιο σημαντικό χαρακτηριστικό της Visual Basic είναι ότι ο προγραμματιστής δεν είναι αναγκασμένος να δημιουργήσει δικά του αντικείμενα, αλλά μπορεί να χρησιμοποιήσει κάποια διαθέσιμα. Η εργαλειοθήκη περιέχει όλα τα εργαλεία για το σχεδιασμό και την τοποθέτηση αντικειμένων ελέγχου (controls) πάνω στις φόρμες. Με πολύ απλές κινήσεις, ο προγραμματιστής/σχεδιαστής μπορεί να δημιουργήσει σύνθετες αλλά εργονομικές και λειτουργικές φόρμες και να συνθέσει το κατάλληλο περιβάλλον επικοινωνίας χρήστη-εφαρμογής. Κάποια από τα αντικείμενα της εργαλειοθήκης είναι ήδη γνωστά σε ένα χρήστη των Windows μιας και είναι τα ίδια με αυτά που εμφανίζονται στα Παράθυρα Διαλόγου των εφαρμογών. Για παράδειγμα, τα πεδία κειμένου, οι συνδυασμένες και οι απλές λίστες, τα πλήκτρα, τα κουτάκια μαρκαρίσματος, οι ράβδοι κύλισης, και τα πλαίσια επιλογής δίσκων ή καταλόγων ή αρχείων. Για να τοποθετήσει ο προγραμματιστής ένα αντικείμενο ελέγχου στη φόρμα σχεδίασης, επιλέγει πρώτα το εικονίδιο, που το αναπαριστά στην εργαλειοθήκη και στη συνέχεια το σχεδιάζει στις κατάλληλες διαστάσεις πάνω στη φόρμα. Μετά του δίνει ιδιότητες και καθορίζει τον ειδικό τρόπο συμπεριφοράς του γράφοντας κώδικα. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 7

8 Παράθυρο Έργου (Project Explorer Window). Βρίσκεται άνω δεξιά της οθόνης. Κάθε εφαρμογή της Visual Basic αποτελεί ένα έργο στο οποίο μπορούμε να έχουμε μία ή περισσότερες φόρμες. Ο κώδικας κάθε εφαρμογής γράφεται σε τμήματα που ονομάζονται προγραμματιστικές μονάδες φόρμας (form modules) που καθεμιά τους συνοδεύει μια φόρμα αλλά και σε τμήματα που ονομάζονται βασικές προγραμματιστικές μονάδες (standard modules ή απλά modules) που δεν ανήκουν σε καμιά φόρμα. Για κάθε έργο δημιουργείται ένα αρχείο που περιγράφει τον τρόπο δόμησής του και περιέχει και άλλες λειτουργικές του πληροφορίες. Τα αρχεία τύπου έργου έχουν κατάληξη.vbp. Για κάθε φόρμα δημιουργείται και ένα αρχείο που περιγράφει τον τρόπο δόμησής της και περιέχει τα αντικείμενα ελέγχου της και τον κώδικα σε γλώσσα Basic που συνοδεύει τη φόρμα. Κάθε αρχείο φόρμας έχει κατάληξη.frm. Τέλος, οι βασικές προγραμματιστικές μονάδες αποθηκεύονται και αυτές σε αρχεία τα οποία έχουν κατάληξη.bas. Τα δομικά στοιχεία του έργου, η ιεραρχική σύνδεσή τους και τα αρχεία στα οποία έχουν αποθηκευτεί, παρουσιάζονται σε μορφή παρόμοια με αυτή του εξερευνητή αρχείων των Windows. Αυτού οι τύποι δομικών στοιχείων ενός έργου δεν είναι και οι μοναδικοί. Για πιο σύνθετες εφαρμογές, χρησιμοποιούνται και άλλες μορφές φορμών και προγραμματιστικών μονάδων. Τέλος, να σημειωθεί ότι μιας και κάθε δομικό στοιχείο ενός έργου αποθηκεύεται και σε ξεχωριστό αρχείο, είναι δυνατόν ένα δομικό στοιχείο να ανήκει σε περισσότερα από ένα έργα. Εικονίδιο για τα αρχεία.vbp Εικονίδιο για τα αρχεία.frm Εικονίδιο για τα αρχεία.bas Πλήκτρο για εμφάνιση φόρμας Πλήκτρο για εμφάνιση κώδικα Διπλό κλικ για να αναδιπλωθεί ή να ξεδιπλωθεί η λίστα Διπλό κλικ για να εμφανιστεί η φόρμα Παράθυρο ιδιοτήτων (Properties window) Βρίσκεται δεξιά της οθόνης. Οι ιδιότητες είναι τα ιδιαίτερα χαρακτηριστικά των αντικειμένων. Κάποιες από τις ιδιότητες καθορίζουν τα χαρακτηριστικά εμφάνισης των αντικειμένων όπως τη θέση, το μέγεθος, το χρώμα και το ίχνος της μύτης του «μολυβιού» που χρησιμοποιείται για τη σχεδίαση τους. Επίσης, κάποιες άλλες ιδιότητες καθορίζουν τον τρόπο αντίδρασης και συμπεριφοράς των αντικειμένων όπως το κλείδωμα, την ενεργοποίηση, το είδος επικοινωνίας για ανταλλαγές τιμών κ.α. Κάθε είδος αντικειμένου έχει διαφορετικό σύνολο ιδιοτήτων. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 8

9 Το αντικείμενο το οποίο χαρακτηρίζουν οι ιδιότητες στη λίστα που ακολουθεί Ταξινόμηση ιδιοτήτων ανά κατηγορία Αλφαβητική ταξινόμηση όλων των Ιδιοτήτων Σύντομη περιγραφή της ιδιότητας που ακολουθεί Το Παράθυρο Ιδιοτήτων περιέχει μια λίστα με τις ιδιότητες και τις τιμές των ιδιοτήτων του αντικειμένου που έχουμε επιλέξει. Η επιλογή του αντικειμένου μπορεί να γίνει είτε από τη φόρμα σχεδίασης είτε από την πτυσσόμενη λίστα που βρίσκεται στο πάνω μέρος του παραθύρου. Στην περίπτωση που έχουν επιλεγεί πάνω από ένα αντικείμενα, προβάλλονται μόνο οι κοινές ιδιότητες όλων των αντικειμένων. Η παρουσίαση των ιδιοτήτων μέσα στο παράθυρο μπορεί να γίνει αλφαβητικά ή κατά κατηγορίες. Τέλος, να σημειωθεί ότι υπάρχουν και ιδιότητες οι οποίες δεν αναφέρονται στο παράθυρο ιδιοτήτων. Σκαρίφημα Εμφάνισης Παραθύρων (Form Layout Window) Πρόκειται για ένα παράθυρο που παρουσιάζει σε μικρογραφία την οθόνη και τη σχετική θέση κάθε παραθύρου ανοιχτής φόρμας στο εσωτερικό της οθόνης. Χρησιμεύει δτην προεπισκόπηση των σχετικών διαστάσεων του παραθύρου κάθε φόρμας και την τοποθέτηση του μέσα στο χώρο της οθόνης σε σχέση με τα άλλα παράθυρα που τυχαίνει να είναι ανοιχτά. Όταν ο δείκτης του ποντικιού πάρει τη μορφή σταυρονήματος, μπορούμε να σύρουμε το παράθυρο και να το τοποθετήσουμε σε μια νέα θέση. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 9

10 Φόρμες, αντικείμενα ελέγχου και ιδιότητες. ΠΕΡΙΛΗΨΗ ΘΕΩΡΙΑΣ 1. Φόρμες Χαρακτηριστικά. Το θεμελιακό στοιχείο σχεδίασης της διεπαφής χρήστη - ΗΥ είναι η φόρμα του παραθύρου. Οι φόρμες όπως και όλα τα αντικείμενα στη Visual Basic έχουν ένα όνομα και δεν επιτρέπεται να υπάρχουν φόρμες με το ίδιο όνομα. Η ιδιότητα που αντιστοιχεί στο όνομα μιας φόρμας είναι η Name. Το όνομα των φορμών (όπως και των αντικειμένων ελέγχου με τα οποία θα ασχοληθούμε σε επόμενες ενότητες) ακολουθεί όμοιους κανόνες με τα ονόματα των μεταβλητών. Συγκεκριμένα, πρέπει να αρχίζει με γράμμα και αποτελείται από πεζά ή/και κεφαλαία γράμματα, λατινικά ή/και ελληνικά, αριθμούς και χαρακτήρες υπογράμμισης (_). Δεν επιτρέπονται άλλα σύμβολα ή κενά μέσα σε ένα όνομα. Το όνομα αρχείου της φόρμας μπορεί να είναι το ίδιο με το όνομα της φόρμας και υπόκειται στους ίδιους περιορισμούς με τους περιορισμούς που υπόκειται το όνομα κάθε αρχείου από το λειτουργικό σύστημα. 2. Ιδιότητες (Properties). Οι ιδιότητες αφορούν τα χαρακτηριστικά των αντικειμένων ή της φόρμας. Ορισμένες ιδιότητες καθορίζουν τα χαρακτηριστικά εμφάνισης (θέση, μέγεθος, χρώμα κλπ) και άλλες ιδιότητες καθορίζουν τον τρόπο αντίδρασης και συμπεριφοράς των αντικειμένων (κλείδωμα, ενεργοποίηση, είδος επικοινωνίας για ανταλλαγές τιμών κ.α). Κάθε είδος αντικειμένου έχει το δικό του σύνολο ιδιοτήτων. Για να εμφανιστεί το Παράθυρο Ιδιοτήτων πηγαίνουμε : Μενού View Properties Window 1. Ιδιότητα Caption (Τίτλος). Για να αλλάξουμε την τιμή μιας ιδότητας πρέπει πρώτα να έχουμε επιλέξει ένα αντικείμενο ή τη φόρμα. Ο τίτλος του παραθύρου δεν ακολουθεί τους περιορισμούς του ονόματος μιας φόρμας. 2. Ιδιότητες Left (αριστερά), Top (πάνω), Width (πλάτος), Height (ύψος). Δίνουν τις διαστάσεις του αντικειμένου ή της φόρμας και είναι σε twips (twentieth of an inch point) όπου 20 twips = 1 στιγμή και 1 ίντσα = 72 στιγμές, άρα υπάρχουν 1440 twips ανά ίντσα. 3. Ιδιότητα BackColor. Είναι το χρώμα του υπόβαθρου (background) μιας φόρμας. 4. Ιδιότητα BorderStyle. Είναι η ιδιότητα που καθορίζει τον τύπο του πλαισίου και των στοιχείων που θα εμφανίζονται στη γραμμή τίτλου του παραθύρου. 5. Ιδιότητα ControlBox. Καθορίζει αν στη γραμμή τίτλου θα εμφανίζεται το πλήκτρο ελέγχου και τα πλήκτρα ελαχιστοποίησης, επαναφοράς/μεγιστοποίησης και κλεισίματος. 6. Ιδιότητες MinButton και MaxButton. Καθορίζει αν στη γραμμή τίτλου θα εμφανίζεται το πλήκτρο ελαχιστοποίησης και το πλήκτρο επαναφοράς/μεγιστοποίησης αντίστοιχα. 7. Ιδιότητα Visible (ορατό). Καθορίζει αν ένα παράθυρο φόρμας ή αντικείμενο θα είναι ορατό. 8. Ιδιότητα Enabled (ενεργοποιημένο). Καθορίζει αν ένα παράθυρο φόρμας ή αντικείμενο θα είναι ενεργοποιημένο αλλιώς εμφανίζεται «αχνό». 9. Ιδιότητα Moveable (μετακινήσιμο). Καθορίζει αν ένα παράθυρο φόρμας θα είναι μετακινήσιμο 10. Ιδιότητα ShowInTaskbar (Εμφάνιση στη Γραμμή Εργασιών των Windows). Καθορίζει αν ο τίτλος του παραθύρου εμφανίζεται στη γραμμή εργασιών. 3. Εκτέλεση και διακοπή προγράμματος. Για να εκτελέσουμε ένα πρόγραμμα πηγαίνουμε: Μενού Run Start ή εναλλακτικά πατάμε το πλήκτρο F5 από το πληκτρολόγιο ή το κουμπί από τη γραμμή εργαλείων. Για να διακόψουμε την εκτέλεση ενός προγράμματος πηγαίνουμε: Μενού Run End ή το κουμπί από τη γραμμή εργαλείων. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 10

11 4. Αντικείμενα ελέγχου. Η σχεδίαση ενός προγράμματος γίνεται με την τοποθέτηση αντικειμένων ελέγχου πάνω σε μια φόρμα. Επιλέγοντας το κατάλληλο εργαλείο (αντικείμενο) από την εργαλειοθήκη, το τοποθετούμε πάνω στη φόρμα, διαμορφώνουμε τις διαστάσεις του, το ευθυγραμμίζουμε με άλλα αντικείμενα και αλλάζουμε τις ιδιότητές του. Το Παράθυρο των Αντικειμένων Ελέγχου είναι συνήθως αριστερά στην οθόνη. Για να το εμφανίσουμε πηγαίνουμε: Μενού View Toolbox 5. Τοποθέτηση αντικειμένων ελέγχου πάνω σε μία φόρμα. Η τοποθέτηση των αντικειμένων ελέγχου πάνω σε μια φόρμα γίνεται παρόμοια με τη σχεδίαση σε ένα πρόγραμμα σχεδίασης. Επιλέγουμε με το ποντίκι ένα εργαλείο από την εργαλειοθήκη, δείχνουμε στη φόρμα το σημείο που θέλουμε να τοποθετήσουμε το αντικείμενο ελέγχου και ορίζουμε το μέγεθος του αντικειμένου σέρνοντας το ποντίκι. Όταν αφήσουμε το πλήκτρο του ποντικιού θα εμφανιστεί το αντικείμενο. 6. Επιλογή και αλλαγή θέσης αντικειμένου ελέγχου. Η επιλογή ενός αντικειμένου ελέγχου (ή της φόρμας) γίνεται με κλικ πάνω του ή με το πλήκτρο Tab. Η αλλαγή της θέσης ενός αντικειμένου ελέγχου γίνεται με επιλογή του και σύρσιμο πάνω στη φόρμα αλλά και από το πληκτρολόγιο. Ααφού το επιλέξουμε, κρατάμε πατημένο το πλήκτρο Control (Ctrl) και πατάμε το αντίστοιχο από τα βελάκια ( ) πλήκτρο. Αν θέλουμε επιλογή πολλών αντικειμένων πατάμε το πλήκτρο Shift και κάνουμε κλικ πάνω στα αντικείμενα που θέλουμε να επιλέξουμε. Εναλλακτικά, κάνουμε αριστερό κλικ και επιλέγουμε την περιοχή που βρίσκονται τα προς επιλογή αντικείμενα. Επίσης, για να επιλέξουμε όλα τα αντικείμενα μιας φόρμας, πατάμε το συνδυασμό πλήκτρων Ctrl A. 7. Αφαίρεση αντικειμένου έλεγχου από τη φόρμα. Για να αφαιρέσουμε ένα αντικείμενο ελέγχου από τη φόρμα, το επιλέγουμε και πατάμε το πλήκτρο Del ( ή Delete ) από το πληκτρολόγιο. 8. Ευθυγράμμιση, ρύθμιση μεγέθους και κατανομή ομάδας αντικειμένων. Το πλέγμα βοηθά στη σωστή ευθυγράμμιση των αντικειμένων ελέγχου αλλά υπάρχει και μια σειρά επιλογών του Μενού Format με τις οποίες είναι εφικτή η γρήγορη ευθυγράμμιση, ρύθμιση του μεγέθους και κατανομή ενός πλήθους αντικειμένων. Συγκεκριμένα, υπάρχουν οι εξής υποεπιλογές: Allign Make Same Size Horizontal Spacing Vertical Spacing Center in Form Order Ευθυγραμμίζει τα αντικείμενα ελέγχου ως προς τα αριστερά, δεξιά, πάνω και κάτω άκρα. Δίνει το ίδιο πλάτος ή και ύψος στα επιλεγμένα αντικείμενα ελέγχου Ρυθμίζει την απόσταση των επιλεγμένων αντικειμένων ελέγχου ώστε να ισαπέχουν, να πυκνώσουν ή να αραιώσουν κατά την οριζόντια διεύθυνση. Ρυθμίζει την απόσταση των επιλεγμένων αντικειμένων ελέγχου ώστε να ισαπέχουν, να πυκνώσουν ή να αραιώσουν κατά την κατακόρυφη διεύθυνση. Ευθυγραμμίζει τα επιλεγμένα αντικείμενα στο μέσο της φόρμας Τοποθετεί τα αντικείμενα σε σειρά βάθους. Κάθε νέο αντικείμενο ελέγχου που τοποθετείται πάνω στην οθόνη, τοποθετείται πάνω από τα ήδη υπάρχοντα αντικείμενα. Η σειρά αυτή μπορεί να αλλάξει με τις υποεπιλογές Send to Back (τελευταίο στη σειρά) και Bring to Front (πρώτο στη σειρά). Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 11

12 ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Άσκηση 1.1. Δημιουργία φόρμας, αλλαγή ονόματος και αποθήκευση. Να δημιουργηθεί μια φόρμα με τίτλο έργου (project) Main, τίτλο παραθύρου «Το πρώτο μου πρόγραμμα» και στη συνέχεια να αποθηκευθεί σε αρχείο με όνομα MainForm.frm. Εκτέλεση της Άσκησης Να γίνουν οι ακόλουθες ενέργειες βήμα προς βήμα. Βήματα-Ενέργειες 1. Καλούμε το Περιβάλλον Εργασίας της Visual Basic: Μενού Έναρξη Όλα τα προγράμματα Microsoft Visual Basic - Microsoft Visual Basic ή πατώντας την αντίστοιχη συντόμευση (Shortcut) στην Επιφάνεια Εργασίας (αν υπάρχει). Θα εμφανιστεί το διπλανό Παράθυρο Διαλόγου που ονομάζεται New Project (Νέο Έργο). Αποτέλεσμα 2. Επιλέγουμε αυτό που είναι προεπιλεγμένο, δηλαδή το Standard.EXE (Τυπικό εκτελέσιμο) και κάνουμε διπλό κλικ πάνω του ή πατάμε το κουμπί «Άνοιγμα». Θα εμφανιστεί το Περιβάλλον Εργασίας της Visual Basic. 3. Αφού εκκινήσαμε την Visual Basic, μεταβαίνουμε στο παράθυρο ιδιοτήτων (δεξιά στο Περιβάλλον Εργασίας με τίτλο Properties) και αλλάζουμε την ιδιότητα Name (όνομα φόρμας) από Form1 σε Main. Παρατηρούμε ότι η αλλαγή ονόματος γίνεται αυτόματα και στο παράθυρο έργου όπου η γραμμή Form1 (Form1) γίνεται Main (Main) και στα άλλα παράθυρα (όπου αναφέρεται). Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 12

13 4. Στο παράθυρο ιδιοτήτων αλλάζουμε την ιδιότητα Caption από «Form1» σε «Το πρώτο μου πρόγραμμα». Παρατηρούμε ότι η αλλαγή αυτή γίνεται και στον τίτλο της φόρμας. 5. Για να αλλάξουμε το όνομα αρχείου της φόρμας, επιλέγουμε αρχικά τη φόρμα Main στο παράθυρο έργου. 6. Από τη γραμμή Μενού επιλέγουμε File και την υποεπιλογή Save Main As (Η Visual Basic προσαρμόζει και την υποεπιλογή ανάλογα με τη φόρμα). 7. Εμφανίζεται το διπλανό Παράθυρο διαλέγου και διαλέγουμε το φάκελο στον οποίο θα τοποθετήσουμε τις εργασίες μας, π.χ. στο My Documents. 8. Δημιουργούμε ένα νέο υποφάκελο π.χ. VΒ1 9. Δίνουμε όνομα MainForm στο αρχείο 10. Πατάμε Cancel (Άκυρο) ώστε να μη γίνει καμία αποθήκευση των αρχείων Άσκηση 1.2. Τοποθέτηση αντικειμένων ελέγχου πάνω σε φόρμα και τακτοποίηση. Σε μια φόρμα να τοποθετηθούν τρία πλήκτρα επιλογής (Option Buttons) μέσα σε ένα Πλαίσιο (Frame) και τρία πλήκτρα διαταγής (Command Buttons) όπως φαίνεται στην παρακάτω αριστερή εικόνα. Στη συνέχεια να διαμορφωθεί η ιδιότητα Caption αυτών των αντικειμένων ελέγχου ώστε να παρουσιάζουν ελληνικά λεκτικά και να τακτοποιηθούν τα πλήκτρα επιλογής και διαταγής όπως στην παρακάτω δεξιά εικόνα. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 13

14 Εκτέλεση της Άσκησης Να γίνουν οι παρακάτω ενέργειες βήμα προς βήμα. Βήματα-Ενέργειες 11. Εμφανίζουμε το Περιβάλλον Εργασίας της Visual Basic και αλλάζουμε το όνομα του έργου σε «Τάση» και το όνομα της φόρμας σε «Επιλογή» από το παράθυρο ιδιοτήτων πληκτρολογώντας τις αντίστοιχες λέξεις στις τιμές των Name και Caption αντίστοιχα Αποτέλεσμα Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 14

15 12. Εισάγουμε πάνω στη φόρμα ένα αντικείμενο ελέγχου Πλαίσιο (Frame) από την εργαλειοθήκη και του αλλάζουμε όνομα από «Frame1» σε «Τάση» (ιδιότητα Caption από το παράθυρο ιδιοτήτων). 13. Εισάγουμε πάνω στη φόρμα και μέσα στο Πλαίσιο «Τάση» ένα αντικείμενο ελέγχου Πλήκτρο επιλογής (OptionButton) και του αλλάζουμε όνομα από «Option1» σε «Χαμηλή» (ιδιότητα Caption από το παράθυρο ιδιοτήτων). 14. Εισάγουμε μέσα στο Πλαίσιο «Τάση» άλλα δύο Πλήκτρα επιλογής (OptionButton) με ονόματα «Μέση» και «Υψηλή». Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 15

16 15. Επιλέγουμε και τα τρία Πλήκτρα επιλογής κάνοντας κλικ πάνω τους έχοντας πατημένο το πλήκτρο Ctrl από το πληκτρολόγιο επιλέγοντας τελευταίο το πλήκτρο «Χαμηλή». Παρατηρήστε το διαφορετικό χρώμα στα τετραγωνάκια γύρω από το πλήκτρο «Χαμηλή» που επιλέχτηκε τελευταίο και θα καθορίσει την γραμμή της αριστερής στοίχισης. Στη συνέχεια πηγαίνουμε: Μενού Format Align Lefts για αριστερή στοίχιση. 16. Έχοντας επιλέξει και τα τρία πλήκτρα επιλογής πηγαίνουμε: Μενού Format Vertical Spacing Make Equal για ισοκατανομή της απόστασής τους. 17. Έπειτα εισάγουμε τρία Πλήκτρα Διαταγής (CommandButtons) πάνω στη φόρμα και κάτω από το Πλαίσιο με ονόματα «Άκυρο», «Όχι» και «Ναι». Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 16

17 18. Αφού επιλέξουμε και τα τρία Πλήκτρα Διαταγής, πηγαίνουμε: Μενού Format Align Tops για ευθυγράμμιση των άνω πλευρών των πλήκτρων διαταγής. 19. Για να αποκτήσουν τις ίδιες διαστάσεις: Μενού Format Make Same Size Both 20. Για ισοκατανομή της απόστασής τους: Μενού Format Horizontal Spacing Make Equal Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 17

18 21. Για πύκνωση: Μενού Format Horizontal Spacing Decrease 22. Τέλος, μετακινούμε τα Πλήκτρα Επιλογής και τα Πλήκτρα Διαταγής π.χ. προς τα αριστερά και προς τα πάνω αντίστοιχα ή προς οποιαδήποτε άλλη κατεύθυνση λίγο προς τα κάτω έχοντας επιλεγμένη καθεμία από τις δύο τριάδες πλήκτρων. 23. Επιβεβαιώστε το τελικό αποτέλεσμα σύμφωνα με την διπλανή εικόνα και τερματίστε την εφαρμογή χωρίς καμία αποθήκευση. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 18

19 Άσκηση 1.3. Διαχείριση ιδιοτήτων φόρμας και άλλων αντικειμένων ελέγχου Σκοπός της άσκησης είναι η εξοικείωση με την αλλαγή διαστάσεων μιας φόρμας και άλλων αντικειμένων ελέγχου. Επίσης, η επίδειξη των διαφορών που συνεπάγεται η αλλαγή ορισμένων ιδιοτήτων της φόρμας και ορισμένων αντικειμένων ελέγχου. Συγκεκριμένα, θα εξεταστούν οι ακόλουθες ιδιότητες και αντικείμενα ελέγχου: Υπόβαθρο (BackColor) Στυλ περιγράμματος (BorderStyle) Ιδιότητες ControlBox, MaxButton και MinButton, Visible, Enabled, Moveable, ShowInTaskBar. Πλαίσιο κειμένου (TextBox) και Ετικέτα (Label) Να γίνουν οι παρακάτω ενέργειες βήμα προς βήμα. Εκτέλεση της Άσκησης Βήματα-Ενέργειες 1. Ξεκινήστε ένα νέο έργο (project) και αλλάξτε τον τίτλο του έργου (project) σε Main και το όνομα της φόρμας σε Το πρώτο μου πρόγραμμα (ιδιότητα Caption). Αποτέλεσμα 2. Αλλάξτε το μέγεθος της φόρμας τραβώντας τις «λαβές» του παραθύρου της φόρμας (τετραγωνάκια στις πλευρές και τις γωνίες) κάνοντας δεξί κλικ και κρατώντας το κουμπί του ποντικιού πατημένο. Παρατηρήστε την αλλαγή των διαστάσεων στη γραμμή εργαλείων (κάτω από τη γραμμή Μενού) και την αλλαγή μεγέθους του σκαριφήματός της στο παράθυρο εμφάνισης σκαριφημάτων (Form Layout) κάτω δεξιά της οθόνης. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 19

20 3. Αλλάξτε το χρώμα του υποβάθρου π.χ. σε άσπρο από την ιδιότητα BackColor στο παράθυρο ιδιοτήτων. 4. Δοκιμάστε όλες τις τιμές της ιδιότητας BorderStyle και παρατηρήστε τις διαφορές. Μετά από κάθε αλλαγή μιας ιδιότητας, να εκτελείται το πρόγραμμα και να παρατηρείτε τις διαφορές. Στη συνέχεια, να επαναφέρετε την τιμή της ιδιότητας στην προηγούμενη τιμή, να δίνετε μια άλλη τιμή ή να αλλάζετε την τιμή μιας άλλης ιδιότητας και να εκτελείται ξανά το πρόγραμμα. 0-None. Παράθυρο χωρίς πλαίσιο και γραμμή τίτλου 1-Fixed Single. Παράθυρο με πλαίσιο και γραμμή τίτλου. Ο χρήστης δε μπορεί να αλλάξει το μέγεθος παραθύρου. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 20

21 2-Sizeable. Παράθυρο με πλαίσιο και γραμμή τίτλου. Ο χρήστης μπορεί να αλλάξει το μέγεθος παραθύρου. Αποτελεί την προτεινόμενη τιμή του περιβάλλοντος εργασίας για κάθε νέο παράθυρο. 3-Fixed Dialog. Παράθυρο με πλαίσιο και γραμμή τίτλου, χωρίς πλήκτρα επαναφοράς/ μεγιστοποίησης και ελαχιστοποίησης. Ο χρήστης δε μπορεί να αλλάξει το μέγεθος παραθύρου. 4-Fixed ToolWindow. Παράθυρο παλέτας χωρίς πλήκτρα επαναφοράς, μεγιστοποίησης και ελαχιστοποίησης. Ο χρήστης δε μπορεί να αλλάξει το μέγεθος παραθύρου. Η γραμμή τίτλου γίνεται πιο στενή. 5-Sizeable ToolWindow. Παράθυρο παλέτας χωρίς πλήκτρα επαναφοράς, μεγιστοποίησης και ελαχιστοποίησης. Ο χρήστης μπορεί να αλλάξει το μέγεθος παραθύρου. Η γραμμή τίτλου γίνεται πιο στενή. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 21

22 5. Τοποθετήστε πάνω στη φόρμα ένα πλαίσιο κειμένου (TextBox) και μια ετικέτα (Label). Αλλάξτε και σε αυτά την ιδιότητα BorderStyle από 1-Fixed Single σε 0-None αφού τα επιλέξετε πρώτα. TextBox Label 6. Εκτελέστε το πρόγραμμα με τα κουμπιά Run (ή F5) και τερματίστε την εκτέλεση με το κουμπί ή Μενού Run End για διάφορες τιμές του BorderStyle της φόρμας. Αν υπάρχει η δυνατότητα τερματισμού του προγράμματος από το κουμπί X χρησιμοποιήστε την. 7. Επαναφέρετε την ιδιότητα BorderStyle για τη φόρμα σε 2-Sizeable και αλλάξτε την τιμή της ιδιότητας ControlBox της φόρμας από True σε False και εκτελέστε το πρόγραμμα. 8. Επαναφέρετε την τιμή της ControlBox σε True και αλλάξτε τις ιδιότητες Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 22

23 MaxButton και MinButton της φόρμας από True σε False. Εκτελέστε το πρόγραμμα και παρατηρήστε τις διαφορές. 9. Εκτελέστε το πρόγραμμα αφού αλλάξετε από True σε False τις τιμές των παρακάτω ιδιοτήτων (μία κάθε φορά και επαναφέρετε στην προηγούμενη τιμή πριν αλλάξετε την τιμή σε άλλη ιδιότητα): Visible. Το παράθυρο της φόρμας εξαφανίζεται. Enabled. Δεν υπάρχει η δυνατότητα αλλαγών πάνω στη φόρμα, ούτε μετακίνησης του παραθύρου, ούτε τερματισμού του προγράμματος από το κουμπί Χ. Moveable. Το παράθυρο φόρμας δεν είναι δυνατόν να μετακινηθεί. ShowInTaskBar. Στην κάτω γραμμή εργαλείων του Περιβάλλοντος των Windows δεν εμφανίζεται το αντίστοιχο τμήμα που δηλώνει ότι εκτελείται το πρόγραμμα. Εργασία για παράδοση (Εργαστηριακή Άσκηση 1) Να παραδώσετε την συγκεκριμένη εργασία μέχρι την έναρξη εκτέλεσης της επόμενης εργαστηριακής άσκησης στην Εργαστηριακή Ομάδα που ανήκετε: 1. Τι κανόνες ακολουθεί το όνομα (ιδιότητα Name) μιας φόρμας ή ενός αντικειμένου ελέγχου (όπως ακριβώς και το όνομα μιας σταθεράς ή μιας μεταβλητής) στη Visual Basic ; 2. Τι εκφράζουν και πως μεταφράζονται στα ελληνικά οι ιδιότητες: Caption, Left, Top, Width, Height, BackColor, BorderStyle, ControlBox, MinButton, MaxButton, Visible, Enabled, Moveable και ShowInTaskBar ; Τι τιμές παίρνει η κάθε μία από αυτές τις ιδιότητες (αλφαριθμητικές, αριθμητικές λογικές, άλλες) ; Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 23

24 Διαστάσεις, αρχική θέση, στοίχιση, εστίαση, βάθος. ΠΕΡΙΛΗΨΗ ΘΕΩΡΙΑΣ 1. Αντικείμενα ελέγχου. Η σχεδίαση ενός προγράμματος γίνεται με την τοποθέτηση αντικειμένων ελέγχου πάνω σε μια φόρμα. Επιλέγοντας το κατάλληλο εργαλείο (αντικείμενο) από την εργαλειοθήκη, το τοποθετούμε πάνω στη φόρμα, διαμορφώνουμε τις διαστάσεις του, το ευθυγραμμίζουμε με άλλα αντικείμενα και αλλάζουμε τις ιδιότητές του. Η εργαλειοθήκη της Visual Basic και τα έτοιμα αντικείμενα (εργαλεία) που διαθέτει, φαίνονται στο ακόλουθο Σχήμα. Δείκτης (Pointer) Ετικέτα (Label) Πλαίσιο (Frame) Πλήκτρο σημείωσης (Check box) Συνδυασμένη λίστα (Combo box) Οριζόντια ράβδος κύλισης (Horizontal scroll bar) Χρονόμετρο (Timer) Λίστα φακέλων (Directory list box) Γεωμετρικό σχήμα (Shape) Εικόνα (Image) Πλαίσιο εικόνας (Picture box) Πλαίσιο κειμένου (Text box) Πλήκτρο διαταγής (Command button) Πλήκτρο επιλογής (Option button) Λίστα (List box) Κατακόρυφη ράβδος κύλισης (Verical scroll bar) Πτυσσόμενη λίστα δίσκων (Drive list box) Λίστα αρχείων (File list box) Γραμμή (Line) Χειρισμός δεδομένων (Data) OLE (Object Linking and Embedding) 2. Εστίαση. Όταν ο χρήστης επιλέξει ένα παράθυρο φόρμας ή ένα αντικείμενο, λέμε ότι αποκτά την εστίαση η οποία διακρίνεται συνήθως από τον τονισμό κάποιου από τα οπτικά του χαρακτηριστικά. Π.χ., αν το αντικείμενο ελέγχου είναι πλήκτρο διαταγής, επιλογής, σημείωσης κλπ, γύρω από τον τίτλο του εμφανίζεται ένα διακεκομμένο τετράγωνο ενώ αν είναι πλαίσιο κειμένου, συνδυασμένη λίστα κλπ, αναβοσβήνει ο δρομέας κειμένου στο εσωτερικό του. Σε ένα παράθυρο φόρμας, μόνο ένα αντικείμενο ελέγχου μπορεί να έχει την εστίαση. Μπορούμε να μεταφέρουμε δυναμικά την εστίαση σε ένα αντικείμενο ελέγχου με τις εξής ενέργειες: - Κάνοντας κλικ πάνω του. - Πατώντας μερικές φορές το πλήκτρο Tab ή το συνδυασμό πλήκτρων Shift+Tab που μεταφέρει την εστίαση από αντικείμενο ελέγχου σε αντικείμενο ελέγχου. 3. Ιδιότητες που αφορούν την εστίαση. Οι ιδιότητες που καθορίζουν την εστίαση είναι: Ιδιότητα TabIndex. Ορίζει τη σειρά με την οποία θα γίνει η μεταφορά της εστίασης στα αντικείμενα ελέγχου. Κάθε αντικείμενο ελέγχου μιας φόρμας, πρέπει να έχει μια μοναδική τιμή Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 24

25 όσον αφορά την ιδιότητα TabIndex. Οι τιμές που μπορεί να έχει η ιδιότητα TabIndex είναι: 0, 1, 2,. Αν αλλάξουμε την τιμή TabIndex για ένα αντικείμενο ελέγχου, αυτόματα γίνεται επαναρίθμηση της σειράς, δηλαδή της τιμής της TabIndex των άλλων αντικειμένων. Με το πλήκτρο Tab η εστίαση δίνεται στο αντικείμενο με την αμέσως μεγαλύτερη τιμή TabIndex ενώ με το συνδυασμό Shift+Tab στο αντικείμενο με την αμέσως μικρότερη τιμή TabIndex. Επίσης, θα πρέπει να ληφθεί υπ όψιν ότι η μετάβαση (εστίαση) σε ένα αντικείμενο ελέγχου γίνεται μόνο αν η τιμή της ιδιότητας Enabled είναι True. Αν η τιμή της είναι False, το αντικείμενο ελέγχου εμφανίζεται «αχνό». Ιδιότητα TabStop. Ορίζει αν ένα αντικείμενο ελέγχου μπορεί να αποκτήσει την εστίαση μετά το πάτημα του πλήκτρου Tab. 4. Άλλες ιδιότητες αντικειμένων. Υπάρχουν πολλές ακόμη ιδιότητες των αντικειμένων ελέγχου και της φόρμας εκτός από αυτές που αναφέραμε στην προηγούμενη εργαστηριακή άσκηση, όπως οι εξής: Ιδιότητα Value. Εμφανίζει προεπιλεγμένο ένα πλήκτρο επιλογής (OptionButton). Iδιότητα ForeColor. Αλλάζει το χρώμα (μπλε, κόκκινο κλπ) γραμματοσειράς π.χ. μιας ετικέτας (Label). Ιδιότητα Font. Αλλάζει τον τύπο (Arial, Tahoma κλπ) γραμματοσειράς π.χ. μιας ετικέτας (Label). Ιδιότητα BorderColor. Αλλάζει το χρώμα του περιγράμματος π.χ. μιας γραμμής (Line). 5. Σειρά εμφάνισης (βάθος) αντικειμένων ελέγχου και φόρμας. Τα αντικείμενα ελέγχου δεν τοποθετούνται απευθείας πάνω στην επιφάνεια της φόρμας αλλά σε δύο επίπεδα (στρώσεις) που βρίσκονται πάνω από αυτή. Η επιφάνεια της φόρμας αποτελεί επίσης επίπεδο (στρώση), άρα συνολικά έχουμε τρία επίπεδα. Στο πάνω επίπεδο (στρώση) τοποθετούνται τα πλαίσια κειμένου και εικόνας, τα πλήκτρα γενικά και οι ράβδοι κύλισης Στο μεσαίο επίπεδο (στρώση) τοποθετούνται τα γεωμετρικά σχήματα και οι εικόνες. Στο κάτω επίπεδο (στρώση) που ουσιαστικά είναι η φόρμα, γίνεται η σχεδίαση μέσα από το πρόγραμμα με εντολές σχεδίασης και παρουσίασης κειμένου όπως θα δούμε σε παρακάτω ενότητες. Το μάτι βλέπει την προβολή των αντικειμένων, γι αυτό και δε διακρίνονται απευθείας τα τρία επίπεδα (στρώσεις). Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 25

26 ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Άσκηση 1.1. Διαστάσεις, αρχική θέση, στοίχιση και εστίαση αντικειμένων ελέγχου Να τοποθετήσετε πάνω σε μία φόρμα όλα τα αντικείμενα ελέγχου από τη Εργαλειοθήκη (Tool box) των αντικειμένων ελέγχου. Στη συνέχεια: Αλλάξτε τις διαστάσεις τους, την αρχική τους θέση και τη στοίχισή τους από τις εντολές του Μενού Format. Παρατηρήστε τον τρόπο εστίασης σε κάθε ένα από τα αντικείμενα ελέγχου χρησιμοποιώντας τα πλήκτρα Tab και Shift + Tab. Εκτελέστε το πρόγραμμα και παρατηρήστε τον τρόπο εστίασης σε κάθε ένα από τα αντικείμενα ελέγχου χρησιμοποιώντας τα πλήκτρα Tab και Shift + Tab. Εκτέλεση της Άσκησης Βήματα-Ενέργειες 1. Τοποθετούμε κάθε ένα από τα αντικείμενα ελέγχου της Εργαλειοθήκης (αριστερά της οθόνης) πάνω στη φόρμα. 2. Αλλάζουμε τις διαστάσεις κάθε αντικειμένου από τις «λαβές» αφού πρώτα το επιλέξουμε. 3. Αλλάζουμε την αρχική θέση κάθε αντικειμένου αφού πρώτα το επιλέξουμε. 4. Κάνουμε διπλό κλικ πάνω σε κάθε αντικείμενο για να δούμε τον κώδικα που είναι γραμμένος για κάθε αντικείμενο ελέγχου και κλείνοντας κάθε φορά το Παράθυρο Διαλόγου που εμφανίζεται. Αποτέλεσμα 5. Τακτοποιούμε τα αντικείμενα από τις εντολές του Μενού Format αφού τα επιλέξουμε όλα ή μερικά από αυτά. Η επιλογή όλων των αντικειμένων μπορεί να γίνει με τους ακόλουθους τρόπους: - Πατώντας τα πλήκτρα Ctrl + A - Κάνοντας κλικ στη μία γωνία της φόρμας και σέρνοντας το ποντίκι με πατημένο το αριστερό πλήκτρο έως την άλλη γωνία της φόρμας διαγώνια. Με αυτόν τον τρόπο επιλέγεται ότι περιέχεται στο τετράγωνο με διακεκομμένη γραμμή περιγράμματος (εικόνα δίπλα). - Πατώντας το πλήκτρο Ctrl και κάνοντας κλικ σε κάθε αντικείμενο. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 26

27 6. Αν επιλέξουμε όλα τα αντικείμενα θα δούμε τη διπλανή εικόνα. 7. Για την τακτοποίηση των αντικειμένων ελέγχου χρησιμοποιούμε τις εντολές από το Μενού Format. Συγκεκριμένα, μπορούμε να κάνουμε τα εξής: Μενού Format Align To Grid Μενού Format Make Same Size - Both Μενού Format Horizontal Spacing Make Equal Μενού Format Vertical Spacing Make Equal Μενού Format Center in Form - Horizontally Μενού Format Center in Form - Vertically 8. Αφού τακτοποιήσουμε τα αντικείμενα ελέγχου, κάνουμε κλικ πάνω στη φόρμα για να τερματίσουμε την επιλογή τους. 9. Πατώντας το πλήκτρο Tab διαδοχικά, παρατηρούμε τον τρόπο και τη σειρά εστίασης σε κάθε ένα από τα αντικείμενα που είναι τοποθετημένα πάνω στη φόρμα. 10. Στη συνέχεια, χρησιμοποιούμε τα πλήκτρα Shift + Tab διαδοχικά και παρατηρούμε τον τρόπο εστίασης. 11. Εκτελούμε το πρόγραμμα και χρησιμοποιώντας ξανά τα πλήκτρα Tab και Shift + Tab παρατηρούμε τον τρόπο εστίασης σε κάθε αντικείμενο. 12. Τερματίζουμε το πρόγραμμα από το κουμπί. 13. Τέλος, κάνουμε διπλό κλικ πάνω σε κάθε αντικείμενο και παρατηρούμε τον κώδικα που είναι γραμμένος πίσω από κάθε αντικείμενο. Επίσης, κάνοντας δεξί κλικ View code πάνω στο χώρο σχεδίασης, παρατηρούμε τον κώδικα που έχει αυτόματα γραφεί για τη φόρμα. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 27

28 Άσκηση 1.2. Σχεδιασμός φόρμας με διάφορα αντικείμενα ελέγχου. Να σχεδιάσετε την ακόλουθη φόρμα όπου: Τα Πλήκτρα Επιλογής (OptionButtons) Μέση, Τριφασική και Βιομηχανικός να είναι προεπιλεγμένα. Στο 3 ο Πλαίσιο (Frame) από αριστερά που περιέχει Γραμμές (Lines), όλα τα στοιχεία (Γραμμές και Ετικέτες) να είναι με μπλε χρώμα και η κάτω Ετικέτα (Label) να είναι με έντονη γραφή και μέγεθος γραμματοσειράς ίσο με 8. Εκτέλεση της Άσκησης Βήματα-Ενέργειες 14. Τοποθετούμε τα αντικείμενα ελέγχου (Frames, OptionButtons, Labels, Lines, CommandButtons) πάνω στη φόρμα όπως φαίνεται στη διπλανή εικόνα. Αποτέλεσμα 15. Τακτοποιούμε τα αντικείμενα ελέγχου και αλλάζουμε το όνομά τους από την ιδιότητα Caption σύμφωνα με τη διπλανή εικόνα. 16. Για να κάνουμε τα Πλήκτρα Επιλογής «Μέση»,«Τριφασική», «Βιομηχανικός» να είναι προεπιλεγμένα, αλλάζουμε την ιδιότητα Value από False σε True. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 28

29 17. Για να αλλάξουμε το χρώμα γραμματοσειράς των Ετικετών του 3 ου Πλαισίου από αριστερά σε μπλε, αλλάζουμε την ιδιότητα ForeColor σε Highlight. 18. Για να αλλάξουμε την γραμματοσειρά της Ετικέτας «Συνολικό Κόστος», αλλάζουμε την ιδιότητα Font και βάζουμε Στυλ: «Έντονη γραφή και Μέγεθος: 8 στο Παράθυρο διαλόγου που εμφανίζεται μόλις πατήσουμε το κουμπί. 19. Για να αλλάξουμε το χρώμα των Γραμμών του 3 ου Πλαισίου από αριστερά σε μπλε, αλλάζουμε την ιδιότητα BorderColor σε Highlight 20. Στη διπλανή εικόνα φαίνεται το τελικό αποτέλεσμα της φόρμας. 21. Εκτελέστε το πρόγραμμα για να δείτε το Παράθυρο Διαλόγου που θα εμφανίζεται στο χρήστη. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 29

30 Άσκηση 1.3. Σειρά εμφάνισης (βάθος) αντικειμένων ελέγχου και φόρμας. Να τοποθετήσετε πάνω σε μία φόρμα ένα ευθύγραμμο τμήμα (γραμμή), ένα κύκλο, ένα πλήκτρο διαταγής και ένα πλαίσιο κειμένου. Από τις εντολές του Μενού Format Order Bring to Front (ή Send to Back) να αναδιατάξετε τα αντικείμενα ως προς το βάθος, δηλαδή πιο αντικείμενο εμφανίζεται πρώτο στην οθόνη και να παρατηρήσετε τις αλλαγές. Εκτέλεση της Άσκησης Βήματα-Ενέργειες 22. Από την Εργαλειοθήκη και τα κουμπιά: Αποτέλεσμα Γραμμή Σχήμα (αλλάζουμε την ιδιότητα Shape σε 3-Circle) Πλήκτρο διαταγής Πλαίσιο κειμένου τοποθετούμε τα αντικείμενα πάνω στη φόρμα. 23. Επιλέγουμε το αντικείμενο «Πλαίσιο κειμένου» και πηγαίνουμε: Μενού Format Send to Back ώστε να μεταφερθεί στη μεσαία στρώση και πίσω από το αντικείμενο «Πλήκτρο Διαταγής» όπως φαίνεται στη διπλανή εικόνα. 24. Επιλέγουμε το αντικείμενο «Κύκλος» και πηγαίνουμε: Μενού Format Bring to Front ώστε να μεταφερθεί στην πάνω στρώση. Παρατηρούμε ότι παραμένει στην μεσαία στρώση. Το ίδιο θα συνέβαινε και αν κάναμε το ίδιο για το αντικείμενο «Γραμμή». Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 30

31 Άσκηση 1.4. Σχεδίαση φόρμας για την εισαγωγή ονόματος χρήστη/συνθηματικού Να σχεδιάσετε την παρακάτω φόρμα για την εισαγωγή (Login) στο σύστημα με πληκτρολόγηση ονόματος χρήστη (username) και συνθηματικού (password) σύμφωνα με τις ακόλουθες οδηγίες: Το όνομα της φόρμας να είναι Login και το πλαίσιο της φόρμας να μην περιλαμβάνει τα πλήκτρα ελαχιστοποίησης και μεγιστοποίησης αλλά μόνο το πλήκτρο κλεισίματος. Να χρησιμοποιηθούν 2 πλαίσια κειμένου, 2 ετικέτες και 2 πλήκτρα διαταγής τα οποία να είναι τακτοποιημένα. Ενδεικτικά αποτελέσματα της Άσκησης Εργασία για παράδοση (Εργαστηριακή Άσκηση 2) Να παραδώσετε την συγκεκριμένη εργασία μέχρι την έναρξη εκτέλεσης της επόμενης εργαστηριακής άσκησης στην Εργαστηριακή Ομάδα που ανήκετε: 1. Με ποιους τρόπους γίνεται η μεταφορά εστίασης σε ένα αντικείμενο ελέγχου ; Τι διαφορά έχει το πάτημα του πλήκτρου Tab και το πάτημα του συνδυασμού πλήκτρων Shift+Tab ; 2. Ποια η λειτουργία των ιδιοτήτων TabIndex, TabStop, Value, ForeColor, Font, BorderColor ; Τι τιμές παίρνει η κάθε μία από αυτές τις ιδιότητες (αλφαριθμητικές, αριθμητικές λογικές, άλλες) ; 3. Με ποιο τρόπο μπορεί να δει κανείς τον κώδικα κάτω από ένα αντικείμενο ή φόρμα; Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 31

32 Εισαγωγή στον προγραμματισμό με συμβάντα ΠΕΡΙΛΗΨΗ ΘΕΩΡΙΑΣ 1. Συμβάντα (events). Η λέξη συμβάν αντιστοιχεί σε κάτι που προκύπτει από διάφορες αιτίες κατά τη διάρκεια της εκτέλεσης (λειτουργίας) μιας εφαρμογής (ή ενός προγράμματος). Τα συμβάντα προκαλούνται από: Τον χρήστη όταν π.χ. κάνει κλικ με το ποντίκι ή πραγματοποιεί μετακίνησή του, ή όταν πληκτρολογεί μέσα σε ένα Πλαίσιο Κειμένου κλπ. Την ίδια την εφαρμογή (πρόγραμμα) ως αποτέλεσμα άλλου συμβάντος π.χ. όταν ανοίγει ή κλείνει ένα παράθυρο, όταν αποκτά εστίαση ένα αντικείμενο ελέγχου κλπ. Μια άλλη εφαρμογή π.χ. έπειτα από αίτηση για λήψη ή αποστολή μηνύματος. Το ίδιο το υπολογιστικό σύστημα π.χ. μετά από διακοπή σε τακτά χρονικά διαστήματα που ορίζει ένας χρονοδιακόπτης (timer). 2. Προγραμματισμός καθοδηγούμενος από συμβάντα (event-driven programming). Στον προγραμματισμό καθοδηγούμενο από συμβάντα, ο προγραμματιστής επισυνάπτει στα συμβάντα τμήματα κώδικα (διαδικασίες) οι οποίες εκτελούνται (αναδύονται) όταν προκαλείται το αντίστοιχο συμβάν. Τα συμβάντα και οι διαδικασίες μπορεί να προκαλούνται με διαφορετική σειρά κάθε φορά. Π.χ., το πλήκτρο που θα πατήσει ο χρήστης από ένα πλήθος πλήκτρων για να επιλέξει μια διαδικασία και πότε ακριβώς θα το πράξει, είναι υπόθεση του χρήστη. 3. Υπορουτίνες διαχείρισης συμβάντων. Σε κάθε φόρμα επισυνάπτεται και ένα παράθυρο με τον αντίστοιχο κώδικα. Στο παράθυρο αυτό γράφονται οι υπορουτίνες διαχείρισης συμβάντων που αφορούν τη φόρμα και τα αντικείμενα ελέγχου της. Οι γραμμές κώδικα όλων των φορμών και των βασικών προγραμματιστικών μονάδων (modules) εφαρμογής. αποτελούν το συνολικό πρόγραμμα της Κάθε υπορουτίνα διαχείρισης συμβάντος έχει μοναδικό όνομα μέσα σε μια προγραμματιστική μονάδα φόρμας,. Τα ονόματα αυτά δίδονται αυτόματα από το Περιβάλλον Εργασίας και αποτελούνται από δύο συνθετικά: το όνομα του αντικειμένου και το όνομα του συμβάντος. Ανάμεσα σε αυτά τα δύο αυτά μεσολαβεί η κάτω παύλα (_). Η υπορουτίνα διαχείρισης συμβάντος αρχίζει με τις κωδικές λέξεις Private Sub (αρχή υπορουτίνας) και το όνομά της τερματίζει με την εντολή End Sub (τέλος υπορουτίνας). Η γενική μορφή των διαδικασιών διαχείρισης συμβάντων είναι : Private Sub αντικείμενο_συμβάν() εντολή_1 εντολή_2 : : End Sub Όνομα υπορουτίνας Τμήματα κώδικα που περιγράφουν τις διαδικασίες της υπορουτίνας Πριν δημιουργήσουμε υπορουτίνες διαχείρισης συμβάντων για ένα αντικείμενο, πρέπει να έχουμε αποφασίσει για το όνομά του (ιδιότητα Name). Αν αλλάξουμε το όνομα ενός αντικειμένου, δεν αλλάζουν αυτόματα και τα ονόματα των υπορουτινών διαχείρισης των συμβάντων του. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 32

33 4. Πιο συνηθισμένα συμβάντα της VB. Ορισμένα από τα πιο συνηθισμένα συμβάντα είναι: Change: Click : Load : MouseMove : Προκύπτει είτε με αλλαγή των δεδομένων ενός αντικειμένου, είτε με ενέργειες του χρήστη από το πληκτρολόγιο ή το ποντίκι, είτε από κώδικα. Προκαλείται όταν ο χρήστης πατά και αφήνει το πλήκτρο του ποντικιού, ενώ ο δείκτης του ποντικιού βρίσκεται πάνω στο αντικείμενο. Σχεδόν όλα τα αντικείμενα υποστηρίζουν αυτό το συμβάν. Προκύπτει όταν φορτώνεται μια φόρμα με όλα τα αντικείμενα που υπάρχουν πάνω της. Συνηθίζεται τότε να δίνουμε αρχικές τιμές σε κάποιες ιδιότητες των αντικειμένων της φόρμας. Προκύπτει όταν ο δρομέας του ποντικιού κινείται πάνω από ένα αντικείμενο. 5. Τερματισμός προγράμματος-εντολή End. Ο τερματισμός ενός προγράμματος μπορεί να γίνει είτε με κλικ στο πλήκτρο κλεισίματος Χ είτε πηγαίνοντας Μενού Run End είτε με το κουμπί από τη γραμμή εργαλείων. Σε ορισμένες περιπτώσει είναι επιθυμητό οτερματισμός να γίνει με εντολή μέσα από τον κώδικα π.χ. μιας υπορουτίνας διαχείρισης συμβάντων χρησιμοποιώντας την εντολή End. Να σημειωθεί ότι η εντολή End τερματίζει το πρόγραμμα, δηλαδή προκαλεί τη διακοπή του ενώ η εντολή End Sub δηλώνει ουσιαστικά το τέλος της περιοχής που γράφονται οι εντολές της υπορουτίνας και τερματίζει την εκτέλεση της υπορουτίνας. Την εντολή End μπορούμε να τη γράψουμε σε οποιοδήποτε σημείο του προγράμματος. 6. Εκχώρηση τιμής σε ιδότητα. Η πιο απλή λειτουργία που μπορούμε να έχουμε μέσα σε μια υπορουτίνα διαχείρισης συμβάντος είναι η αλλαγή (αντικατάσταση) της τιμής μια ιδιότητας ενός αντικειμένου. Η εντολή εκχώρησης με την οποία γίνεται αυτή η αλλαγή είναι μια απλή εντολή εκχώρησης τιμής (assignment statement) η οποία έχει την εξής σύνταξη : όπου: αντικείμενο.ιδιότητα = παράσταση Αντικείμενο είναι το όνομα που έχουμε δώσει στο αντικείμενο. Ιδιότητα είναι το όνομα της ιδιότητας της οποίας θέλουμε να αλλάξουμε την τιμή. Παράσταση είναι μια αριθμητική, λογική ή αλφαριθμητική σταθερά, μεταβλητή ή παράσταση της οποίας η τιμή θα αποδοθεί για τιμή στην ιδιότητα. Στην εκχώρηση τιμής σε ιδιότητες, σε αντιστοιχία με την εκχώρηση τιμής σε μεταβλητή ή σταθερά, υπολογίζεται πρώτα το αποτέλεσμα της παράστασης στα δεξιά του «=» και το αποτέλεσμα εκχωρείται (μεταβιβάζεται) στην ιδιότητα του αντικειμένου ελέγχου στα αριστερά του «=». 7. Κωδική λέξη Me. Όταν το αντικείμενο στο οποίο θέλουμε να αναφερθούμε είναι η ίδια η φόρμα του παραθύρου κώδικα, μπορούμε αντί για το όνομά της (που μπορεί να αλλάξει στο μέλλον) να χρησιμοποιούμε την κωδική λέξη Me. Π.χ. η εντολή: Me.Caption = Visual εκχωρεί την τιμή Visual στην ιδιότητα Caption της φόρμας. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 33

34 ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Άσκηση 1.5. Συμβάν Click, τερματισμός προγράμματος, εντολή End. Να δημιουργηθεί μια φόρμα με ένα πλήκτρο διαταγής με όνομα Exit και Caption Έξοδος με το οποίο να τερματίζεται η εκτέλεση του προγράμματος όταν το πατάμε. Εκτέλεση της Άσκησης Εκτελούμε τις εξής ενέργειες: Ενέργειες-Βήματα 1. Πάνω σε μία φόρμα τοποθετούμε ένα πλήκτρο διαταγής. Αποτέλεσμα 2. Αλλάζουμε τις ιδιότητες Caption και ControlBox της φόρμας σε «Τερματισμός» και False αντίστοιχα. 3. Αλλάζουμε τις ιδιότητες Name και Caption του πλήκτρου διαταγής σε Exit και Έξοδος αντίστοιχα. 4. Κάνουμε διπλό κλικ στο πλήκτρο Έξοδος οπότε εμφανίζεται το παράθυρο κώδικα με έτοιμες την πρώτη και την τελευταία γραμμή της υπορουτίνας συμβάντος Click. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 34

35 5. Πληκτρολογούμε την εντολή End μέσα στην υπορουτίνα και κλείνουμε το Παράθυρο κώδικα από το Χ. 6. Εκτελούμε το πρόγραμμα π.χ. με το F5 οπότε εμφανίζεται το διπλανό παράθυρο. 7. Ελέγχουμε αν λειτουργεί σωστά το πλήκτρο. Συγκεκριμένα, θα πρέπει όταν πατήσουμε το πλήκτρο «Έξοδος» να τερματιστεί το πρόγραμμα χωρίς να χρειαστεί να το τερματίσουμε εμείς (π.χ. Μενού Run End). Άσκηση 1.6. Εκχώρηση τιμής σε ιδιότητες, ετικέτες, πλήκτρα διαταγής, πλαίσια κειμένου, συμβάν Change. Α) Να τοποθετήσετε πάνω σε μία φόρμα μια ετικέτα, ένα πλήκτρο διαταγής και ένα πλαίσιο κειμένου στα οποία να δώσετε όνομα (Name), εντολή και συμβάν σύμφωνα με τον ακόλουθο Πίνακα και στη συνέχεια να εκτελέσετε το πρόγραμμα παρατηρώντας τη συμπεριφορά των αντικειμένων: Αντικείμενο Όνομα Συμβάν Εντολή(ές) Ετικέτα Μήνυμα Click Μήνυμα. Caption = Μη αποδεκτή τιμή! Πλήκτρο διαταγής OK Click OK.Enabled = False Πλαίσιο κειμένου Πλαίσιο Change Πλαίσιο.Height = 400 Πλαίσιο.Width = 2000 Β) Να αλλάξετε την ιδιότητα Caption στην ετικέτα και το πλήκτρο διαταγής, αλλά και την ιδιότητα Text στο πλαίσιο κειμένου, ώστε να έχουν τιμή ίδια με το Όνομα. Επίσης, να αλλάξετε το συμβάν για το αντικείμενο Πλαίσιο κειμένου από Change σε Click και να παρατηρήσετε τη συμπεριφορά όλων των αντικειμένων. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 35

36 Α) Εκτελούμε τις ακόλουθες ενέργειες: Ενέργειες-Βήματα 8. Τοποθετούμε τα τρία αντικείμενα πάνω στη φόρμα. 9. Αλλάζουμε το Όνομα κάθε αντικειμένου σύμφωνα με τον παραπάνω Πίνακα. 10. Κάνουμε διπλό κλικ πάνω σε κάθε αντικείμενο και πληκτρολογούμε τις εντολές φροντίζοντας το συμβάν που περιγράφεται στον παραπάνω Πίνακα να συμφωνεί με το συμβάν που εμφανίζεται προεπιλεγμένα στην οθόνη. Εκτέλεση της Άσκησης Αποτέλεσμα Παρατηρούμε επίσης το αναδυόμενο παράθυρο μόλις πατήσουμε το πρώτο γράμμα μετά την τελεία με όλες τις ιδιότητες που αρχίζουν από το συγκεκριμένο γράμμα. Με διπλό κλικ πάνω στην ιδιότητα που θέλουμε, εισάγεται η ιδιότητα και δε χρειάζεται να την πληκτρολογήσουμε. 11. Εκτελούμε το πρόγραμμα οπότε εμφανίζεται το διπλανό παράθυρο: Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 36

37 12. Κάνοντας κλικ στην ετικέτα (Label1), στο πλήκτρο διαταγής (Command1) και γράφοντας ή σβήνοντας κείμενο στο Πλαίσιο Κειμένου (Text1), βλέπουμε τη συμπεριφορά του προγράμματος. 13. Συγκεκριμένα: - Εμφανίζεται το μήνυμα χωρίς τα διπλά εισαγωγικά. - Το πλήκτρο διαταγής απενεργοποιείται. - Το Πλαίσιο Κειμένου αποκτά τις διαστάσεις που του δώσαμε σε twips. Β) Εκτελούμε τις ακόλουθες ενέργειες: Ενέργειες-Βήματα 14. Αλλάζουμε τις ιδιότητες σύμφωνα με τα ζητούμενα οπότε η μορφή των αντικειμένων είναι όπως στη διπλανή εικόνα. Αποτέλεσμα 15. Αλλάζουμε το συμβάν για το πλαίσιο κειμένου από Change σε Click. 16. Εκτελούμε το πρόγραμμα και παρατηρούμε τη συμπεριφορά κάθε αντικειμένου κάνοντας κλικ πάνω του. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 37

38 Άσκηση 1.7. Απόδοση τιμής σε φόρμα, λέξη Me, ιδιότητες Caption και Text. Α) Να δημιουργηθεί μια φόρμα με Caption Εισαγωγή/Διαγραφή μηνύματος πάνω στην οποία να τοποθετηθούν μία ετικέτα με όνομα Message και δύο πλήκτρα διαταγής με ονόματα Show και Clear αντίστοιχα και Caption Μήνυμα και Διαγραφή αντίστοιχα. Όταν πατάμε το πλήκτρο Μήνυμα να εμφανίζεται στην ετικέτα το μήνυμα «ΤΕΙ ΛΑΡΙΣΑΣ» και όταν πατάμε το πλήκτρο Διαγραφή το μήνυμα να διαγράφεται. Β) Για την ίδια φόρμα, να τροποποιηθούν οι εντολές για τη φόρμα, την ετικέτα και τα πλήκτρα διαταγής έτσι ώστε: Όταν φορτώνεται η φόρμα, ο τίτλος της (Caption) να είναι κενός. Η ετικέτα να εμφανίζεται αρχικά κενή και όταν κάνουμε κλικ πάνω της να εμφανίζεται το μήνυμα «ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ». Όταν πατάμε το πλήκτρο διαταγής Μήνυμα να εισάγεται το μήνυμα «Σ.Τ.ΕΦ.» στον τίτλο της φόρμας και το μήνυμα «ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ» στην ετικέτα. Όταν πατάμε το πλήκτρο διαταγής Διαγραφή να διαγράφεται τόσο το μήνυμα στην ετικέτα όσο και στον τίτλο της φόρμας. Υπόδειξη: Για την απόδοση τιμής στη φόρμα, αντί για το όνομά της να χρησιμοποιηθεί η λέξη Me. Π.χ. Me.Caption = Σ.Τ.ΕΦ. Γ) Να κάνετε τις κατάλληλες αλλαγές ώστε αντί για ετικέτα να χρησιμοποιείται πλαίσιο κειμένου. Υπόδειξη: Η ιδιότητα που αλλάζει το περιεχόμενο του πλαισίου κειμένου είναι η Text. Ενδεικτικά αποτελέσματα της Άσκησης Α) Λειτουργία με το πάτημα των πλήκτρων Μήνυμα και Διαγραφή. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 38

39 Β) Λειτουργία του προγράμματος όταν κάνουμε κλικ πάνω στην ετικέτα (1 η εικόνα από αριστερά). Έπειτα, πατάμε τα πλήκτρα Μήνυμα και Διαγραφή. Γ) Λειτουργία όταν κάνουμε κλικ πάνω στο πλαίσιο κειμένου (1 η εικόνα από αριστερά). Έπειτα, πατάμε τα πλήκτρα Μήνυμα και Διαγραφή. Εργασία για παράδοση (Εργαστηριακή Άσκηση 3) Να παραδώσετε την συγκεκριμένη εργασία μέχρι την έναρξη εκτέλεσης της επόμενης εργαστηριακής άσκησης στην Εργαστηριακή Ομάδα που ανήκετε: 1. Ποια η λειτουργία των συμβάντων : Change, Click, Load και MouseMove ; Ποια η λειτουργία της κωδικής λέξης Me ; 2. Πως συντάσσεται η εκχώρηση τιμής σε ιδιότητα, ποιο σύμβολο εκφράζει την εκχώρηση στη Visual Basic και ποια η αλληλουχία ενεργειών της εντολής εκχώρησης (σε αντιστοιχία με την εντολή εκχώρησης τιμής σε σταθερά ή μεταβλητή) ; Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 39

40 Συμβάντα, μέθοδοι, εκτελέσιμα αρχεία. ΠΕΡΙΛΗΨΗ ΘΕΩΡΙΑΣ 1. Μέθοδοι (methods). Οι μέθοδοι είναι προκαθορισμένες διαδικασίες που έχουν κωδικοποιηθεί και αντιστοιχούν σε έτοιμες υπορουτίνες, οι οποίες μπορούν να κληθούν κατά την εκτέλεση του προγράμματος και να επιδράσουν πάνω σε ένα αντικείμενο. Με άλλα λόγια, οι ιδιότητες (properties) είναι τα χαρακτηριστικά των αντικειμένων και οι μέθοδοι είναι προκαθορισμένες διαδικασίες που συντροφεύουν τα αντικείμενα και όταν ζητηθεί, επιδρούν στα αντικείμενα. Τα συμβάντα (events) είναι τα γεγονότα εξαιτίας των οποίων αλλάζουν τα χαρακτηριστικά των αντικειμένων, ενεργοποιούνται οι μέθοδοι και εκτελούνται κάποιες πρόσθετες διαδικασίες (τμήματα κώδικα). Οι μέθοδοι όπως και τα συμβάντα και οι ιδιότητες είναι διαφορετικές για κάθε αντικείμενο. 2. Κλήση μιας μεθόδου. Η κλήση μιας μεθόδου πρέπει να περιλαμβάνει σαφή προσδιορισμό του αντικειμένου πάνω στο οποίο θα δράσει. Η γενική σύνταξη εφαρμογής μεθόδου σε αντικείμενο έχει την ακόλουθη μορφή: όπου: αντικείμενο.μέθοδος παράμετρος 1, παράμετρος 2, Αντικείμενο είναι το όνομα (ιδιότητα Name) που έχουμε δώσει στο αντικείμενο Μέθοδος είναι το όνομα της μεθόδου που θέλουμε να ενεργοποιήσουμε Παράμετρος 1, 2,... είναι μια σειρά από παραμέτρους που το πλήθος τους εξαρτάται από τη συγκεκριμένη μέθοδο 3. Πιο συνηθισμένες μέθοδοι της VB. SetFocus : Αποδίδει την εστίαση σε ένα αντικείμενο. Show : Παρουσιάζει (εμφανίζει) μια φόρμα και ότι είναι γραμμένο πάνω της στην οθόνη του Η/Υ. Print : Η γενική της σύνταξη είναι: Print λίστα_ορισμάτων. Η μέθοδος Print τυπώνει τις τιμές της λίστας ορισμάτων στην επιφάνεια του αντικειμένου. Εφαρμόζεται σε φόρμες, στο παράθυρο Debug και στο ειδικό αντικείμενο Printer. Cls : Καθαρίζει την επιφάνεια του αντικειμένου από ότι έχει τυπωθεί πριν την εφαρμογή της μεθόδου (π.χ. με τη μέθοδο Print). Move : Η γενική της σύνταξη είναι: Move Left, Top, Width, Height. Η μέθοδος Move μετακινεί ένα αντικείμενο σε μια νέα θέση, ώστε η πάνω αριστερή κορυφή (άκρο) να έχει συντεταγμένες (Left,Top), δηλαδή απόσταση από την αριστερή πλευρά της οθόνης ή του παραθύρου μιας φόρμας ίση με Left και απόσταση από την πάνω πλευρά ίση με Top. Οι παράμετροι Width και Height είναι προαιρετικές και προσδιορίζουν τις διαστάσεις (πλάτος και ύψος) του αντικειμένου. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 40

41 4. Παράθυρο επισκόπησης αντικειμένων (object browser). Για να δούμε μια λίστα με όλες τις μεθόδους, τις ιδιότητες και τα συμβάντα που αφορούν ένα συγκεκριμένο είδος αντικειμένου μεθόδων ακολουθούμε την εξής διαδικασία: 1. Πηγαίνουμε Μενού View Object Browser για να εμφανιστεί το παράθυρο επισκόπησης αντικειμένων. 2. Επιλέγουμε τη βιβλιοθήκη αντικειμένων π.χ. VB για να δούμε όλα τα αντικείμενα που μπορεί να δώσει η Visual Basic. 3. Επιλέγουμε αντικείμενο π.χ. Form. 4. Στη δεξιά στήλη φαίνονται αλφαβητικά οι ιδιότητες, οι μέθοδοι και τα συμβάντα του αντικειμένου. Ιδιότητα Μέθοδος Συμβάν 5. Αναγνωσιμότητα προγράμματος-σχόλια. Σημαντικό ρόλο στην αναγνωσιμότητα ενός προγράμματος παίζει η τεκμηρίωσή στο εσωτερικό του με κατάλληλα σχόλια. Ο χαρακτήρας δηλώνει ότι ακολουθούν σχόλια τα οποία το Περιβάλλον Εργασίας της VB τα χρωματίζει πράσινα. 6. Συνέχεια εντολής σε περισσότερες από μία γραμμές. Στη Visual Basic υπάρχει η δυνατότητα για μια εντολή να καταλαμβάνει περισσότερες από μία γραμμές. Η δήλωση της συνέχειας μιας εντολής στην επόμενη γραμμή, γίνεται με την τοποθέτηση στο τέλος της τρέχουσας γραμμής ενός κενού και του χαρακτήρα συνέχειας γραμμής (line-continuation character) που είναι η κάτω παύλα (underscore) ( _ ). 7. Συνδυασμός εντολών σε μία γραμμή. Σε μία γραμμή μπορούν να υπάρχουν περισσότερες από μία εντολές. Σε τέτοιες περιπτώσεις, πρέπει να υπάρχει υποχρεωτικά μεταξύ των εντολών το σύμβολο διαχωρισμού (statement separator) που είναι η άνω-κάτω τελεία ( : ). 8. Δημιουργία εκτελέσιμων αρχείων. Για να εκτελούμε το πρόγραμμα από το Περιβάλλον των Windows σαν εκτελέσιμο αρχείο χωρίς να της κλήση του Περιβάλλοντος Εργασίας της VB, πριν από κάθε εκτέλεσή του, πρέπει να μετατρέψουμε και αποθηκεύσουμε το έργο σε αρχείο μορφής.εχε. Πρώτα όμως αποθηκεύουμε το έργο και έπειτα επιλέγουμε από το Μενού File Make Όνομα_Έργου.exe. Έπειτα, δίνουμε το όνομα του αρχείου στο οποίο θέλουμε να αποθηκευτεί ο εκτελέσιμος κώδικας στο παράθυρο που θα εμφανιστεί. Αυτόματα, το Περιβάλλον Εργασίας μεταφράζει τις φόρμες, τις διαδικασίες και τα άλλα στοιχεία σε εκτελέσιμο αρχείο. Να σημειωθεί όμως ότι το πρόγραμμα.εχε που δημιουργείται δε μπορεί να εκτελεστεί όπως είναι σε έναν υπολογιστή που δεν έχει εγκατεστημένο το Περιβάλλον Εργασίας της Visual Basic. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 41

42 ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Άσκηση 1.8. Πλαίσιο εικόνας, έτοιμα αρχεία εικόνας, ιδιότητες Visible, BackColor. Να γραφεί πρόγραμμα στο οποίο μια φόρμα να αναπαριστά το χώρο ενός δωματίου μέσα στον οποίo υπάρχει μια λάμπα που την ανάβει και τη σβήνει ένας διακόπτης. Αρχικά η λάμπα είναι αναμμένη, το δωμάτιο φωτίζεται και ο διακόπτης γράφει πάνω του Off. Όταν πατηθεί ο διακόπτης, σβήνει η λάμπα, το δωμάτιο σκοτεινιάζει και ο διακόπτης γράφει πάνω του Off. Να χρησιμοποιηθεί ένα αντικείμενο ελέγχου πλαίσιο εικόνας με όνομα Lamp και για τον διακόπτη να χρησιμοποιηθούν δύο πλήκτρα διαταγής το ένα τοποθετημένο πάνω στο άλλο με ονόματα OnButton και OffButton. Σημείωση: Το λευκό χρώμα δίνεται από την κωδική λέξη vbwhite ή το συνδυασμό χαρακτήρων &HFFFFFF και το μαύρο χρώμα από την κωδική λέξη vbblack ή το 0. Εκτέλεση της Άσκησης Εκτελούμε τις ακόλουθες ενέργειες: Ενέργειες-Βήματα 1. Τοποθετούμε πάνω σε μια φόρμα με Caption Δωμάτιο, δύο πλήκτρα διαταγής με όνομα OnButton και OffButton και Caption On και Off αντίστοιχα. 2. Τακτοποιούμε τα πλήκτρα και τα μορφοποιούμε ώστε να έχουν ίσο μέγεθος (Μενού Format Make Same Size Both). 3. Τοποθετούμε το πλήκτρο Off πάνω στο πλήκτρο On ώστε κατά την εκτέλεση του προγράμματος να φαίνεται μόνο το ένα από τα δύο πλήκτρα. 4. Τοποθετούμε ένα πλαίσιο εικόνας (Picture box) πάνω στη φόρμα και του δίνουμε όνομα Lamp. 5. Αλλάζουμε το χρώμα της φόρμας και του πλαισίου εικόνας σε λευκό επιλέγοντας από την καρτέλα Palette της ιδιότητας BackColor το πάνω αριστερά λευκό με κωδικό &H00FFFFFF&. Αποτέλεσμα Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 42

43 6. Μεταβαίνουμε στην ιδιότητα Picture του πλαισίου εικόνας. Πατάμε το κουμπί και από το παράθυρο που ανοίγει μεταβαίνουμε στο φάκελο : C:\Program Files\Microsoft Visual Studio\ Common\Graphics\Icons\Misc (Αν δεν υπάρχει ο φάκελος αυτός, θα πρέπει να εγκατασταθούν τα Graphics από το λογισμικό εγκατάστασης της Visual Basic). 7. Επιλέγουμε την εικόνα (icon) LIGHTON.ICO και κάνουμε διπλό κλικ πάνω της ή πατάμε το κουμπί Άνοιγμα. 8. Αλλάζουμε τις διαστάσεις του πλαισίου εικόνας ώστε να εφάπτεται στην εικόνα της αναμμένης λάμπας. 9. Πληκτρολογούμε τον κώδικα για τα πλήκτρα OnButton και OffButton (χωρίς τα σχόλια). Private Sub OnButton_Click() OnButton.Visible = False Κρύψε το πλήκτρο On OffButton.Visible = True Εμφάνισε το πλήκτρο Off Lamp.Visible = True Φώτισε το δωμάτιο Εμφάνισε τη λάμπα Me.BackColor = vbwhite ή &HFFFFFF End Sub Private Sub OffButton_Click() OffButton.Visible = False OnButton.Visible = True Lamp.Visible = False Σκοτείνιασε το δωμάτιο Me.BackColor = 0 Κρύψε το πλήκτρο Off Εμφάνισε το πλήκτρο On Κρύψε τη λάμπα ή vbblack End Sub 10. Εκτελούμε το πρόγραμμα και πατάμε τα πλήκτρα On και Off. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 43

44 Άσκηση 1.9. Αντικείμενα εικόνας και Screen, εκτελέσιμα αρχεία.exe, ιδιότητες Stretch, Height,Width, μέθοδος Move. Για την προηγούμενη εφαρμογή: Α) Αντί για το πλαίσιο εικόνας να χρησιμοποιηθεί μια εικόνα (Image) με το ίδιο όνομα (Lamp) και να γίνει True η τιμή της ιδιότητας Stretch. B) Να εισαχθούν οι κατάλληλες εντολές στο πρόγραμμα ώστε το παράθυρο της φόρμας που εμφανίζεται μετά την εκτέλεση του προγράμματος να είναι τοποθετημένο στο κέντρο της οθόνης. Γ) Να δημιουργηθεί ένα εκτελέσιμο αρχείο.εχε για την εφαρμογή και να εκτελεστεί στο Περιβάλλον των Windows. Δ) Να τοποθετηθεί ακόμη ένα πλήκτρο διαταγής με Caption End για τον τερματισμό του προγράμματος. Να δημιουργηθεί ένα νέο εκτελέσιμο αρχείο.εχε και να εκτελεστεί στο Περιβάλλον των Windows. Ε) Να δοθούν οι κατάλληλες εντολές ώστε το παράθυρο φόρμας να εμφανίζεται κατά την εκτέλεση του προγράμματος στο πάνω αριστερό άκρο της οθόνης. Επίσης, με κλικ πάνω στην λάμπα, να τοποθετείται το πάνω αριστερό άκρο του παραθύρου της φόρμας και να έχει διαστάσεις 1440 x 1440 twips (1 ίντσα x 1 ίντσα). Εκτέλεση της Άσκησης Α) Εκτελούμε τις ακόλουθες ενέργειες: Ενέργειες-Βήματα 11. Τοποθετούμε πάνω στη μια φόρμα με Caption Δωμάτιο ένα αντικείμενο εικόνας (Image) και της δίνουμε το όνομα Lamp. 12. Από την ιδιότητα Picture επιλέγουμε για εικόνα την LIGHTON.ICO όπως και πριν. 13. Αλλάζουμε την ιδιότητα Stretch σε True και αλλάζουμε τις διαστάσεις της εικόνας. Παρατηρούμε ότι η ιδιότητα Stretch επιτρέπει τη μεγέθυνση ή σμίκρυνση της εικόνας που περιέχεται μέσα σε ένα αντικείμενο εικόνας ταυτόχρονα με τη μεγέθυνση ή σμίκρυνση του αντικειμένου (σε αντίθεση με το πλαίσιο εικόνας όπου δεν υπάρχει η ιδιότητα Stretch). Αποτέλεσμα Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 44

45 14. Εκτελούμε το πρόγραμμα και δοκιμάζουμε τα πλήκτρα On και Off. Β) Εκτός από τα αντικείμενα ελέγχου που έχουμε δει έως τώρα, υπάρχουν και ειδικά αντικείμενα με ιδιότητες όπως είναι το αντικείμενο Screen που είναι η ίδια η οθόνη. Στο συμβάν Load που προκύπτει όταν φορτώνεται η φόρμα, θα πρέπει η πάνω και η αριστερή πλευρά του παραθύρου της φόρμας να τοποθετηθούν κατάλληλα με βάση τις ιδιότητες Top και Left. Από απλή Γεωμετρία και με βάση το παρακάτω Σχήμα, προκύπτει ότι οι εντολές που πρέπει να εισάγουμε στη ρουτίνα διαχείρισης συμβάντων της φόρμας είναι: Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height ) / 2 Πληκτρολογούμε τις παρακάτω εντολές για τη φόρμα ενώ για τα υπόλοιπα αντικείμενα οι εντολές παραμένουν οι ίδιες: Private Sub Form_Load() Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End Sub Εκτελούμε το πρόγραμμα και επαληθεύουμε ότι το παράθυρο φόρμας εμφανίζεται στο κέντρο της οθόνης. Γ) Για να δημιουργήσουμε εκτελέσιμο αρχείο για την εφαρμογή, κάνουμε τα εξής: Πηγαίνουμε: Μενού File Make Project1.exe Δίνουμε ένα όνομα στο αρχείο π.χ. LampOn-Off και το αποθηκεύουμε σε μια θέση του υπολογιστή π.χ. στην Επιφάνεια Εργασίας. Με διπλό κλικ πάνω στο εκτελέσιμο αρχείο που αποθηκεύσαμε, τρέχει η εφαρμογή στο Περιβάλλον των Windows. Για να τερματιστεί όμως η εφαρμογή, ο μόνος τρόπος είναι με Ctrl-Alt-Delete και τερματισμός της εργασίας. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 45

46 Δ) Για να έχουμε τη δυνατότητα να τερματίζουμε το πρόγραμμα, θα δημιουργήσουμε ένα πλήκτρο διαταγής και θα κάνουμε χρήση της εντολής End. Εκτελούμε τις ακόλουθες ενέργειες: Ενέργειες-Βήματα 15. Εισάγουμε ένα πλήκτρο διαταγής με όνομα και Caption End και πληκτρολογούμε την εντολή End στην υπορουτίνα διαχείρισης συμβάντων για αυτό το πλήκτρο: Αποτέλεσμα Private Sub End_Click() End End Sub 16. Εκτελούμε το πρόγραμμα μέσα από το Περιβάλλον Εργασίας της Visual Basic και δοκιμάζουμε τα πλήκτρα On, Off και End. 17. Δημιουργούμε εκτελέσιμο αρχείο όπως και πριν και το εκτελούμε από το Περιβάλλον Εργασίας. 18. Επαληθεύουμε τη δυνατότητα τερματισμού της εφαρμογής από το πλήκτρο End. Ε) Για την τοποθέτηση του παραθύρου φόρμας στο πάνω αριστερό άκρο της οθόνης, θα χρησιμοποιηθεί η μέθοδος Move. Η μέθοδος Move μπορεί να δεχτεί μέχρι τέσσερις παραμέτρους (Left, Top, Width, Height). Οι παράμετροι καθορίζουν τα εξής: Left: Απόσταση από την αριστερή πλευρά της οθόνης ή του παραθύρου φόρμας (σε twips) Top: Απόσταση από την πάνω πλευρά της οθόνης ή του παραθύρου φόρμας (σε twips) Width: Πλάτος του αντικειμένου ή της φόρμας (σε twips) Height: Ύψος του αντικειμένου ή της φόρμας (σε twips) Εκτελούμε τις ακόλουθες ενέργειες: Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 46

47 Ενέργειες-Βήματα 19. Πληκτρολογούμε τις ακόλουθες εντολές για τη φόρμα και το αντικείμενο Lamp: Αποτέλεσμα Private Sub Form_Load() Me.Move 0, 0 End Sub Private Sub Lamp_Click() Lamp.Move 0, 0, 1440, 1440 End Sub 20. Όταν εκτελέσουμε το πρόγραμμα και κάνουμε κλικ πάνω στη λάμπα, θα δούμε το αποτέλεσμα που φαίνεται στη διπλανή εικόνα: 21. Κάνοντας κλικ πάνω στην λάμπα, θα δούμε τη μετακίνησή της στο πάνω αριστερό άκρος του παραθύρου φόρμας και οι διαστάσεις του αντικειμένου εικόνας της λάμπας θα είναι 1440 x 1440 twips (1 ίντσα x 1 ίντσα). Άσκηση Έτοιμα εικονίδια (icons), ιδιότητες Stretch και Visible. Να δημιουργηθεί εφαρμογή όπου σε μία φόρμα να τοποθετηθούν τέσσερα πλήκτρα διαταγής. Πατώντας το κάθε πλήκτρο να εμφανίζεται ένα μόνο από τα παρακάτω πρόσωπα: Να δοθούν ως βασικές ιδιότητες κάθε αντικειμένου αυτές που περιγράφονται στον παρακάτω Πίνακα. Για τη σωστή υλοποίηση της εφαρμογής, να γίνουν οι κατάλληλες αλλαγές και σε άλλες ιδιότητες των αντικειμένων. Πλήκτρα διαταγής Εικόνες Caption Name Name Picture Normal Face1 Image1 Smile Face2 Image2 Laugh Face3 Image3 Sad Face4 Image4 Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 47

48 Ενδεικτικά αποτελέσματα της Άσκησης Εκτελώντας το πρόγραμμα και πατώντας τα πλήκτρα διαταγής, πρέπει να δούμε τα παρακάτω αποτελέσματα: Πρόγραμμα Εργασία για παράδοση (Εργαστηριακή Άσκηση 4) Να παραδώσετε την συγκεκριμένη εργασία μέχρι την έναρξη εκτέλεσης της επόμενης εργαστηριακής άσκησης στην Εργαστηριακή Ομάδα που ανήκετε: 1. Σε τι διαφέρουν οι μέθοδοι από τα συμβάντα και τις ιδιότητες ; Ποιος είναι ο χαρακτήρας συνέχειας γραμμής, ποιος ο χαρακτήρας διαχωρισμού εντολών και για ποιο σκοπό χρησιμοποιούνται ; 2. Ποια η λειτουργία και ποια η γενική σύνταξη της μεθόδου Move ; 3. Τι είναι τα εκτελέσιμα αρχεία και υπό ποιες προϋποθέσεις μπορούν να εκτελεστούν από το Περιβάλλον των Windows ; 4. Να γραφεί υπορουτίνα διαχείρισης συμβάντος Load ώστε με τη φόρτωση μιας φόρμας, να τοποθετείται αυτή στο 1/4 της οθόνης. 5. Να γραφεί υπορουτίνα διαχείρισης συμβάντος Load ώστε με τη φόρτωση μιας φόρμας, να καταλαμβάνει αυτή όλη την οθόνη από το ένα άκρο της στο άλλο. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 48

49 Συνδυασμός συμβάντων και μεθόδων Ιδιότητες του ειδικού αντικειμένου Screen Άσκηση Συμβάν MouseMove και Μέθοδος SetFocus. Να δημιουργηθεί μια εφαρμογή με μία φόρμα και τρεις ετικέτες (Labels) με Caption Voltage :, Current :, Resistance : και ονόματα (Names) LbV, LbC και LbR αντίστοιχα. Δίπλα στις ετικέτες να τοποθετηθούν τρία πλαίσια κειμένου (Text boxes) με ονόματα TxtV, TxtC και TxtR χωρίς κείμενο. Να γραφούν οι κατάλληλες ρουτίνες ώστε όταν το ποντίκι περνά πάνω από τις ετικέτες, να δίδεται εστίαση στο αντίστοιχο πλαίσιο κειμένου. Ετικέτες Πλαίσια κειμένου (ιδιότητα Text κενή) Caption Name Name Voltage : LbV TxtV Current : LbC TxtC Resistance : LbR TxtR Εκτέλεση της Άσκησης Εκτελούμε τις ακόλουθες ενέργειες: Ενέργειες-Βήματα 22. Τοποθετούμε τις ετικέτες και τα πλαίσια κειμένου πάνω σε μία φόρμα και αλλάζουμε τις ιδιότητές τους (Name και Caption) σύμφωνα με τα δεδομένα της άσκησης. 23. Πληκτρολογούμε τις παρακάτω εντολές για τις ετικέτες με ονόματα LbV, LbC και LbR κάνοντας χρήση του χαρακτήρα συνέχειας γραμμής ( _ ). Επίσης, τη γενική σύνταξη του συμβάντος MouseMove μπορούμε να τη δούμε από το παράθυρο επισκόπησης αντικειμένων (διπλανή εικόνα). Private Sub LbV_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) TxtV.SetFocus End Sub Private Sub LbC_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) TxtC.SetFocus End Sub Private Sub LbR_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) TxtR.SetFocus End Sub Αποτέλεσμα Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 49

50 24. Όταν εκτελέσουμε το πρόγραμμα και μετακινήσουμε το δρομέα πάνω από κάθε ετικέτα, ο δρομέας εισαγωγής χαρακτήρα θα αναβοσβήνει στο διπλανό πλαίσιο κειμένου από την αντίστοιχη ετικέτα. Άσκηση Μέθοδοι Cls και Print. Να δημιουργηθεί εφαρμογή με μία φόρμα πάνω στην οποία να τοποθετηθούν τρία πλήκτρα διαταγής με ονόματα CompProgram, VB και Clear. Όταν πατάμε το πλήκτρο CompProgram να γράφεται ένα μήνυμα στην επιφάνεια της φόρμας Computer Programming, όταν πατάμε το πλήκτρο VB να γράφεται το μήνυμα Visual Basic και όταν πατάμε το πλήκτρο Clear να καθαρίζει από τα μηνύματα η επιφάνεια της οθόνης. Εκτέλεση της Άσκησης Εκτελούμε τις ακόλουθες ενέργειες: Ενέργειες-Βήματα 25. Τοποθετούμε τα πλήκτρα διαταγής πάνω σε μία φόρμα και αλλάζουμε τις ιδιότητές τους (Name και Caption) σύμφωνα με τα δεδομένα της άσκησης. 26. Πληκτρολογούμε τις παρακάτω εντολές για κάθε πλήκτρο διαταγής: Αποτέλεσμα Private Sub Clear_Click() Me.Cls End Sub Private Sub CompProgram_Click() Me.Print "Computer Programming" End Sub Private Sub VB_Click() Me.Print "Visual Basic" End Sub 27. Εκτελούμε το πρόγραμμα και πατάμε διαδοχικά τα πλήκτρα Computer Programming και Visual Basic. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 50

51 28. Τέλος, πατάμε το πλήκτρο Clear για να εκκαθαριστεί η επιφάνεια της φόρμας από τα μηνύματα. Άσκηση Αντικείμενο Screen και ιδιότητες Height, Width, TwipsPerPixelX, TwipsPerPixelY. Να γραφεί πρόγραμμα που να υπολογίζει τις διαστάσεις της οθόνης του υπολογιστή και συγκεκριμένα το Πλάτος και το Ύψος σε twips και pixels χρησιμοποιώντας μία φόρμα με ένα πλήκτρο διαταγής. Υπόδειξη: Να χρησιμοποιηθούν οι παρακάτω ιδιότητες της οθόνης Screen: Screen.Width : Πλάτος της οθόνης σε twips. Screen.TwipsPerPixelX : Αριθμός twips ανά pixel για το Πλάτος της οθόνης. Screen.Height : Ύψος της οθόνης σε twips. Screen.TwipsPerPixelY : Αριθμός twips ανά pixel για το Ύψος της οθόνης. Ενδεικτικά αποτελέσματα της Άσκησης Εκτελούμε το πρόγραμμα και όταν πατήσουμε το πλήκτρο διαταγής, θα δούμε αποτελέσματα όπως αυτά που φαίνονται παρακάτω για μία οθόνη με ανάλυση 1440 x 900 pixels. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 51

52 Πρόγραμμα Εργασία για παράδοση (Εργαστηριακή Άσκηση 5) Να παραδώσετε την συγκεκριμένη εργασία μέχρι την έναρξη εκτέλεσης της επόμενης εργαστηριακής άσκησης στην Εργαστηριακή Ομάδα που ανήκετε: 1. Ποια η λειτουργία των μεθόδων SetFocus, Show, Print και Cls; Ποια η γενική σύνταξη της μεθόδου Print; 2. Τι είναι το αντικείμενο Screen ; 3. Τι εκφράζουν οι ιδιότητες Width και Height και τι τιμές παίρνουν (αλφαριθμητικές, αριθμητικές, λογικές, άλλες); 4. Να γραφεί υπορουτίνα διαχείρισης συμβάντων τύπου Load ώστε όταν φορτώνεται η φόρμα : Να εμφανίζεται η φόρμα και ότι είναι γραμμένο πάνω της Να τυπώνεται σε μία γραμμή πάνω στη φόρμα το μήνυμα Διαστάσεις φόρμας. Να τυπώνεται σε άλλη γραμμή πάνω στη φόρμα το Πλάτος της φόρμας σε twips και δίπλα το Ύψος της φόρμας σε twips. 5. Να γραφεί υπορουτίνα διαχείρισης συμβάντων τύπου Click ώστε με το πάτημα ενός πλήκτρου να τυπώνεται πάνω στη φόρμα το Πλάτος και το Ύψος της οθόνης σε εκατοστά (cm). Δίνεται ότι 1 ίντσα = 2,54 cm και 1 ίντσα = 1440 twips. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 52

53 Αλφαριθμητικές συναρτήσεις και συναρτήσεις μετατροπής τύπου δεδομένων ΠΕΡΙΛΗΨΗ ΘΕΩΡΙΑΣ 1. Ενσωματωμένες συναρτήσεις (ή συναρτήσεις βιβλιοθήκης). Είναι συναρτήσεις που περιέχονται στις βιβλιοθήκες της VB και για τις οποίες μπορεί να υπολογίζει το αποτέλεσμα για μία ή περισσότερες παραμέτρους. Αντίθετα, οι οριζόμενες (από το χρήστη) συναρτήσεις (ή υπορουτίνες), είναι συναρτήσεις που ορίζει ο χρήστης γράφοντας κώδικα και μπορεί να τις χρησιμοποιεί (καλεί) μέσα σε κάποιο πρόγραμμα. 2. Αλφαριθμητικές συναρτήσεις. Πρόκειται για συναρτήσεις που είτε η τιμή (αποτέλεσμα) τους είναι αλφαριθμητική είτε περιλαμβάνουν στις παραμέτρους τους μία τουλάχιστον αλφαριθμητική ποσότητα. Χρησιμεύουν στη διαμόρφωση και τη δημιουργία νέων αλφαριθμητικών ποσοτήτων από τον κατακερματισμό άλλων, στη διαχείριση λέξεων, προτάσεων και κειμένων, καθώς και στη μετατροπή και τη διαχείριση κωδικών. Οι πιο βασικές αλφαριθμητικές συναρτήσεις της VB παρουσιάζονται στον ακόλουθο Πίνακα όπου οι παράμετροι a και b δηλώνουν αλφαριθμητικές ποσότητες και οι παράμετροι x και y δηλώνουν αριθμητικές ποσότητες: Συνάρτηση Len(a) Left(a,x) Right(a,x) Instr(x,a,b) Trim(a) LTrim(a) Rtrim(a) Mid(a,x,y) String(x,a) Space(x) Λειτουργία Το πλήθος των χαρακτήρων του a (μέγεθος συμβολοσειράς) Οι x πρώτοι χαρακτήρες της συμβολοσειράς a Οι x τελευταίοι χαρακτήρες της συμβολοσειράς a Η θέση της συμβολοσειράς b μέσα στη της συμβολοσειρά a αρχίζοντας από τη θέση x Αφαιρεί τα διαστήματα της συμβολοσειράς a από την αρχή και το τέλος Αφαιρεί τα διαστήματα από την αρχή της συμβολοσειράς a Αφαιρεί τα διαστήματα από το τέλος της συμβολοσειράς a Οι y χαρακτήρες της συμβολοσειράς a αρχίζοντας από τον x-οστό Μια συμβολοσειρά από x όμοιους χαρακτήρες a Μια συμβολοσειρά που αποτελείται από x διαστήματα 3. Συναρτήσεις μετατροπής τύπων δεδομένων. Πρόκειται για συναρτήσεις που είναι είτε αριθμητικές είτε αλφαριθμητικές και πραγματοποιούν μετατροπές από έναν τύπο σε άλλο και οι βασικότερες για τη VB δίνονται στον παρακάτω Πίνακα. Η παράμετρος v (variant) μπορεί να είναι αριθμητικού ή αλφαριθμητικού τύπου και η παράμετρος x αριθμητικού. Συνάρτηση Τύπος Περιοχή τιμών / Λειτουργία CBool(v) Boolean Αριθμητική ή αποδεκτή αλφαριθμητική τιμή (π.χ. True ) CByte(v) Byte 0 έως 255 CCur(v) Currency Τύπος νομίσματος CDbl(v) Double Τύπος διπλής ακρίβειας CInt(v) Integer έως CLng(v) Long έως CSng(v) Single Τύπος απλής ακρίβειας CStr(v) String Οποιαδήποτε αριθμητική ή αλφαριθμητική τιμή CVar(v) Variant Περιοχή διπλής ακρίβειας για αριθμητικές τιμές, Τύπος String για μη αριθμητικές IsNumeric(v) Boolean Ελέγχει αν η παράμετρος είναι αριθμός Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 53

54 4. Συναρτήσεις ημερομηνίας και ώρας. Οι συγκεκριμένες συναρτήσεις είναι πολύ σημαντικές καθώς μας απαλλάσσουν από πολλούς και συχνά πολύπλοκους υπολογισμούς. Οι συναρτήσεις ημερομηνίας και ώρας της VB περιλαμβάνονται στον παρακάτω Πίνακα. Συνάρτηση Τιμή / Λειτουργία Date ή Date() Δίνει την τρέχουσα ημερομηνία του συστήματος του Η/Υ DateSerial(y,m,d) Δίνει την ημερομηνία με βάση το έτος, το μήνα και την ημέρα DateValue(v) Μετατρέπει μια συμβολοσειρά v σε ημερομηνία Day(d) Δίνει την ημέρα που αντιστοιχεί στην ημερομηνία d Hour(t) Δίνει την ώρα που αντιστοιχεί στη χρονική στιγμή t IsDate(v) Ελέγχει αν η παράμετρος v αποτελεί ημερομηνία Minute(t) Δίνει τα λεπτά της χρονικής στιγμής t Month(d) Δίνει τον μήνα της ημερομηνίας d Now ή Now() Δίνει την τρέχουσα ημερομηνία και ώρα του συστήματος του Η/Υ Second(t) Δίνει τα δευτερόλεπτα της χρονικής στιγμής t Time ή Time() Δίνει την τρέχουσα ώρα του συστήματος του Η/Υ Timer Δίνει τα δευτερόλεπτα που πέρασαν από τα μεσάνυχτα TimeSerial(h,m,s) Δίνει την ώρα με βάση τις ώρες, τα λεπτά και τα δευτερόλεπτα TimeValue(v) Μετατρέπει μια συμβολοσειρά σε ώρα Year(d) Δίνει το έτος της ημερομηνίας d WeekDay(d) Δίνει την ημέρα της εβδομάδας που αντιστοιχεί στην ημερομηνία d Συνάρτηση IsDate. Οι παράμετροι των συναρτήσεων ημερομηνίας μπορεί να είναι αριθμητικές ποσότητες π.χ ,45 ή αλφαριθμητικές ποσότητες που παριστάνουν ημερομηνίες. Αν η τιμή μιας παραμέτρου δεν αντιστοιχεί σε ημερομηνία, διακόπτεται η εκτέλεση του προγράμματος και εμφανίζεται μήνυμα λάθους. Για να αποφύγουμε αυτό το λάθος, επιβάλλεται να ελέγχουμε πρώτα το περιεχόμενο της παραμέτρου. Αυτό γίνεται με τη συνάρτηση IsDate (αντίστοιχη με τη συνάρτηση IsNumeric) που παίρνει τιμή True αν η τιμή της παραμέτρου αντιστοιχεί σε ημερομηνία, και την τιμή False αν η τιμή δεν αντιστοιχεί σε ημερομηνία. Συνάρτηση WeekDay. Δίνει έναν αριθμό με την ημέρα της εβδομάδας μιας ημερομηνίας, π.χ. 1 για την Κυριακή, 2 για τη Δευτέρα κ.ο.κ. Στη Visual Basic υπάρχουν και οι εξής εσωτερικές σταθερές: vbsunday 1 vbmonday 2 vbtuesday 3 vbwednesday 4 vbthursday 5 vbfriday 6 vbsaturday 7 Συνάρτηση DateValue. Μετατρέπει μια συμβολοσειρά σε τύπο δεδομένων ημερομηνίας (Date). Υπενθυμίζουμε ότι μόνο με τον τύπο δεδομένων Date είναι δυνατή η πράξη μεταξύ ημερομηνιών. Ανάλογα γίνεται και με τη μετατροπή μιας συμβολοσειράς σε ώρα από την συνάρτηση TimeValue. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 54

55 ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Άσκηση Υπολογισμός τόκου και νέου κεφαλαίου. Ο υπολογισμός του τόκου και του νέου κεφαλαίου μετά την κατάθεση ενός ποσού σε μία τράπεζα υπολογίζεται με βάση τα ακόλουθα στοιχεία: o Το κεφάλαιο Κ που κατατέθηκε o Το ετήσιο επιτόκιο Ε σε % o Τη χρονική διάρκεια Χ της κατάθεσης σε ημέρες Θεωρώντας ότι το οικονομικό έτος έχει 365 μέρες, ο τόκος Τ και το Νέο Κεφάλαιο Ν_Κ υπολογίζονται με βάση τις ακόλουθες σχέσεις: K E X T, N_K K T Να γραφεί πρόγραμμα που δέχεται ως δεδομένα το Κεφάλαιο Κ, το Επιτόκιο Ε και τη Χρονική διάρκεια Χ της κατάθεσης και να εμφανίζει το Νέο Κεφάλαιο. Εκτέλεση της Άσκησης Σχεδιάζουμε μια φόρμα με 4 ετικέτες, 4 πλαίσια κειμένου και 1 πλήκτρο διαταγής με τις ακόλουθες ιδιότητες για τα πλαίσια κειμένου: Name Text Enabled TabIndex Capital 0 True 0 CompInterest 0 True 1 Duration 0 True 2 NewCapital 0 False 3 Calculate 0 True 4 Προσθέτουμε επίσης μία γραμμή για να διαχωρίσουμε τα δεδομένα από το αποτέλεσμα. Ο κώδικας που πρέπει να γράψουμε για το πλήκτρο διαταγής Evaluate έχει ως εξής: Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 55

56 Private Sub Calculate_Click() Dim Interest As Single Interest = Capital * CompInterest * Duration / NewCapital = Capital + Interest End Sub Εκτελούμε το πρόγραμμα και δίνουμε τιμές στα πλαίσια κειμένου Capital, CompInterest και Duration. Πατώντας το πλήκτρο διαταγής Calculate, υπολογίζεται και εμφανίζεται το Νέο Κεφάλαιο: Παρατηρήσεις: 1. Η αναφορά της ιδιότητας Text στον κώδικα του προγράμματος όταν αναφερόμαστε στο κείμενο των πλαισίων κειμένου είναι προαιρετική, δηλαδή οι εκφράσεις Capital.Text και Capital είναι ισοδύναμες. Προτιμάται ασφαλώς η δεύτερη αφού είναι πιο σύντομη. Γι αυτό το λόγο, από εδώ και πέρα δεν θα προσθέτουμε την ιδιότητα.text όταν αναφερόμαστε σε πλαίσιο κειμένου. 2. Για την ιδιότητα Text των πλαισίων κειμένου, καλό είναι να δίνεται πάντα αρχική τιμή. Στην περίπτωση που αντιπροσωπεύουν αριθμητικές ποσότητες, δίνεται συνήθως η τιμή 0 ενώ αν αντιπροσωπεύουν αλφαριθμητικές ποσότητες, δίνεται συνήθως ως τιμή το κενό διάστημα. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 56

57 Άσκηση Συναρτήσεις Mid και Len. Να δημιουργηθεί φόρμα με πλαίσια κειμένου ώστε με τον κατάλληλο κώδικα να χωρίζεται μια λέξη που εισάγει ο χρήστης μέσα σε ένα πλαίσιο κειμένου, σε τρία τμήματα ως εξής: Στο 1 ο τμήμα (ξεχωριστό πλαίσιο κειμένου) και στο 3 ο τμήμα (ξεχωριστό πλαίσιο κειμένου) να υπάρχουν το πρώτο και το τελευταίο γράμμα της λέξης και στο 2 ο (ενδιάμεσο πλαίσιο κειμένου) να υπάρχει το υπόλοιπο της λέξης. Η λέξη που δίνουμε να έχει τουλάχιστον 3 χαρακτήρες. Εκτέλεση της Άσκησης Εισάγουμε μία φόρμα όπως φαίνεται στην παρακάτω εικόνα και δίνουμε ονόματα στα πλαίσια κειμένου και τιμή στην ιδιότητα TabIndex σύμφωνα με τα στοιχεία του παρακάτω Πίνακα: Name Text TabIndex ToSplit 0 First 3 Last 4 Middle 2 Separate 1 Στη συνέχεια γράφουμε τον ακόλουθο κώδικα για το πλήκτρο διαταγής Split : Private Sub Separate_Click() Dim Distance As Integer First = Left(ToSplit, 1) Εκχώρηση 1 ου χαρακτήρα στη μεταβλητή (πλαίσιο κειμένου) First Distance = Len(ToSplit) - 2 Middle = Mid(ToSplit, 2, Distance) Εκχώρηση μεσαίων χαρακτήρων στη μεταβλητή (πλ. κειμένου) Middle Last = Right(ToSplit, 1) End Sub Εκχώρηση τελευταίου χαρακτήρα στη μεταβλητή (πλαίσιο κειμένου) Last Εκτελούμε το πρόγραμμα και πληκτρολογούμε στο πλαίσιο κειμένου ToSplit (πάνω πλαίσιο) μία λέξη. Πατάμε το πλήκτρο διαταγής Separate (Διάσπαση) και βλέπουμε το αποτέλεσμα: Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 57

58 Δεδομένα εισόδου Λέξη : Προγραμματισμός Αποτελέσματα Λέξη : Προγραμματισμός (με ένα κενό πριν) Λέξη : Προ Λέξη : Με Γράμμα : Π Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 58

59 Παρατηρήσεις: 1. Τη στιγμή που αρχίζουμε να πληκτρολογούμε τις παραμέτρους μιας ενσωματωμένης συνάρτησης π.χ. της Mid, εμφανίζεται μια ετικέτα με πληροφορίες για τον τρόπο σύνταξης της συγκεκριμένης ενσωματωμένης συνάρτησης της Visual Basic. 2. Αν στο προηγούμενο πρόγραμμα δώσουμε λιγότερους από 2 χαρακτήρες, η Visual Basic θα επιστρέψει ένα μήνυμα λάθους. Αυτό συμβαίνει διότι η μεταβλητή Distance θα έχει αρνητική τιμή αλλά η συνάρτηση Mid δεν δέχεται αρνητικές τιμές στις παραμέτρους της. Άσκηση Συναρτήσεις μετατροπής τύπου δεδομένων CDbl και IsNumeric Υπολογισμός ολικής αντίστασης για 2 αντιστάσεις συνδεδεμένες σε σειρά ή παράλληλα. Η παρακάτω φόρμα έχει δημιουργηθεί για τον υπολογισμό της ολικής αντίστασης Rtotal δύο αντιστάσεων R1 και R2 συνδεδεμένων σε σειρά. Περιλαμβάνει 3 πλαίσια κειμένου και γραμμές (Lines) με πάχος γραμμής (ιδιότητα BorderWidth) ίσο με 3. Name R1 R2 Rtotal Ο παρακάτω κώδικας φροντίζει ώστε να γίνονται τα ακόλουθα: Με τη φόρτωση της φόρμας, οι αρχικές τιμές των αντιστάσεων R1, R2 και Rtotal να γίνουν ίσες με 0. Τη στιγμή που πληκτρολογούμε μια τιμή για τις R1 και R2, η τιμή της Rtotal εμφανίζεται αυτόματα χωρίς το πάτημα κάποιου πλήκτρου με το συμβάν Change. Οι τιμές που πληκτρολογήθηκαν για τις R1 και R2 μετατρέπονται σε τύπο διπλής ακρίβειας (Double) μέσω της συνάρτησης CDbl(v). Υπενθυμίζεται ότι τα πλαίσια κειμένου, όπως δηλώνει το όνομά τους, διαχειρίζονται τις τιμές που εισάγει ο χρήστης σαν συμβολοσειρές. Το πρόγραμμα ελέγχει αν οι τιμές που πληκτρολογεί ο χρήστης είναι αριθμητικές (και όχι συμβολοσειρές) και μόνο τότε εμφανίζει το αποτέλεσμα για την Rtotal κάνοντας χρήση της συνάρτησης IsNumeric(v). Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 59

60 Private Sub Form_Load() R1 = 0 R2 = 0 Rtotal = 0 End Sub Private Sub R1_Change() ' Ταυτόχρονος υπολογισμός της Rtotal με την πληκτρολόγηση τιμών στις R1 και R2 ' IsNumeric: Συνάρτηση ελέγχου ότι η παράμετρος αποτελεί αριθμό ' CDbl: Συνάρτηση μετατροπής τύπου δεδομένων σε διπλής ακρίβειας (Double) If IsNumeric(R1) And IsNumeric(R2) Then Rtotal = CDbl(R1) + CDbl(R2) End If End Sub Private Sub R2_Change() If IsNumeric(R1) And IsNumeric(R2) Then Rtotal = CDbl(R1) + CDbl(R2) End If End Sub Να δημιουργηθεί παρόμοια φόρμα και να γραφεί αντίστοιχος κώδικας ώστε να υπολογίζεται η τιμή της ολικής αντίστασης Rtotal όταν οι δύο αντιστάσεις R1 και R2 συνδέονται παράλληλα, όπως φαίνεται στην ακόλουθη εικόνα. Να χρησιμοποιήσετε αρχικές τιμές: R1 = 1 Ω, R2 = 1 Ω, Rtotal = 1 Ω. Ενδεικτικά αποτελέσματα της άσκησης Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 60

61 Ενδεικτικά αποτελέσματα Πρόγραμμα Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 61

62 Εργασία για παράδοση (Εργαστηριακή Άσκηση 6) Να παραδώσετε την συγκεκριμένη εργασία μέχρι την έναρξη εκτέλεσης της επόμενης εργαστηριακής άσκησης στην Εργαστηριακή Ομάδα που ανήκετε: 1. Τι είναι οι ενσωματωμένες συναρτήσεις; Τι είναι οι αλφαριθμητικές συναρτήσεις και ποια η λειτουργία των συναρτήσεων: Len, Instr και Mid ; 2. Τι είναι οι συναρτήσεις μετατροπής δεδομένων και ποια η λειτουργία της συνάρτησης IsNumeric ; Τι είναι οι συναρτήσεις ημερομηνίας και ώρας και ποια η λειτουργία των συναρτήσεων: Date, DateValue και WeekDay ; 3. Ποια αρχική τιμή δίνουμε συνήθως για την ιδιότητα Text των πλαισίων κειμένου (TextBox); Τι τύπου δεδομένων θεωρούνται οι τιμές που βάζει ο χρήστης μέσα σε ένα πλαίσιο κειμένου; 4. Να γραφεί το παρακάτω πρόγραμμα που περιέχει λάθη στη σωστή του μορφή (παρόμοιο με την Άσκηση 6.1). Το πρόγραμμα πρέπει να περιλαμβάνει μία φόρμα, 4 πλαίσια κειμένου με ονόματα Κεφάλαιο, Επιτόκιο, Ημέρες και ΝέοΚεφάλαιο. Επίσης, περιλαμβάνει ένα πλήκτρο διαταγής με όνομα Υπολόγισε. Όταν ο χρήστης πατά το πλήκτρο υπολογίζεται και εμφανίζεται το Νέο Κεφάλαιο με βάση το Κεφάλαιο, το Επιτόκιο και τις Ημέρες που έχουν εισαχθεί στα αντίστοιχα πλαίσια κειμένου σύμφωνα με τις ακόλουθες σχέσεις: Tόκος Kεφάλαιο Eπιτόκιο Ημέρες NέοKεφάλαι ο Kεφάλαιο Private Sub Εκτίμησε.Change() Dim Τόκος As Boolean ΝέοΚεφάλαιο = Κεφάλαιο * Τόκος Tόκος Τόκος = Κεφάλαιο + Επιτόκιο + Ημέρες / Να γραφεί πρόγραμμα παρόμοιο με αυτό της Άσκησης 6.3 που να περιλαμβάνει μία φόρμα με 3 πλαίσια κειμένου με ονόματα F1, F2 και Ftotal. Στο πρόγραμμα πρέπει να εισάγονται κατάλληλες αρχικές τιμές με την φόρτωση της φόρμας. Με την εισαγωγή νέων τιμών στα πλαίσια κειμένου F1 και F2 να υπολογίζεται αυτόματα η τιμή στο πλαίσιο Ftotal αφού ελεγχθεί αν η τιμή που εισάχθηκε είναι αριθμητική και μετατραπούν οι τιμές που εισάχθηκαν σε τύπου απλής ακρίβειας (Single). Η τιμή στο πλαίσιο κειμένου Ftotal να αντιστοιχεί στην ακόλουθη αριθμητική παράσταση: Ftotal 0,5 F1 F1 2 F2 Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 62

63 Δομές επιλογής και συναρτήσεις ημερομηνίας ΠΕΡΙΛΗΨΗ ΘΕΩΡΙΑΣ 1. Λογικές παραστάσεις. Στον προγραμματισμό με συμβάντα, μπορούμε να χρησιμοποιούμε απλές ή σύνθετες λογικές παραστάσεις που υλοποιούνται με τους συγκριτικούς τελεστές >, <, =, <>, >= και <= και με τους λογικούς τελεστές And, Or και Not (για σύνθετες λογικές παραστάσεις ή συνθήκες). 2. Δομές επιλογής If Then Else και If Then ElseIf. Στον προγραμματισμό με συμβάντα, μπορούμε να χρησιμοποιούμε και δομές επιλογής If Then Else και If Then ElseIf. Η γενική σύνταξη αυτών των δύο δομών φαίνεται παρακάτω: If συνθήκη Then εντολή-1 Ομάδα εντολών για εντολή-2 συνθήκη αληθή : Else εντολή-3 Ομάδα εντολών για εντολή-4 συνθήκη ψευδή : End If If συνθήκη1 Then εντολή 1_1 Ομάδα εντολών για εντολή 1_2 συνθήκη αληθή : ElseIf συνθήκη2 Then εντολή 2_1 Ομάδα εντολών για εντολή 2_2 συνθήκη2 αληθή : Else εντολή v_1 Ομάδα εντολών για όλες τις εντολή v_2 συνθήκες ψευδείς : End If 3. Δομές πολλαπλής επιλογής Select Case. Η γενική σύνταξη της δομής φαίνεται παρακάτω: Select Case παράσταση Case τιμή1_1, τιμή 1_2, εντολή 1_1 εντολή 1_2 : Case τιμή2_1, τιμή 2_2, εντολή 2_1 εντολή 2_2 : Case Else εντολή v_1 εντολή v_2 : End Select 1 η ομάδα εντολών 2 η ομάδα εντολών Ν-οστή ομάδα εντολών Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 63

64 ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Άσκηση Φόρμα με δομή επιλογής If Then ElseIf και συμβολισμοί χρωμάτων Σε μια εφαρμογή θέλουμε, όταν το απόθεμα ενός υλικού σε μια αποθήκη γίνει μικρότερο ή ίσο των 50 τεμαχίων, να τονίζεται με κόκκινο χρώμα μια ετικέτα στο παράθυρο αναφοράς των αποθεμάτων και να αλλάζει το μήνυμα της σε Κάτω από το όριο ασφαλείας. Όταν πάλι το απόθεμα ξεπεράσει τα 50 τεμάχια, θέλουμε η ετικέτα να τονίζεται με πράσινο χρώμα και να παρουσιάζει το μήνυμα Επάρκεια. Υποδείξεις: 1. Για τα χρώματα, η Visual Basic έχει δημιουργήσει τους ακόλουθους συμβολισμούς (σταθερές): Σταθερά Τιμή Περιγραφή vbblack &H Μαύρο vbblue &HFF0000 Μπλε vbcyan &HFFFF00 Κυανό vbgreen &H00FF00 Πράσινο vbmagenta &HFF00FF Βαθυκόκκινο vbred &H0000FF Κόκκινο vbwhite &HFFFFFF Άσπρο vbyellow &H00FFFF Κίτρινο 2. Αντίστοιχα, για τις οπτικές ιδιότητες των παραθύρων, έχουμε δει ότι η ιδιότητα BorderStyle καθορίζει τον τύπο πλαισίου των παραθύρων και δώσαμε τις τιμές που μπορεί να πάρει σε λίστα. Γι αυτές τις τιμές, η Visual Basic έχει δημιουργήσει τους ακόλουθους συμβολισμούς (σταθερές): Σταθερά Τιμή Περιγραφή vbbsnone 0 Χωρίς πλαίσιο vbfixedsingle 1 Απλό και σταθερό πλαίσιο vbsizable 2 Πλαίσιο μεταβλητού μεγέθους vbfixeddialog 3 Διαλογικό πλαίσιο vbfixedtoolwindow 4 Σταθερό πλαίσιο εργαλειοθήκης vbsizabletoolwindow 5 Μεταβλητού μεγέθους πλαίσιο εργαλειοθήκης Εκτέλεση της Άσκησης Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 64

65 Δημιουργούμε μια φόρμα με ένα Πλαίσιο Κειμένου και δύο Ετικέτες, η μία από τις οποίες θα αλλάζει χρώμα και θα εμφανίζει ένα μήνυμα ανάλογα με την τιμή στο Πλαίσιο Κειμένου. Η άλλη ετικέτα με Caption «Απόθεμα» θα είναι τοποθετημένη δίπλα από το Πλαίσιο Κειμένου και θα υποδεικνύει το περιεχόμενο του Πλαισίου Κειμένου. Name Τύπος αντικειμένου Stock Πλαίσιο κειμένου Message Ετικέτα Ο κώδικας που γράφουμε για τις αρχικές τιμές του Πλαισίου κειμένου και τις ενδείξεις-χρώματα του υπόβαθρου και της γραμματοσειράς κατά την φόρτωση της φόρμας αλλά και μετά την πληκτρολόγηση τιμής μέσα στο Πλαίσιο κειμένου, έχουν ως εξής: Private Sub Form_Load() Stock = 0 Message.Caption = "Ένδειξη" Message.BackColor = vbcyan Message.ForeColor = vbblue End Sub Private Sub Stock_Change() If Not IsNumeric(Stock) Then Message.Caption = "Μη αποδεκτή τιμή" Message.BackColor = vbmagenta Message.ForeColor = vbyellow ElseIf Stock <= 50 Then Message.Caption = "Κάτω από το όριο ασφαλείας" Message.BackColor = vbred Message.ForeColor = vbwhite Else Message.Caption = "Επάρκεια" Message.BackColor = vbgreen Message.ForeColor = vbblack End If End Sub Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 65

66 Με πληκτρολόγηση αριθμητικών τιμών ή ακόμη και μιας συμβολοσειράς (π.χ. το κενό), παίρνουμε τα παρακάτω ενδεικτικά αποτελέσματα: Άσκηση Συνάρτηση ημερομηνίας DateValue Να δημιουργηθεί φόρμα και να γραφεί κώδικας που να υπολογίζει τον αριθμό ημερών που μεσολαβούν μεταξύ δύο ημερομηνιών αλλά και την επόμενη ημερομηνία από την 1 η ημερομηνία μετά από ορισμένο αριθμό ημερών. Εκτέλεση της Άσκησης Σχεδιάζουμε μια φόρμα με 5 ετικέτες, 5 πλαίσια κειμένου και 1 πλήκτρο διαταγής με τις ακόλουθες ιδιότητες για τα πλαίσια κειμένου: Name Date1 Date2 DaysNext DiffDays Calc NextDate1 Text Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 66

67 Προσθέτουμε επίσης μία γραμμή για να διαχωρίσουμε τα δεδομένα από τα αποτελέσματα. Ο κώδικας που πρέπει να γράψουμε για το πλήκτρο διαταγής Calc έχει ως εξής: Private Sub Calc_Click() DiffDays = Abs(DateValue(Date1) - DateValue(Date2)) NextDate1 = DateValue(Date1) + DaysNext End Sub Εκτελούμε το πρόγραμμα και δίνουμε τιμές στα πλαίσια κειμένου Date1, Date2 και DaysNext. Πατώντας το πλήκτρο διαταγής Calc, υπολογίζονται και εμφανίζονται η Διαφορά ημερών μεταξύ των Ημερομηνιών 1 και 2 (πλαίσιο κειμένου DiffDays) και η Επόμενη ημερομηνία (πλαίσιο κειμένου NextDate1) μετά από τον αριθμό ημερών που δώσαμε στο πλαίσιο κειμένου DaysNext. Άσκηση Αλλαγή τρέχουσας ημερομηνίας και ώρας - Χρονόμετρο (Timer) Να δημιουργηθεί μια φόρμα όπου να παρουσιάζεται η τρέχουσα ημερομηνία και ώρα σε 2 πλαίσια κειμένου. Επίσης, να δίδεται η δυνατότητα στο χρήστη να εισάγει μια νέα ημερομηνία και ώρα σε 2 νέα πλαίσια κειμένου, η οποία να εισάγεται στη θέση της τρέχουσας ημερομηνίας και ώρας με το πάτημα ενός πλήκτρου διαταγής. Εκτέλεση της Άσκησης Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 67

68 Εισάγουμε 4 πλαίσια κειμένου και 4 ετικέτες πάνω σε μία φόρμα. Επίσης, εισάγουμε ένα αντικείμενο ελέγχου Timer (χρονόμετρο) και ένα πλήκτρο διαταγής. Οι ιδιότητες και η μορφή της φόρμας φαίνονται στην ακόλουθη εικόνα: Name Interval Picture Style DateNow TimeNow Timer OtherDate OtherTime Modify TIMER01.ICO 1-Graphical Για τα πλαίσια κειμένου, εισάγουμε το κενό ( ) στην ιδιότητα Text. Επίσης, για το αντικείμενο ελέγχου Timer, αλλάζουμε την ιδιότητα Interval σε Η ιδιότητα Interval καθορίζει ανά πόσα msecs (χιλιοστά του δευτερολέπτου) θα προκύπτει το συμβάν Timer. Η τιμή 1000 δηλώνει ότι ανά 1 sec (1000 x 1000ms = 1 sec) θα προκύπτει συμβάν ρολογιού. Για το πλήκτρο διαταγής Change, το πάτημα του οποίου θα αλλάζει την ημερομηνία και ώρα του υπολογιστικού συστήματος, αλλάζουμε τις ιδιότητες Caption (κενό, ), Style (1-Graphical) και Picture (TIMER01.ICO) από τη διεύθυνση C:\Program Files\Microsoft Visual Studio\Common\Graphics\Icons\Misc. Για το αντικείμενο ελέγχου Timer1 και το πλήκτρο διαταγής Change, γράφουμε τον ακόλουθο κώδικα: Private Sub Timer1_Timer() ' Σε κάθε χτύπο ρολογιού (ανά 1 sec) DateNow = Date ' Ενημέρωσε την ημερομηνία TimeNow = Time ' Ενημέρωσε την ώρα End Sub Private Sub Modify_Click() ' Όταν ο χρήστης ζητήσει αλλαγή Date = OtherDate Time = OtherTime End Sub Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 68

69 Εκτελούμε το πρόγραμμα και βλέπουμε το ακόλουθο αποτέλεσμα: Αποτελέσματα Εισάγουμε μία νέα ημερομηνία και ώρα όπως φαίνεται στη διπλανή εικόνα: Πατάμε το πλήκτρο διαταγής Change και βλέπουμε ότι η νέα ημερομηνία και ώρα εισάγονται στη θέση της τρέχουσας ημερομηνίας και ώρας: Περιμένοντας ορισμένα δευτερόλεπτα, παρατηρούμε την αλλαγή της τρέχουσας ημερομηνίας στην επόμενη ημέρα. Παρατηρούμε επίσης ότι η ημερομηνία και ώρα του Η/Υ έχει αλλάξει. Αλλάζουμε την ημερομηνία και ώρα του Η/Υ από το περιβάλλον των Windows και τερματίζουμε την εφαρμογή. Παρατηρήσεις Σχόλια: 1. Κατά την εκτέλεση του προγράμματος, το αντικείμενο χρονόμετρο (Timer) δεν εμφανίζεται μέσα στο παράθυρο. 2. Το αντικείμενο χρονόμετρο (Timer) το χρησιμοποιούμε συνήθως για να εισάγουμε καθυστέρηση στην εκτέλεση του κώδικα ή για να εκτελέσουμε κάποιο κώδικα σε προκαθορισμένες χρονικές στιγμές. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 69

70 Άσκηση Εμφάνιση ημέρας της εβδομάδας ολογράφως Να βελτιώσετε το πρόγραμμα της προηγούμενης εφαρμογής ώστε, εκτός από την τρέχουσα ημερομηνία και ώρα, να εμφανίζει την ημέρα της εβδομάδας ολογράφως. Υποδείξεις: 1. Να χρησιμοποιηθεί η συνάρτηση ημερομηνίας WeekDay(d) όπου d μια ημερομηνία, η οποία επιστρέφει έναν αριθμό από 1 έως 7 π.χ. το 1 αντιστοιχεί στην Κυριακή. 2. Να τοποθετηθεί ακόμη ένα πλαίσιο κειμένου για την εμφάνιση της ημέρας της εβδομάδας με όνομα π.χ. Today. 3. Να χρησιμοποιηθεί μια δομή πολλαπλής επιλογής Select Case ως εξής: Select Case Today Case 1 Today = "Sunday" Case 2 Today = "Monday" Case 3 Today = "Tuesday" Case 4 Today = "Wednesday" Case 5 Today = "Thursday" Case 6 Today = "Friday" Case 7 Today = "Saturday" End Select Ενδεικτικά αποτελέσματα Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 70

71 Πρόγραμμα Εργασία για παράδοση (Εργαστηριακή Άσκηση 7) Να παραδώσετε την συγκεκριμένη εργασία μέχρι την έναρξη εκτέλεσης της επόμενης εργαστηριακής άσκησης στην Εργαστηριακή Ομάδα που ανήκετε: 1. Ποιοι είναι οι συγκριτικοί τελεστές και με ποιους λογικούς τελεστές υλοποιούμε σύνθετες λογικές παραστάσεις (ή συνθήκες) στη Visual Basic ; Σε ποιους κανόνες βασίζεται ο έλεγχος αληθείας μιας σύνθετης λογικής παράστασης ; 2. Ποιες οι διαφορές μεταξύ των δομών Select Case και If Then ElseIf ; 3. Ποια η λειτουργία των δεσμευμένων λέξεων Is και To που χρησιμοποιούνται στη δομή Select Case ; 4. Να γραφεί ισοδύναμη υπορουτίνα διαχείρισης συμβάντος Stock_Change() για την Άσκηση 7.1 που να χρησιμοποιεί αντί για τη δομή επιλογής If Then ElseIf τη δομή επιλογής If Then. 5. Να γραφεί ισοδύναμη δομή επιλογής If Then ElseIf αντί για τη δομή επιλογής Select Case της Άσκησης 7.4 (να δοθεί μόνο η δομή επιλογής, όχι και η υπορουτίνα διαχείρισης συμβάντος). Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 71

72 Δομές επανάληψης ΠΕΡΙΛΗΨΗ ΘΕΩΡΙΑΣ 1. Δομές επανάληψης. Ένα βασικό χαρακτηριστικό των υπολογιστικών συστημάτων είναι ότι μπορούν να εκτελούν πολλές φορές ένα σύνολο από πράξεις και λειτουργίες που περιγράφονται μόνο μια φορά. Μια επαναληπτική εκτέλεση γίνεται με την χρήση ομάδων εντολών μέσα σε κατάλληλες προγραμματιστικές δομές επανάληψης. Οι προγραμματιστικές δομές επανάληψης είναι δομές που μας βοηθούν να δημιουργήσουμε βρόχους (loops), δηλαδή τμήματα προγράμματος των οποίων οι εντολές εκτελούνται συνεχώς για έναν προκαθορισμένο αριθμό επαναλήψεων ή για όσο ικανοποιείται μια συνθήκη. Η Visual Basic διαθέτει δύο βασικές δομές επανάληψης, τη δομή For Next και τη δομή Do Loop. 2. Δομή επανάληψης For Next. Όταν είναι γνωστό εξ αρχής το πόσες φορές θα εκτελεστεί μια ομάδας εντολών, χρησιμοποιείται η προγραμματιστική δομή For Next που μεταφράζεται ως εξής: ΓΙΑ (FOR) ΜΕΧΡΙ (TO) ΒΗΜΑ (STEP) ΕΠΟΜΕΝΟ (NEXT). Η γενική μορφή της δομής είναι: For μετρητής = αρχή Το τέλος Step βήμα Εντολή-1 Εντολή-2 : Next μετρητής ομάδα εντολών βρόχου όπου: μετρητής αντιπροσωπεύει μια αριθμητική παράσταση αρχή, τέλος και βήμα μπορεί να είναι είτε αριθμητικές σταθερές, είτε μεταβλητές είτε παραστάσεις Η λειτουργία της δομής For Next έχει ως εξής: 1. Υπολογίζονται αρχικά οι τιμές των αρχή, τέλος και βήμα. 2. Η τιμή της αρχής δίνεται ως αρχική τιμή στον μετρητή. 3. Αν μετρητής < τέλος, τότε εκτελούνται οι εντολές του βρόχου, διαφορετικά το πρόγραμμα παραλείπει τις εντολές του βρόχου και συνεχίζει με τις εντολές μετά το Next. 4. Στην εντολή Next, αυξάνεται ο μετρητής όσο είναι η τιμή του βήματος. 5. Επαναλαμβάνονται τα βήματα 3 και 4 μέχρι να ικανοποιηθεί η συνθήκη μετρητής > τέλος. Σημειώσεις: 1. Όταν η τιμή του βήματος είναι 1, μπορούμε να παραλείψουμε το τμήμα της εντολής που καθορίζει το βήμα. 2. Το βήμα μεταβολής του μετρητή μπορεί να είναι και αρνητικό. Είναι προφανές ότι σε αυτή την περίπτωση, η τιμή του μετρητή δεν θα αυξάνεται αλλά θα μειώνεται. Οι ανακυκλώσεις στο βρόχο θα σταματήσουν όταν ο μετρητής γίνει μικρότερος από την τιμή του τέλους. 3. Για τις τιμές των σταθερών, μεταβλητών ή παραστάσεων αρχή, τέλος και βήμα, πρέπει να έχουμε υπ όψιν μας τα εξής: Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 72

73 Οι εντολές του βρόχου δεν θα εκτελεστούν καμία φορά αν: αρχή > τέλος και βήμα > 0. αρχή < τέλος και βήμα < 0. Αν αρχή = τέλος, οι εντολές στο εσωτερικό του βρόχου θα εκτελεστούν μόνο μία φορά. Αν βήμα = 0, ο βρόχος δεν θα τερματιστεί ποτέ. 4. Στη Visual Basic, αντίθετα με ότι ισχύει σε άλλες γλώσσες προγραμματισμού, ο μετρητής, η αρχή, το τέλος και το βήμα επιτρέπεται να παίρνουν και μη ακέραιες τιμές. 5. Δεν πρέπει να αλλάζουμε την τιμή του μετρητή μέσα στο βρόχο και επίσης, η τιμή του μετρητή μετά το τέλος των ανακυκλώσεων του βρόχου είναι η τελευταία τιμή που προκάλεσε τη διακοπή του βρόχου. 3. Δομή επανάληψης Do While Loop. Στην δομή επανάληψης Do While Loop (ΕΚΤΕΛΕΣΕ ΟΣΟ ΕΠΑΝΕΛΑΒΕ) χρησιμοποιείται μια λογική συνθήκη (λογική ή αριθμητική παράσταση) για να αποφασιστεί αν θα εκτελεστούν ξανά οι εντολές που περικλείονται μεταξύ της γραμμής που περιέχει την κωδική λέξη Do While και της γραμμής που περιέχει την κωδική λέξη Loop. Η γενική μορφή της δομής επανάληψης Do While Loop είναι: Do While συνθήκη Εντολή-1 Εντολή-2 : ομάδα εντολών βρόχου Loop όπου συνθήκη μια λογική ή αριθμητική παράσταση. Οι ανακυκλώσεις μέσα στο βρόχο γίνονται όσο η συνθήκη είναι αληθής. Συγκεκριμένα, η συνθήκη λειτουργεί ως εξής: 1. Ελέγχεται αρχικά η συνθήκη. 2. Αν η συνθήκη είναι αληθής, τότε εκτελείται η ομάδα εντολών του βρόχου. Όταν εκτελεστεί και η τελευταίας εντολή της ομάδας, γίνεται επιστροφή στην εντολή Do While όπου ελέγχεται εκ νέου η συνθήκη κ.ο.κ. 3. Αν η συνθήκη είναι ψευδής, παρακάμπτονται οι εντολές του βρόχου και η εκτέλεσή του προγράμματος συνεχίζεται με την εκτέλεση των εντολών που ακολουθούν (κάτω ή μετά) την Loop. Σημειώσεις: 1. Η ομάδα εντολών του βρόχου δεν εκτελείται καμία φορά αν η συνθήκη είναι εξαρχής ψευδής. 2. Στο εσωτερικό του βρόχου πρέπει να αλλάζει η τιμή μιας μεταβλητής που συμμετέχει στη συνθήκη. Σε αντίθετη περίπτωση, εκτελούνται συνεχώς ανακυκλώσεις χωρίς τερματισμό. Αν το πρόγραμμα βρεθεί σε τέτοια κατάσταση, ο τερματισμός του μπορεί να γίνει μόνο με εξωτερική παρέμβαση. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 73

74 4. Δομή επανάληψης Do Loop While Μια παραλλαγή της δομής Do While Loop είναι η δομή Do Loop While η οποία εκτελεί πρώτα τις εντολές του βρόχου και μετά τον έλεγχο της συνθήκης. Αυτό σημαίνει ότι οι εντολές του βρόχου θα εκτελεστούν μια φορά τουλάχιστον. Η γενική σύνταξη της δομής έχει ως εξής: Do Εντολή-1 ομάδα Εντολή-2 εντολών : βρόχου Loop While συνθήκη 5. Δομές επανάληψης Do Until Loop και Do Loop Until. Υπάρχουν ακόμη δύο παραλλαγές της δομής επιλογής Do Loop, η δομή Do Until Loop (ΕΚΤΕΛΕΣΕ ΜΕΧΡΙ ΕΠΑΝΕΛΑΒΕ) και η δομή Do Loop Until (ΕΚΤΕΛΕΣΕ ΕΠΑΝΕΛΑΒΕ ΜΕΧΡΙ). Οι δύο αυτές δομές χρησιμοποιούνται όταν θέλουμε να εκτελούνται οι εντολές του βρόχου για όσο διάστημα η συνθήκη είναι ψευδής. Σε πρώτη ματιά δε διαφέρουν από τις προηγούμενες παραλλαγές παρά μόνο στο ότι αντί της κωδικής λέξης While χρησιμοποιείται η κωδική λέξη Until που επιφέρει ουσιαστικά την αντίθετη λειτουργία. Η γενική τους σύνταξη έχει ως εξής: Do Until συνθήκη Do Εντολή-1 Εντολή-1 Εντολή-2 Εντολή-2 : : Loop Loop Until συνθήκη 6. Αρχικοποίηση βρόχου (δομής επανάληψης). Η αρχικοποίηση βρόχου αναφέρεται στην αρχική τιμή που πρέπει να δώσουμε σε μια μεταβλητή του βρόχου πριν το σώμα του βρόχου ώστε να υλοποιηθούν σωστά οι εντολές που περιλαμβάνονται στο σώμα του βρόχου. Η αρχικοποίηση είναι απαραίτητη διαδικασία που πρέπει να γίνεται σε κάθε δομή επανάληψης. 7. Πίνακας αληθείας. Είναι ένας πίνακας των διαδοχικών τιμών της μεταβλητής επανάληψης και μιας ή περισσοτέρων μεταβλητών που περιέχονται μέσα στο βρόχο επανάληψης. Οι έννοιες της αρχικοποίησης μεταβλητής και του πίνακα αληθείας θα γίνουν πιο κατανοητές με τα παρακάτω παραδείγματα για τις δομές επανάληψης For Next και Do While Loop. Παράδειγμα 1 Το παρακάτω πρόγραμμα κάνει χρήση της δομής επανάληψης For Next για τον υπολογισμό του αθροίσματος n περιττών διαδοχικών ακεραίων αριθμών με αφετηρία τον αριθμό 1, δηλαδή : OddSum = n χρησιμοποιώντας μια μεταβλητή επανάληψης i και τη βοηθητική μεταβλητή S (η οποία δίνει και το αποτέλεσμα). Να δοθούν οι τιμές των βοηθητικών μεταβλητών i και S του βρόχου For Next βήμα προς βήμα (πίνακας αληθείας) για O d d N u m = 5. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 74

75 όπου: P r i v a t e S u b C a l c u l a t e _ C l i c k ( ) D i m S A s L o n g D i m i As L o n g S = 0 'Αρχική τιμή 0 της βοηθ. μεταβλητής S F o r i = 1 To O d d N u m S t e p 2 'ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ OddNum με βήμα 2 S = S + i 'Εκχώρηση της παράστασης S+i στο S N e x t i O d d S u m = S 'Εκχώρηση τελ. τιμής του S στην μεταβλ. OddSum E n d S u b S: Η βοηθητική μεταβλητή που δίνει και το αποτέλεσμα του προγράμματος i: Η μεταβλητή επανάληψης 0: Η αρχική τιμή της βοηθητικής μεταβλητής S (αρχικοποίηση βρόχου) 1: Η αρχική τιμή της μεταβλητής επανάληψης i Λύση i S Επεξήγηση( S + i ) Παράδειγμα 2 Να γίνει ο πίνακας αληθείας για το ισοδύναμο πρόγραμμα που κάνει χρήση της δομής επανάληψης Do Wile Loop για O d d N u m = 5. P r i v a t e S u b C a l c u l a t e _ C l i c k ( ) όπου: D i m S A s L o n g D i m i As L o n g S = 0 'Αρχική τιμή 0 της βοηθ. μεταβλητής S i = 1 'Αρχική τιμή 1 της βοηθ. μεταβλητής 1 D o W h i l e i < = O d d N u m 'ΕΚΤΕΛΕΣΕ ΟΣΟ i OddNum S = S + i 'Εκχώρηση της παράστασης S+i στο S i = i + 2 'Αύξηση του i κατά 2 L o o p O d d S u m = S E n d S u b 'Εκχώρηση τελ. τιμής του S στην μεταβλ. OddSum i: Η μεταβλητή επανάληψης OddNum: Η τιμή «φρουρός» που κάνει τη συνθήκη αληθή ή ψευδή S: Η βοηθητική μεταβλητή που δίνει και το αποτέλεσμα του προγράμματος 0: Η αρχική τιμή της βοηθητικής μεταβλητής S (αρχικοποίηση βρόχου) 1: Η αρχική τιμή της μεταβλητής επανάληψης i (αρχικοποίηση βρόχου) Έλεγχος συνθήκης Επεξήγηση i S ( i OddNum ) ( S + i ) 1 5 (αληθής) (αληθής) (αληθής) (ψευδής) 5 9 Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 75

76 Άσκηση ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Δομή For Next - Μετατροπή δυαδικού αριθμού σε δεκαδικό Να δημιουργηθεί φόρμα με ένα πλαίσιο κειμένου με όνομα B i n N u m b e r και ένα πλήκτρο διαταγής Convert για τη μετατροπή ενός δυαδικού αριθμού στον αντίστοιχο δεκαδικό αριθμό. Name BinNumber Convert Για να μετατραπεί ένας δυαδικός αριθμός π.χ. ο σε δεκαδικό, θα πρέπει να υλοποιηθεί και υπολογιστεί το παρακάτω άθροισμα γινομένων: (1 x 2 4 ) + (1 x 2 3 ) + (0 x 2 2 ) + (0 x 2 1 ) + (1 x 2 0 ) = 25 Α. Να γραφεί ο κώδικας για το πλήκτρο διαταγής έτσι ώστε στη δομή επανάληψης να υπολογίζεται πρώτα το πρώτο άθροισμα γινομένων και μετά τα υπόλοιπα. Β. Να γραφεί ο κώδικας για το πλήκτρο διαταγής έτσι ώστε στη δομή επανάληψης να υπολογίζεται πρώτα το τελευταίο άθροισμα γινομένων και μετά τα υπόλοιπα. Επίσης, να τροποποιηθεί η εφαρμογή προσθέτοντας ένα ακόμη πλαίσιο κειμένου με όνομα D e c N u m b e r στο οποίο να εκχωρείται (εμφανίζεται) ο δεκαδικός αριθμός που υπολογίστηκε και όχι μέσα στο πλαίσιο κειμένου B i n N u m b e r. Name BinNumber DecNumber Convert Λύση Τα προγράμματα που ακολουθούν δίνουν στη μεταβλητή D e c N u m τη δεκαδική παράσταση του δυαδικού αριθμού, που έχει εισαχθεί στο πλαίσιο κειμένου με όνομα B i n N u m b e r. Οι μεταβλητές B i n N u m, D e c N u m, P o w e r, i, D i g i t είναι βοηθητικές και πρέπει να δηλωθεί ο τύπος τους. Α. Στη μεταβλητή D e c N u m δίνεται αρχική τιμή 0. Επίσης, στη μεταβλητή P o w e r που παριστάνει τον εκθέτη του 2, δίνεται αρχική τιμή ίση με L e n ( B i n N u m b e r 1). Ο βρόχος σαρώνει τα ψηφία από την αρχή προς το τέλος. Στο βρόχο απομονώνεται ένα δυαδικό ψηφίο (D i g i t ) και πολλαπλασιάζεται με την κατάλληλη δύναμη του 2. Επίσης, στο βρόχο προετοιμάζεται και ο επόμενος εκθέτης. Επίσης, η εκχώρηση του DecNum που υπολογίζεται στην δομή επανάληψης εκχωρείται στην μεταβλητή DecNumber και εμφανίζεται στο αντίστοιχο πλαίσιο κειμένου. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 76

77 1 ο Πρόγραμμα (Α) P r i v a t e S u b C o n v e r t _ C l i c k () D i m B i n N u m As S t r i n g D i m D e c N u m As L o n g D i m P o w e r As I n t e g e r, i As I n t e g e r, D i g i t A s I n t e g e r B i n N u m = B i n N u m b e r D e c N u m = 0 P o w e r = L e n ( B i n N u m b e r ) 1 F o r i = 1 To L e n ( B i n N u m ) S t e p 1 Αρχή από το πρώτο γινόμενο D i g i t = C I n t ( M i d ( B i n N u m, i, 1 ) ) Απομόνωση ψηφίου D e c N u m = D i g i t * 2 ^ P o w e r + D e c N u m Υπολόγισε μερικό άθροισμα P o w e r = P o w e r - 1 Επόμενος εκθέτης N e x t i B i n N u m b e r = D e c N u m E n d S u b Αποτελέσματα (Α) 2 ο Πρόγραμμα (Β) P r i v a t e S u b C o n v e r t _ C l i c k ( ) D i m B i n N u m A s S t r i ng D i m D e c N u m A s L o n g D i m P o w e r A s I n t e g e r, i A s I n t e g e r, D i g i t A s I n t e g e r B i n N u m = B i n N u m b e r D e c N u m = 0 P o w e r = 0 F o r i = L e n ( B i n N u m ) To 1 S t e p - 1 Αρχή από το τελευταίο γινόμενο D i g i t = C I n t ( M i d ( B i n N u m, i, 1 ) ) Απομόνωση ψηφίου D e c N u m = D i g i t * 2 ^ P o w e r + D e c N u m Υπολόγισε μερικό άθροισμα P o w e r = P o w e r + 1 Επόμενος εκθέτης N e x t i DecNumber = D e c N u m E n d S u b Αποτελέσματα (Β) Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 77

78 Άσκηση Δομή For Next - Πίνακας ημιτόνων και συνημιτόνων στη φόρμα Να δημιουργηθεί φόρμα με δύο πλήκτρα διαταγής M a t r i x και C l e a r για την εμφάνιση ενός Πίνακα ημιτόνων και συνημιτόνων με βήμα τιμών ανά 15 0 (0,26 ακτίνια) πάνω στο παράθυρο μιας φόρμας. Να τροποποιηθεί κατάλληλα ο παρακάτω κώδικας ώστε το όρισμα των ημιτόνων και συνημιτόνων να δίνεται σε μοίρες και όχι ακτίνια: Εκτέλεση της Άσκησης Δημιουργούμε τη φόρμα με τα 2 πλήκτρα διαταγής και δίνουμε ονόματα ως εξής: Name Αποτελέσματα Matrix Clear Πληκτρολογούμε τον παρακάτω κώδικα για τo πλήκτρo διαταγής M a t r i x για την εμφάνιση του Πίνακα πάνω στη φόρμα και για το πλήκτρο C l e a r για τον καθαρισμό της φόρμας: P r i v a t e S u b M a t r i x _ C l i c k ( ) D i m A A s D o u b l e D i m S i n A A s S i n g l e, C o s A A s S i n g l e D i m pi A s D o u b l e p i = 4 * A t n ( 1 ) F o r A = 0 To S t e p 15 S i n A = S i n ( A * pi / ) Μετατροπή ορίσματος ημιτόνου σε μοίρες C o s A = C o s ( A * pi / ) Μετατροπή ορίσματος συνημιτόνου σε μοίρες M e. P r i n t A, S i n A, C o s A N e x t A E n d S u b P r i v a t e S u b C l e a r _ C l i c k ( ) Me. C l s E n d S u b Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 78

79 Άσκηση Δομή Do While Loop - Υπολογισμός ετών διπλασιασμού κεφαλαίου Να δημιουργηθεί φόρμα με 3 πλαίσια κειμένου, 3 ετικέτες και 1 πλήκτρο διαταγής για τον υπολογισμό των ετών διπλασιασμού ενός κεφαλαίου Κ όταν οι τόκοι Τ για κάθε έτος με βάση το ετήσιο επιτόκιο Ε % δίνονται από την ακόλουθη σχέση: T K E 100 Να τροποποιηθεί κατάλληλα ο παρακάτω κώδικας όπου Y e a r s είναι το όνομα του πλαισίου κειμένου που εμφανίζει τα έτη διπλασιασμού του κεφαλαίου, C a p i t a l το όνομα του πλαισίου κειμένου για το αρχικό κεφάλαιο και E p e r C e n t το ετήσιο επιτόκιο σε %. Οι μεταβλητές Interest και NewCapital είναι βοηθητικές και αντιστοιχούν στον τόκο και το Νέο Κεφάλαιο αντίστοιχα. Y e a r s = 0 N e w C a p i t a l = C a p i t a l D o W h i l e ( N e w C a p i t a l < 2 * C a p i t a l ) I n t e r e s t = N e w C a p i t a l * E p e r C e n t / N e w C a p i t a l = N e w C a p i t a l + I n t e r e s t Y e a r s = Y e a r s + 1 L o o p Αρχικό Νέο Κεφάλαιο Τόκος Νέο κεφάλαιο Αλλαγή έτους Εκτέλεση της Άσκησης Δημιουργούμε τη φόρμα και αλλάζουμε τις ιδιότητες σύμφωνα με την παρακάτω εικόνα: Name Capital EperCent Years Calculate Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 79

80 Πληκτρολογούμε τον παρακάτω κώδικα για τo πλήκτρο διαταγής C a l c u l a t e : P r i v a t e S u b C a l c u l a t e _ C l i c k ( ) D i m I n t e r e s t A s D o u b l e D i m N e w C a p i t a l A s D o u b l e D i m Y A s D o u b l e Y = 0 N e w C a p i t a l = C a p i t a l D o W h i l e ( N e w C a p i t a l < 2 * C a p i t a l ) I n t e r e s t = N e w C a p i t a l * E p e r C e n t / N e w C a p i t a l = N e w C a p i t a l + I n t e r e s t Y = Y + 1 L o o p Y e a r s = Y E n d S u b Αρχικό Νέο Κεφάλαιο Τόκος Νέο κεφάλαιο Αλλαγή έτους Οι μεταβλητές Y, I n t e r e s t και N e w C a p i t a l είναι βοηθητικές και πρέπει να δηλωθεί ο τύπος τους. Πράγματι, την πρώτη φορά που θα ελεγχθεί η συνθήκη της εντολής Do, δεν έχει περάσει κανένα έτος (Years = 0 ) και το νέο κεφάλαιο είναι ίσο με το αρχικό (N e wc a p i t a l = C a p i t a l ), οπότε θα εκτελεστούν οι εντολές στο εσωτερικό του βρόχου. Οι εντολές αυτές αυξάνουν κατά 1 το έτος, υπολογίζουν τον τόκο I ntere st για το τρέχον έτος και αυξάνουν το κεφάλαιο. Στην επόμενη ανακύκλωση, το επόμενο κεφάλαιο συγκρίνεται με το αρχικό και αυτό επαναλαμβάνεται μέχρι να παραβιαστεί η συνθήκη του While και να βρεθεί ψευδής. Τότε η εκτέλεση του προγράμματος συνεχίζεται με τις μετά το Loop εντολές. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 80

81 Άσκηση Δομή Do Loop While Πλήθος εμφανίσεων λέξης μέσα σε πρόταση Το παρακάτω τμήμα προγράμματος υπολογίζει το πλήθος των εμφανίσεων της συμβολοσειράς W ord μέσα στη συμβολοσειρά Sentence. C o u n t = 0 S t a r t = 1 Do P o s = I n s t r ( S t a r t, S e n t e n c e, W o r d ) I f P o s < > 0 T h e n C o u n t = C o u n t + 1 S t a r t = P o s + 1 E n d I f L o o p W h i l e P o s < > 0 Αρχική τιμή στο μετρητή Αρχική θέση αναζήτησης Απαρίθμηση εμφανίσεων Αρχή αναζήτησης Να δημιουργηθεί φόρμα με τιμές ιδιοτήτων όπως στην παρακάτω εικόνα και να τροποποιηθεί κατάλληλα ο παραπάνω κώδικας: Name Sentence Word CountWord Calculate Επεξήγηση κώδικα: Αρχικά δίνεται στο μετρητή C ount η τιμή 0 και η αναζήτηση αρχίζει από τη θέση S tart = 1. Λόγω της μορφής του βρόχου, η αναζήτηση πραγματοποιείται τουλάχιστον μια φορά. Αν μετά τη θέση Start μέσα στη Sentence βρεθεί η W ord, καταχωρείται η θέση της στην μεταβλητή P os, αυξάνεται ο απαριθμητής κατά 1 και η νέα αναζήτηση αρχίζει μια θέση μετά. Αν όμως η αναζήτηση αποβεί άκαρπη, η συνάρτηση I n st r αποδίδει την τιμή 0 στη μεταβλητή P o s και διακόπτονται οι ανακυκλώσεις. Ενδεικτικά αποτελέσματα Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 81

82 Πρόγραμμα Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 82

83 Άσκηση Δομή Do Loop Until Διόρθωση πολλαπλών χαρακτήρων σε πρόταση Να δημιουργηθεί μια φόρμα με ένα πλαίσιο κειμένου, μία ετικέτα και ένα πλήκτρο διαταγής και να γραφεί πρόγραμμα για το πλήκτρο διαταγής που να αντικαθιστά τους πολλαπλούς χαρακτήρες π.χ. κόμματα (,, ή,,, κ.ο.κ) με μονούς χαρακτήρες δηλαδή,. Λύση Δημιουργούμε τη φόρμα και δίνουμε τιμές στην ιδιότητα Name των αντικειμένων ελέγχου σύμφωνα με την παρακάτω εικόνα: Name Sentence Correct Πληκτρολογούμε τον κώδικα για το πλήκτρο C orrect που φαίνεται παρακάτω. Πληκτρολογούμε λέξεις με ένα, δύο, τρία, τέσσερα ή περισσότερα κενά μεταξύ τους και στη συνέχεια πατάμε το πλήκτρο C o rrect. Παρατηρούμε ότι η νέα πρόταση έχει μόνο μονά κενά μεταξύ των λέξεων. Πρόγραμμα P r i v a t e S u b C o r r e c t _Click() D i m P o s A s I n t e g e r D o P o s = I n s t r ( S e n t e n c e,,, ) Βρες διπλό χαρακτήρα If P o s < > 0 T h e n S e n t e n c e = L e f t ( S e n t e n c e, P o s ) & M i d ( S e n t e n c e, P o s + 2 ) E n d If L o o p U n t i l P o s = 0 Διέκοψε αν δεν υπάρχει άλλος E n d S u b Αποτελέσματα Επεξήγηση κώδικα: Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 83

84 Η συνάρτηση I nstr δίνει στη μεταβλητή P o s τη θέση που έχουν ανιχνευτεί δύο συνεχόμενοι ίδιοι χαρακτήρες. Η συνάρτηση L eft(sentence, Pos) δίνει το αριστερό τμήμα της πρότασης μέχρι και το πρώτον χαρακτήρα και η συνάρτηση M i d ( Sentence, Pos + 2) το δεξί τμήμα που αρχίζει δύο θέσεις μετά τον πρώτο χαρακτήρα, άρα η πρόταση ανασυγκολλάτε με ένα χαρακτήρα λιγότερο. Αυτό επαναλαμβάνεται μέχρι να εξεταστεί όλη η πρόταση και διαπιστωθεί ότι δεν υπάρχει τμήμα της πρότασης με συνεχόμενους ίδιους, οπότε Pos = 0. Τελικά, η πρόταση έχει μόνο ένα χαρακτήρα μεταξύ όλων των λέξεων ακόμη κι αν υπάρχουν πολλαπλοί (τριπλοί, τετραπλοί ή περισσότεροι) ίδιοι χαρακτήρες ανάμεσα στις λέξεις. Εργασία για παράδοση (Εργαστηριακή Άσκηση 8) Να παραδώσετε την συγκεκριμένη εργασία μέχρι την έναρξη εκτέλεσης της επόμενης εργαστηριακής άσκησης στην Εργαστηριακή Ομάδα που ανήκετε: 1. Να δώσετε τη γενική σύνταξη για κάθε μία από τις δομές επανάληψης και τη μετάφραση των αγγλικών λέξεων στα ελληνικά. Ποια η λειτουργίας της συνάρτησης Instr ; 2. Ποια η χαρακτηριστική διαφορά της δομής For Next από τις άλλες δομές επανάληψης; Ποιες οι διαφορές των δομών Do While Loop και Do Until Loop ; 3. Να δοθούν οι τιμές των i, Digit, DecNum και Power βήμα-βήμα για το παράδειγμα της μετατροπής αριθμού από το δυαδικό στο δεκαδικό σύστημα για τον δυαδικό : Επίσης, να τροποποιηθεί και να απλοποιηθεί (όπου είναι εφικτό) το πρόγραμμα ώστε να γίνεται ο υπολογισμός του δεκαδικού αρχίζοντας από το πρώτο ψηφίο του δυαδικού. Ποια συνάρτηση στο Excel υλοποιεί τη μετατροπή δυαδικού αριθμού σε δεκαδικό; i Digit DecNum Power 4. Να δοθούν οι τιμές των NewCapital, Interest και Y βήμα-βήμα για το παράδειγμα του διπλασιασμού κεφαλαίου και για Κεφάλαιο = 100, Επιτόκιο = 20%. Έλεγχος συνθήκης NewCapital Interest Y Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 84

85 5. Να γραφεί το παρακάτω πρόγραμμα (όμοια με την Άσκηση 8.1.Α) που περιέχει λάθη στη σωστή του μορφή. Το πρόγραμμα πρέπει να περιλαμβάνει μία φόρμα, 1 πλαίσιο κειμένου με όνομα Δυαδικός και 1 πλήκτρο διαταγής με όνομα Μετατροπή. Με το πάτημα του πλήκτρου διαταγής, ο δυαδικός αριθμός που τοποθετήθηκε στο πλαίσιο κειμένου μετατρέπεται στον αντίστοιχο δεκαδικό αριθμό. Private Sub Convert_Change() Dim Binary As String * 1 Dim Δεκαδικός As Double Dim Δύναμη As Boolean, i As Boolean Dim Ψηφίο As Boolean Δεκαδικός = 100 Δύναμη = 22 Binary >= Δυαδικός ΓΙΑ i = Len(Binary) ΜΕΧΡΙ 1 ΒΗΜΑ -10 Ψηφίο <> CLng(Mid(Binary, i, 1)) Δεκαδικός = Ψηφίο * 2 ^ Δύναμη + Δεκαδικός Δύναμη <= Δύναμη + 1 ΕΠΟΜΕΝΟ i Δυαδικός >= Δεκαδικός End Sub 6. Να γραφεί το παρακάτω πρόγραμμα (όμοια με την Άσκηση 8.3) που περιέχει λάθη στη σωστή του μορφή. Το πρόγραμμα πρέπει να περιλαμβάνει μία φόρμα με 3 πλαίσια κειμένου με ονόματα Κεφάλαιο, Επιτόκιο και Έτη και ένα πλήκτρο διαταγής με όνομα Υπολόγισε. Με το πάτημα του πλήκτρου να υπολογίζονται τα έτη πενταπλασιασμού ενός κεφαλαίου όταν οι τόκοι για κάθε έτος με βάση το ετήσιο επιτόκιο (σε %) δίνονται από την ακόλουθη σχέση: Tόκοι Kεφάλαιο Eπιτόκιο 100 Private Sub Calculate.Click() Dim Τόκοι As Date Dim ΝέοΚεφάλαιο As Date Dim Y As Boolean Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 85

86 Y = 0 ΝέοΚεφάλαιο = Κεφάλαιο Doop When (ΝέοΚεφάλαιο <> 2 * Κεφάλαιο) Τόκοι = ΝέοΚεφάλαιο * Επιτόκιο / 100,00 ΝέοΚεφάλαιο = ΝέοΚεφάλαιο + Τόκοι Y = Y - 2 ΕΠΑΝΕΛΑΒΕ Έτη >= Y End Sub Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 86

87 Δομές επανάληψης - Τερματισμός ανακύκλωσης, άλμα σε επόμενη ανακύκλωση και ένθετες δομές Άσκηση Δομή For Next - Αντικατάσταση κομμάτων, με τελείες. Να δημιουργηθεί φόρμα με ένα πλαίσιο κειμένου με όνομα N u m b e r και ένα πλήκτρο διαταγής C o m m a s D o t s για την αντικατάσταση των κομμάτων, με τελείες. στον αριθμό που πληκτρολογήθηκε μέσα στο πλαίσιο κειμένου. Λύση Δημιουργούμε τη φόρμα και αλλάζουμε τις ιδιότητες σύμφωνα με την παρακάτω εικόνα: Name Number CommasDots Το τμήμα του προγράμματος που ακολουθεί, χρησιμοποιεί ένα πλήκτρο διαταγής με όνομα C o m m a s D o t s που αντικαθιστά τα κόμματα με τελείες στον αριθμό που έχει εισαχθεί στο πλαίσιο κειμένου. Οι μεταβλητές i και N u m είναι βοηθητικές και πρέπει να δηλωθεί ο τύπος τους. P r i v a t e S u b C o m m a s D o t s _ C l i c k ( ) D i m i A s I n t e g e r D i m N u m A s S t r i n g N u m = N u m b e r F o r i = 1 To L e n ( N u m ) If M i d ( N u m, i, 1 ) = ", " T h e n M i d ( N u m, i, 1 ) = ". " N e x t i N u m b e r = N u m E n d S u b Με το συγκεκριμένο βρόχο σαρώνονται τα ψηφία του N u m b e r. Σε κάθε κύκλο, η συνάρτηση M i d απομονώνει ένα ψηφίο, που συγκρίνεται με το κόμμα. Αν το αποτέλεσμα είναι αληθές, γίνεται η αντικατάστασή του στην εντολή M i d. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 87

88 Άσκηση Μετατροπή ακέραιου δεκαδικού αριθμού σε δυαδικό Να δημιουργηθεί φόρμα με δύο πλαίσια κειμένου και ένα πλήκτρο διαταγής στην οποία να μετατρέπεται ένας ακέραιος δεκαδικός αριθμός στον αντίστοιχο δυαδικό αριθμό. Λύση Για να μετατρέψουμε έναν ακέραιο δεκαδικό Ν σε δυαδικό ακολουθούμε τα εξής βήματα: 1. Διαιρούμε τον αριθμό Ν με το 2 και παίρνουμε πηλίκο Π (ακέραια διαίρεση) και υπόλοιπο (mod) Υ. Το υπόλοιπο Υ έχει τιμή 0 ή 1 και αποτελεί το ψηφίο του δυαδικού αριθμού. 2. Θέτουμε το πηλίκο Π στη θέση του Ν και επαναλαμβάνουμε το βήμα 1 μέχρι να βρεθεί πηλίκο ίσο με 0. Τοποθετούμε κάθε νέο υπόλοιπο στα αριστερά του υπό σύνθεση δυαδικού αριθμού. Βάση Πηλίκο Υπόλοιπο 25:2 = Τελευταίο ψηφίο του δυαδικού 12:2 = :2 = :2 = :2 = Πρώτο ψηφίο του δυαδικού Δημιουργούμε τη φόρμα και δίνουμε ονόματα στα αντικείμενα ελέγχου όπως δείχνει η παρακάτω εικόνα: Name Decimal Binary DecToBin Πρόγραμμα P r i v a t e S u b D e c T o B i n _ C l i c k () D im N As L o n g D i m Y As L o n g N = C L n g ( D e c i m a l ) B i n a r y = "" D o Y = N M o d 2 N = N \ 2 Το πηλίκο στη θέση του Ν (ακέραια διαίρεση \ ) B i n a r y = Y & B i n a r y Τα διαδοχικά υπόλοιπα στα αριστερά L o o p U n t i l N = 0 Αν το πηλίκο είναι 0, τερμάτισε E n d S u b Αποτελέσματα Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 88

89 Άσκηση Εισαγωγή ενός bit για επίτευξη άρτιας ισοτιμίας δυαδικού αριθμού Να δημιουργηθεί εφαρμογή που θα εμφανίζει δύο πλαίσια κειμένου και ένα πλήκτρο διαταγής. Στο ένα πλαίσιο κειμένου θα πληκτρολογείται ένας δυαδικός αριθμός και με το πάτημα του πλήκτρου, θα εμφανίζεται στο δεύτερο πλαίσιο κειμένου ο δυαδικός αριθμός με άρτια ισοτιμία. Σημείωση: Το πρόσθετο ψηφίο ονομάζεται ψηφίο ισοτιμίας (parity bit) και υπολογίζεται με την εξής λογική: Αν χρησιμοποιείται άρτια ισοτιμία (even parity), το ψηφίο ισοτιμίας παίρνει την τιμή 0 ή 1 ώστε ο συνολικός αριθμός δυαδικών ψηφίων (bits χαρακτήρα + ψηφίο ισοτιμίας) που έχουν τιμή 1 να είναι άρτιος. Στην περίπτωση της περιττής ισοτιμίας (odd parity), ο συνολικός αριθμός των δυαδικών ψηφίων που έχουν τιμή 1 πρέπει να είναι περιττός. Λύση Δημιουργούμε τη φόρμα και δίνουμε ονόματα στα αντικείμενα ελέγχου όπως φαίνεται στην παρακάτω εικόνα: Name Binary WithParity SetParity Πρόγραμμα P r i v a t e S u b S e t P a r i t y _ C l i c k ( ) D i m D i g i t As S t r i n g * 1 D i m P a r i t y B i t As S t r i n g * 1 D i m C o u n t O n e s As I n t e g e r D i m i A s I n t e g e r Απαρίθμηση ψηφίων 1 C o u n t O n e s = 0 F o r i = 1 T o L e n ( B i n a r y ) D i g i t = M i d ( B i n a r y, i, 1 ) If D i g i t = 1 T h e n C o u n t O n e s = C o u n t O n e s + 1 N e x t i Υπολογισμός άρτιας ισοτιμίας P a r i t y B i t = C s t r ( C o u n t O n e s M o d 2) Σύνθεση νέου αριθμού με άρτια ισοτιμία W i t h P a r i t y = B i n a r y & P a r i t y B i t E n d S u b Αποτελέσματα Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 89

90 Επεξήγηση κώδικα: Αρχικά σαρώνονται τα ψηφία του αριθμού και απαριθμούνται τα ψηφία τα οποία ισούνται με 1. Στη συνέχεια, υπολογίζεται το ψηφίο ισοτιμίας και τοποθετείται στο τέλος του αριθμού. Για άρτια ισοτιμία, αν το πλήθος των ψηφίων του αριθμού είναι περιττό, θέτουμε 1 το ψηφίο ισοτιμίας και αν το πλήθος των ψηφίων του αριθμού είναι άρτιο, το θέτουμε 0, ώστε το συνολικό πλήθος ψηφίων να είναι άρτιο. Παρατηρούμε επίσης ότι για τον υπολογισμό του ψηφίου ισοτιμίας, λαμβάνουμε το υπόλοιπο της διαίρεσης με το 2 (mod 2). Το υπόλοιπο της διαίρεσης των ψηφίων που είναι ίσα με 1 μπορεί να έχει δύο τιμές: 1 αν ο αριθμός των ψηφίων που ισούνται με 1 είναι περιττός και 0 αν είναι άρτιος. Επίσης, η συνάρτηση CStr μετατρέπει τον αριθμό σε συμβολοσειρά για να είναι δυνατή η συνένωσή του με τον αρχικό αριθμό στην επόμενη εντολή. Άσκηση Εισαγωγή ενός bit για επίτευξη περιττής ισοτιμίας και έλεγχος δυαδικού αριθμού Να δημιουργηθεί εφαρμογή που θα εμφανίζει δύο πλαίσια κειμένου και ένα πλήκτρο διαταγής. Στο ένα πλαίσιο κειμένου θα πληκτρολογείται ένας δυαδικός αριθμός και με το πάτημα του πλήκτρου, θα εμφανίζεται στο δεύτερο πλαίσιο κειμένου ο δυαδικός αριθμός με περιττή ισοτιμία. Επίσης, να ελέγχεται κατά πόσον ο αριθμός που δόθηκε είναι δυαδικός και αν δεν είναι, το πλαίσιο εμφάνισης του δυαδικού με περιττή ισοτιμία να μην εμφανίζει τίποτα (κενό). Υπόδειξη 1: Στην περίπτωση της περιττής ισοτιμίας (odd parity), ο συνολικός αριθμός των δυαδικών ψηφίων που έχουν τιμή 1 πρέπει να είναι περιττός. Υπόδειξη 2: Χρησιμοποιώντας τον κώδικα της προηγούμενης άσκησης, να προστεθούν ορισμένες εντολές για τον έλεγχο των ψηφίων αν είναι 0 ή 1 όπως δείχνει το παρακάτω τμήμα δομής επιλογής: If ( D i g i t < > " 0 " ) A n d ( D i g i t < > " 1 " ) T h e n Οι εντολές μέσα στη δομή επιλογής θα πρέπει, σε περίπτωση που οι συνθήκες της δομής επιλογής είναι αληθείς, να θέτουν το πλαίσιο κειμένου W ithparit y ένα κενό και να οδηγούν τη ροή του προγράμματος στον τερματισμό του κάνοντας χρήση της εντολής GoTo. Αν δεν είναι αληθείς η Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 90

91 συνθήκες της παραπάνω δομής επιλογής, να εκτελείται κανονικά η απαρίθμηση των ψηφίων 1 με χρήση ενός ElseIf όπως στο προηγούμενο παράδειγμα. Υπόδειξη 3: Να τροποποιηθεί κατάλληλα η παρακάτω εντολή: P a r i t y B i t = C S t r ( C o u n t O n e s M o d 2) Ενδεικτικά αποτελέσματα Πρόγραμμα Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 91

92 Εργασία για παράδοση (Εργαστηριακή Άσκηση 9) Να παραδώσετε την συγκεκριμένη εργασία μέχρι την έναρξη εκτέλεσης της επόμενης εργαστηριακής άσκησης στην Εργαστηριακή Ομάδα που ανήκετε: 1. Με ποιες εντολές γίνεται τερματισμός της ανακύκλωσης και της εξόδου από βρόχο ; Σε ποια δομή αντιστοιχεί ή κάθε μία ; Με ποιες άλλες δομές συνδυάζονται συνήθως αυτές οι εντολές ; 2. Με ποιες εντολές γίνεται άλμα σε επόμενη ανακύκλωση και σε ποια δομή αντιστοιχεί ή κάθε μία; 3. Ποια συνάρτηση στο Excel υλοποιεί τη μετατροπή δεκαδικού αριθμού σε δυαδικό; 4. Τι κανόνες ακολουθεί το όνομα μιας ετικέτας που χρησιμοποιείται για το άλμα σε επόμενη ανακύκλωση; Με ποιο σύμβολο συνδυάζεται μια ετικέτα και σε ποιο σημείο χρησιμοποιείται αυτό ; Ποια άλλη χρήση έχει το συγκεκριμένο σύμβολο ; 5. Να γραφεί το παρακάτω πρόγραμμα (όμοια με την Άσκηση 8.2) που περιέχει λάθη στη σωστή του μορφή. Το πρόγραμμα πρέπει να περιλαμβάνει μία φόρμα με όνομα Form1 και 1 πλήκτρο διαταγής με όνομα SinCos. Με το πάτημα του πλήκτρου διαταγής να τυπώνεται πάνω στη φόρμα ένας Πίνακας που να περιλαμβάνει σε κάθε γραμμή τη γωνία σε μοίρες από έως 0 0 με βήματα των 45 0 και το αντίστοιχο ημίτονο και συνημίτονο αυτών των γωνιών σε άλλες δύο διαφορετικές στήλες. Να σημειωθεί ότι στην 1 η γραμμή θα πρέπει να εμφανίζονται η γωνία των και τα αντίστοιχα ημίτονα και συνημίτονα και η γωνία να μειώνεται με βήματα των P r i v a t e S u b Π ί ν α κ α ς. C l i c k ( ) D i m A A s B o o l e a n D i m S i n A A s D a t e, C o s A A s D a t e Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 92

93 D i m π A s I n t e g e r π = 4 * A r c T a n ( 1 ) Γ Ι Α A > = 0 Μ Ε Χ Ρ Ι Β Η Μ Α -15 S i n A = Ημ( A / pi * ) C o s A = Σ υ ν ( A * pi * ) Φ ό ρ μ α. T y p e A. S i n A. C o s A Ε Π Ο Μ Ε Ν Ο A Α E n d S u b 6. Να γραφεί το παρακάτω πρόγραμμα (όμοια με την Άσκηση 8.4) που περιέχει λάθη στη σωστή του μορφή. Το πρόγραμμα πρέπει να περιλαμβάνει μία φόρμα με 3 πλαίσια κειμένου με ονόματα Πρόταση, Λέξη και Σύνολο και ένα πλήκτρο διαταγής με όνομα Υπολόγισε. Με το πάτημα του πλήκτρου να υπολογίζεται το Πλήθος εμφανίσεων μιας λέξης που εισήχθηκε μέσα στο πλαίσιο κειμένου Λέξη σε σχέση με την πρόταση που εισήχθηκε μέσα στο πλαίσιο Πρόταση. P r i v a t e Sub C a l c u l a t e.click ( ) D i m Α ρ χ ή A s B o o l ean D i m Μ ε τ ρ η τ ής A s B o o l e a n D i m Θ έ σ η A s B o o l ean Μ ε τ ρ η τ ή ς < > 0 Α ρ χ ή < = 1 Ε Κ Τ Ε Λ Ε Σ Ε Θ έ σ η = I n s t r ( Α ρ χ ή, Π ρ ό τ α σ η, Λ έ ξ η ) Ε Α Ν Θ έ σ η < 0 Τ Ο Τ Ε Μ ε τ ρ η τ ή ς = Μ ε τ ρ η τ ή ς + 2 Α ρ χ ή = Θ έ σ η - 1 Τ Ε Λ Ο Σ _ Ε Α Ν D o o p W h e n Θ έ σ η > 0 Σ ύ ν ο λ ο > = Μ ε τ ρ η τ ή ς E n d S u b 7. Να γραφεί το παρακάτω πρόγραμμα (όμοια με την Άσκηση 8.5) που περιέχει λάθη στη σωστή του μορφή. Το πρόγραμμα πρέπει να περιλαμβάνει μία φόρμα, 1 πλαίσιο κειμένου με όνομα Κείμενο και ένα πλήκτρο διαταγής με όνομα Διόρθωσε. Με το πάτημα του πλήκτρου να εντοπίζονται τα σημεία της πρότασης με περισσότερα από μία συνεχόμενες τελείες (.) και να τις αντικαθιστά με μία μόνο υποδιαστολή. Π.χ. το κείμενο Α..Β θα αντικατασταθεί με το κείμενο Α.Β Private Sub Correct_Change() Dim Θέση As Boolean ΕΚΤΕΛΕΣΕ Θέση >= Instr(Κείμενο.,, ) ΕΑΝ Θέση <= 0 ΤΟΤΕ Κείμενο = Left(Κείμενο. Θέση) & _ Mid(Κείμενο. Θέση + 5) ΤΕΛΟΣ_ΕΑΝ ΕΠΑΝΕΛΑΒΕ Until Θέση <> 0 End Sub 8. Να γραφεί το παρακάτω πρόγραμμα (όμοια με την Άσκηση 9.4) που περιέχει λάθη στη σωστή του μορφή. Το πρόγραμμα πρέπει να περιλαμβάνει μία φόρμα με 2 πλαίσια κειμένου με ονόματα Δυαδικός και ΙσοτιμίαΠ και ένα πλήκτρο διαταγής με όνομα Μετέτρεψε. Με το πάτημα του Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 93

94 πλήκτρου να μετατρέπεται ένας δυαδικός αριθμός που εισάγεται στο πλαίσιο Δυαδικός στον αντίστοιχο δυαδικό αριθμό με περιττή ισοτιμία. Ο δυαδικός αριθμός να θεωρείται ως μία συμβολοσειρά και να ελέγχεται κατά πόσον είναι δυαδικός, δηλαδή περιλαμβάνει ψηφία 0 και 1 μόνο. Αν ο αριθμός που θα εισαχθεί περιέχει έστω και ένα ψηφίο διαφορετικό του 0 και του 1 ή οποιοδήποτε άλλο χαρακτήρα, τότε να εμφανίζεται στο πλαίσιο κειμένου ΙσοτιμίαΠ το μήνυμα «Μη Δυαδικός» και να τερματίζεται το πρόγραμμα. Private Sub SetParity.Click() Dim Ψηφίο As Single 1 Dim BitΙσοτιμίας As Single 1 Dim Μέτρησε1 As Boolean Dim i As Boolean Μέτρησε1 = -1 ΓΙΑ i = 1 ΜΕΧΡΙ Len(Δυαδικός) Ψηφίο = Mid(Δυαδικός, i, 1) ΕΑΝ (Ψηφίο <= 0) ΚΑΙ (Ψηφίο => 1) ΤΟΤΕ ΙσοτιμίαΠ = GoTo ΜηΔυαδικός ΑΛΛΙΩΣ_ΕΑΝ Ψηφίο = 1 ΤΟΤΕ Μέτρησε1 = Μέτρησε1-1 ΤΕΛΟΣ_ΕΑΝ ΕΠΟΜΕΝΟ i BitΙσοτιμίας = Cstr(Μέτρησε1 Mod 3) ΙσοτιμίαΠ = Δυαδικός ΚΑΙ BitΙσοτιμίας ΜηΔυαδικός? End Sub Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 94

95 Πίνακες(Συστοιχίες) ΠΕΡΙΛΗΨΗ ΘΕΩΡΙΑΣ 1. Πίνακες (arrays). Όπως έχουμε δει, για την αποθήκευση τιμών σε ένα πρόγραμμα, χρησιμοποιούμε μεταβλητές. Όταν όμως έχουμε ένα μεγάλο πλήθος ομοειδών μεταβλητών, δεν είναι αναγκαίο να ορίσουμε και ένα μοναδικό όνομα για κάθε μία από αυτές. Η VB (όπως και όλες οι γλώσσες προγραμματισμού) μας δίνει τη δυνατότητα να χρησιμοποιούμε το ίδιο γενικό όνομα για ένα σύνολο μεταβλητών και να αναφερόμαστε σε μια συγκεκριμένη από αυτές, γράφοντας το γενικό όνομα και έναν αριθμητικό δείκτη (index). Οι μεταβλητές αυτού του τύπου ονομάζονται μεταβλητές με δείκτη και συνθέτουν τους επονομαζόμενους πίνακες ή αλλιώς συστοιχίες (arrays). 2. Όνομα πίνακα. Το όνομα ενός πινάκα ακολουθεί τους ίδιους ακριβώς κανόνες που ισχύουν για τα ονόματα των απλών μεταβλητών. Συγκεκριμένα, πρέπει να αρχίζουν με γράμμα (ελληνικά, λατινικά, κεφαλαία πεζά), από χαρακτήρες(σύμβολα) επιτρέπεται μόνο η κάτω παύλα (_) και να μη συμπίπτει το όνομα με δεσμευμένη λέξη της Visual Basic (π.χ. For, Next, If κλπ). 3. Δήλωση πίνακα. Όπως και με τις απλές μεταβλητές, πριν χρησιμοποιήσουμε ένα πίνακα στο πρόγραμμα, πρέπει πρώτα να δηλώσουμε τον τύπο των στοιχείων του για λόγους δέσμευσης κατάλληλου χώρου στη μνήμη και καθορισμού του τρόπου με τον οποίο η Visual Basic θα χειριστεί τα στοιχεία του. Αμέσως μετά το όνομα του πίνακα και μέσα σε παρενθέσεις, δηλώνουμε το μέγιστο πλήθος των στοιχείων του (δείκτης). Συγκεκριμένα, η δήλωση ενός πίνακα γίνεται ως εξής: Dim όνομα_μεταβλητής(μέγιστος_δείκτης) As τύπος όπου: Όνομα_μεταβλητής : Μέγιστος_δείκτης : Τύπος : Το όνομα του πίνακα Η μεγαλύτερη τιμή του δείκτη (πλήθος στοιχείων του πίνακα) Ένας από τους τύπους δεδομένων (π.χ. Integer, Double, String κλπ) Ο Μέγιστος_δείκτης καθορίζεται με βάση το μέγιστο πλήθος των στοιχείων του πίνακα. Αν δεν είναι βέβαιο το ποια είναι η μέγιστη τιμή, τότε επιλέγεται συνήθως μια ικανοποιητικά μεγάλη τιμή ως τιμή μέγιστου. Γενικά, θα πρέπει να επιλέγουμε μεγάλες τιμές για να μπορεί ένα πρόγραμμα να καλύπτει από τις πιο γενικές μέχρι τις πιο ειδικές περιπτώσεις. Ο τύπος δεδομένων του πίνακα μπορεί να είναι οποιοσδήποτε από τους τύπους δεδομένων που χρησιμοποιεί η Visual Basic, π.χ. Integer, Long, Single, String, Boolean κλπ. 4. Αναφορά σε στοιχεία του πίνακα. Η αναφορά σε στοιχείο ενός πίνακα γίνεται με τη βοήθεια ενός αριθμητικού δείκτη. Ο δείκτης ενός πίνακα γράφεται μέσα σε παρενθέσεις αμέσως μετά το όνομά του. Ο δείκτης δεν αποτελεί τμήμα του ονόματος αλλά ένα πρόσθετο χαρακτηριστικό που διαφοροποιεί ένα στοιχείο του πίνακα από όλα τα άλλα στοιχεία. Ο δείκτης μπορεί να είναι ακέραια αριθμητική σταθερά, μεταβλητή ή παράσταση. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 95

96 5. Εισαγωγή και εκτύπωση στοιχείων ενός πίνακα. Συνήθως η εισαγωγή στοιχείων γίνεται από ηλεκτρονικά αρχεία ή παράθυρα εισαγωγής π.χ. το παράθυρο (πλαίσιο εισόδου δεδομένων) της συνάρτησης InputBox συνήθως με τη δομή For Next. Με την ίδια δομή επανάληψης γίνεται και η εκτύπωση στοιχείων σε παράθυρα εξόδου (π.χ. με τη συνάρτηση MsgBox), παράθυρα φόρμας, σε ηλεκτρονικά αρχεία ή στον εκτυπωτή. 6. Επεξεργασία των στοιχείων ενός πίνακα. Η επεξεργασία των στοιχείων ενός πίνακα γίνεται και αυτή κατά κανόνα με τη βοήθεια βρόχων. Τα στοιχεία του πίνακα μπορούν να προσπελαστούν με τη σειρά που έχουν εισαχθεί, με αντίστροφη σειρά ή με τυχαία αναφορά του δείκτη. 7. Δισδιάστατοι και πολυδιάστατοι πίνακες. Στη Visual Basic μπορούμε να ορίσουμε πίνακες πολλών διαστάσεων αλλά σπάνια χρειάζεται να χρησιμοποιήσουμε περισσότερες από 3 διαστάσεις. Η δήλωση ενός πίνακα πολλών διαστάσεων γίνεται όπως και στην περίπτωση του μονοδιάστατου πίνακα με τη δηλωτική εντολή Dim. Μεταξύ των παρενθέσεων τοποθετούμε μία τιμή για κάθε διάσταση. Ο γενικός τρόπος σύνταξης έχει ως εξής: Dim όνομα_μεταβλητής(μέγστος_δείκτης1,μέγιστος_δείκτης2, ) As τύπος Η διαχείριση των πολυδιάστατων πινάκων γίνεται συνήθως με ένθετους βρόχους. Χρησιμοποιούνται τόσοι βρόχοι όσες είναι και οι διαστάσεις του πολυδιάστατου πίνακα. Σε κάθε μετρητή, αντιστοιχεί και ένας δείκτης πίνακα. 8. Δυναμικοί πίνακες-δήλωση. Δυναμικοί είναι οι πίνακες των οποίων τα όρια, και κατά συνέπεια και το μέγεθος, μπορεί να αλλάξει κατά τη διάρκεια της εκτέλεσης του προγράμματος και δεν είναι στατικά και προκαθορισμένα τη στιγμή της κωδικοποίησης από τον προγραμματιστή. Η δήλωση ενός δυναμικού πίνακα γίνεται με δηλωτική εντολή όπως και για τους στατικούς πίνακες αλλά χωρίς να αναγράφεται η μέγιστη τιμή των δεικτών μέσα στις παρενθέσεις. Ο καθορισμός όμως των ορίων των δεικτών γίνεται με την εντολή ReDim (μπορεί να δεχτεί μέσα στις παρενθέσεις μεταβλητές, σε αντίθεση με την εντολή Dim) όπως φαίνεται στα ακόλουθα παραδείγματα: Dim Σπουδαστές( ) As String Dim Βαθμοί( ) As Integer ReDim Σπουδαστές(45) ReDim Βαθμοί(1 To 45, 1 To 5) 9. Συναρτήσεις Ubound και Lbound. Η τρέχουσα μέγιστη τιμή του δείκτη ενός πίνακα μπορεί να υπολογιστεί καλώντας τη συνάρτηση Ubound που δέχεται ως παραμέτρους το όνομα του πίνακα και τον αύξοντα αριθμό του δείκτη. Στα προηγούμενα παραδείγματα, θα μπορούσαμε να γράψουμε μέσα σε πρόγραμμα: Ubound(Students, 1) για τον πρώτο δείκτη του πίνακα Σ π ουδαστές που επιστρέφει την τιμή 45. Όμοια η εντολή: Ubound(Grades, 2) για τον δεύτερο δείκτη του πίνακα Β αθμοί θα επιστρέψει την τιμή 5. Επίσης, η ελάχιστη τιμή του δείκτη ενός πίνακα μπορεί να ανιχνευτεί καλώντας τη συνάρτηση Lbound η οποία συντάσσεται όπως ακριβώς και η Ubound. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 96

97 ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Άσκηση Μονοδιάστατοι πίνακες Εισαγωγή και εμφάνιση ονομάτων σε φόρμα Α. Να δημιουργηθεί εφαρμογή με μία φόρμα μόνο, με την οποία να δίνεται η δυνατότητα εισαγωγής του πλήθους σπουδαστών (40 το μέγιστο) ενός τμήματος εργαστηρίου μέσω ενός παραθύρου (συνάρτηση I nputbox) καθώς και του ονοματεπώνυμου των σπουδαστών. Αν για το πλήθος σπουδαστών δοθεί τιμή μεγαλύτερη από 40, να τερματίζεται το πρόγραμμα. Επίσης, να εισάγεται το ονοματεπώνυμο κάθε σπουδαστή σε ξεχωριστό παράθυρο (συνάρτηση I nputbox) το καθένα και όταν ολοκληρωθεί η εισαγωγή των ονομάτων των σπουδαστών, να εκτυπώνονται (εμφανίζονται) ο αύξων αριθμός του κάθε σπουδαστή και δίπλα το αντίστοιχο όνομα. Β. Να τροποποιηθεί ο κώδικας ώστε να εισάγεται σε ξεχωριστό παράθυρο το Όνομα, το Πατρώνυμο και το Επώνυμο των σπουδαστών και στο τέλος, να εμφανίζονται μόνο τα Αρχικά του Ονόματος και του Πατρωνύμου και ολόκληρο το Επώνυμο των σπουδαστών. Υπόδειξη: Να χρησιμοποιηθεί η συνάρτηση Left(a, x) που επιστρέφει τους x πρώτους χαρακτήρες της συμβολοσειράς a από τα αριστερά. Να τροποποιηθεί ο κώδικας με γκρι σκίαση. Λύση Α. Για να εισάγουμε τα ονόματα των σπουδαστών ενός τμήματος εργαστηρίου μέσα σε ένα πρόγραμμα και να τα εκτυπώσουμε (εμφανίσουμε) σε μια φόρμα, γράφουμε τις παρακάτω δηλώσεις και κώδικα: Private Sub Form_Load() Dim Students(40) As String Dim N As Integer Dim i As Integer Ν = InputBox("Number of students") If N > 40 Then End Εισαγωγή ονομάτων For i = 1 To N Students(i) = InputBox("Name of student " & i) Next i Εμφάνισε τη φόρμα και εμφάνισε ότι είναι τυπωμένο πάνω της Me.Show Τύπωσε τις επικεφαλίδες Me.Print A/A, Name Εμφάνισε τα ονόματα For i = 1 To N Me.Print i, Students(i) Next i End Sub Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 97

98 Επεξήγηση κώδικα: Η 1 η συνάρτηση InputBox μεταφέρει στο πρόγραμμα το πλήθος των σπουδαστών του τμήματος εργαστηρίου. Αν στη μεταβλητή Ν δοθεί τιμή μεγαλύτερη του 40, το πρόγραμμα διακόπτεται. Στην 1 η δομή επανάληψης For Next, λαμβάνεται το όνομα του κάθε σπουδαστή και γίνεται η καταχώρησή του στο αντίστοιχο στοιχείο του πίνακα με όνομα Students. Το τμήμα προγράμματος μετά την 1 η δομή επανάληψης For Next, φορτώνει τη φόρμα και εμφανίζει στο εσωτερικό της τον αύξοντα αριθμό και το αντίστοιχο όνομα σπουδαστή που πληκτρολογήθηκε. Σε περίπτωση που χρησιμοποιούσαμε ένα πλήκτρο διαταγής με το πάτημα του οποίου να ξεκινούσε η διαδικασία εισαγωγής και εμφάνισης κώδικα, θα γράφαμε τον ίδιο με τον παραπάνω κώδικα που περικλείεται από τις εντολές P riva te S u b F o rm _ Load( ) End S ub αλλά η εντολή Me. Show θα ήταν περιττή. Εκτέλεση εφαρμογής: Εκτελούμε το πρόγραμμα και δίνουμε μια τιμή στο πρώτο I nputbox (π.χ. 2) και ονόματα στα επόμενα I nputbox που εμφανίζονται. Μετά την πληκτρολόγηση του τελευταίου ονόματος, εμφανίζονται (εκτυπώνονται) σε μία φόρμα ο αύξων αριθμός και το αντίστοιχο όνομα που πληκτρολογήθηκε. Δεδομένα εισόδου Αποτελέσματα Πλήθος σπουδαστών : 2 Όνομα 1 ου σπουδαστή : Paul Smith Όνομα 2 ου σπουδαστή : John Pappas Β. Δεδομένα εισόδου Πλήθος σπουδαστών : 2 Όνομα 1 ου σπουδαστή : Paul Πατρώνυμο 1 ου σπουδαστή : Jack Επώνυμο 1 ου σπουδαστή : Smith Αποτελέσματα Όνομα 2 ου σπουδαστή : John Πατρώνυμο 2 ου σπουδαστή : Michael Επώνυμο 2 ου σπουδαστή : Pappas Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 98

99 Άσκηση Μονοδιάστατοι στατικοί και δυναμικοί πίνακες Εισαγωγή θερμοκρασιών και εμφάνιση μέσου όρου Α. Να δημιουργηθεί εφαρμογή με μόνο μία φόρμα, στην οποία να εισάγεται το πλήθος (το πολύ 12) των σημείων μέτρησης τάσης (σε kv) και η τάση κάθε σημείου μιας συγκεκριμένης χρονικής στιγμής. Το πρόγραμμα να υπολογίζει το μέσο όρο των τάσεων και να εμφανίζει το αποτέλεσμα με ένα παράθυρο M s gbox. Να χρησιμοποιηθεί ένας στατικός πίνακας για την καταχώρηση των θερμοκρασιών με μέγιστο δείκτη ίσο με 12. Β. Να τροποποιηθεί ο κώδικας του προγράμματος ώστε να χρησιμοποιεί έναν δυναμικό πίνακα για την καταχώρηση των μετρήσεων με κατάλληλη δήλωση και σειρά τοποθέτησης στο πρόγραμμα. Λύση Α. Για να υπολογίσουμε και να εμφανίσουμε τον μέσο όρο των μετρήσεων τάσης, προσθέτοντας όλες τις μετρήσεις της λίστας και διαιρώντας με το συνολικό αριθμό τους, ο κώδικας που πρέπει να γραφεί έχει ως εξής: Private Sub Form_Load() Δήλωση μεταβλητών Dim Volt(12) As Single Έως 12 μετρήσεις τάσης Dim n As Integer Πλήθος μετρήσεων από το χρήστη Dim i As Integer Μετρητής βρόχου Dim SumV As Single Άθροισμα μετρήσεων Dim AverageV As Single Μέσος όρος Εισαγωγή πλήθους μετρήσεων n = InputBox("Number of measurement points") If (n < 1) Or (n > 12) Then End Εισαγωγή μετρήσεων τάσης For i = 1 To n Volt(i) = InputBox ("kv of measurement point " & i) Next i SumV = 0 Αρχικοποίηση βρόχου For i = 1 To n SumV = SumV + Volt(i) Μερικό άθροισμα Next i AverageV = SumV / n Μέσος όρος Εμφάνιση μέσου όρου MsgBox The average voltage is + Str(AverageV) End Τερματισμός προγράμματος End Sub Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 99

100 Επεξήγηση κώδικα: Στο τμήμα που υπολογίζεται ο μέσος όρος, ξεκινάμε δίνοντας στη μεταβλητή SumV, που θα περιείχε το άθροισμα των μετρήσεων, την τιμή 0. Σε κάθε ανακύκλωση του βρόχου, το άθροισμα αυξάνεται κατά τηn τιμή της τάσης που μετρήθηκε στο σημείο i. Αφού αθροιστούν οι μετρήσεις όλων των σημείων, γίνεται διαίρεση με το πλήθος των σημείων. Για να μην προκληθεί διακοπή του προγράμματος στην περίπτωση που ο χρήστης δώσει n= 0 που συνεπάγεται πρόβλημα στη διαίρεση AverageV = SumV / n, τοποθετήθηκε μια συνθήκη που τερματίζει το πρόγραμμα στην περίπτωση που δοθεί n=0. Επίσης, στο τέλος του προγράμματος τοποθετήθηκε μία εντολή End ώστε να τερματίζεται το πρόγραμμα μετά το κλείσιμο του παραθύρου M s gbox που εμφανίζει το αποτέλεσμα. Εκτέλεση του προγράμματος: Δίνουμε πλήθος μετρήσεων και την τάση κάθε σημείου. Εμφανίζεται το παράθυρο M s gbox με τον μέσο όρο. Ένα παράδειγμα εκτέλεσης του προγράμματος φαίνεται στη συνέχεια: Δεδομένα εισόδου Πλήθος σημείων μέτρησης: 3 kv στο σημείο 1 : 21 kv στο σημείο 2 : 20 kv στο σημείο 3 : 19 Αποτελέσματα Β. Κάνουμε τις αλλαγές που πρέπει και εκτελούμε ξανά το πρόγραμμα. Δίνοντας τα ίδια δεδομένα που φαίνονται στον προηγούμενο πίνακα θα πρέπει να πάρουμε τα ίδια αποτελέσματα. Άσκηση Δισδιάστατοι πίνακες Εισαγωγή και εμφάνιση στοιχείων Να δημιουργηθεί φόρμα με κατάλληλο κώδικα στην οποία να εισάγεται το πλήθος των γραμμών και των στηλών των καθισμάτων ενός θεάτρου καθώς επίσης και το όνομα που αντιστοιχεί σε κάθε κάθισμα ανά γραμμή (row) και στήλη (column). Στο πρόγραμμα να δηλώνεται αρχικά ένας δισδιάστατος πίνακας με όνομα Seat_Name και μέγιστο πλήθος γραμμών ίσο με 40 και μέγιστο πλήθος στηλών ίσο με 25. Η εμφάνιση των αποτελεσμάτων πάνω στη φόρμα να ως εξής : Α. Να τυπώνονται ο αριθμός της γραμμής και τα ονόματα που αντιστοιχούν σε αυτή. Β. Να εμφανίζονται τα ονόματα των θεατών ανά γραμμή και στήλη με δύο διαφορετικούς εναλλακτικούς τρόπους: (1) Να εμφανίζεται ο αριθμός κάθε γραμμής, κάθε στήλης και το αντίστοιχο όνομα. (2) Να εμφανίζονται μόνο τα ονόματα των τριών πρώτων γραμμών και των τριών πρώτων στηλών του Πίνακα το πολύ. Γ. Να τροποποιηθεί κατάλληλα ο κώδικας ώστε μετά το τέλος κάθε γραμμής του πίνακα, να εμφανίζονται επίσης το Ύψος και το Πλάτος της φόρμας σε twips. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 100

101 Λύση Πληκτρολογούμε και εκτελούμε το Πρόγραμμα Α χωρίς τα σχόλια. Πρόγραμμα Α. Private Sub Form_Load() Dim Seat_Name(40, 25) As String, Message As String, Record As String Dim i As Integer, j As Integer, Rows As Integer, Columns As Integer Rows = InputBox("Πλήθος γραμμών =") Columns = InputBox("Πλήθος στηλών =") For i = 1 To Rows For j = 1 To Columns Message = Όνομα θεατή: & i & η σειρά & j & η θέση. Seat_Name(i, j) = InputBox(Message, Εισαγωγή ) Next j Next i ' Φόρτωσε τη φόρμα και εμφάνισε ότι είναι τυπωμένο πάνω της Me.Show ' Εμφάνισε τα ονόματα σε μορφή πίνακα For i = 1 To Rows Record = "" 'Αρχικοποίηση μεταβλητής For j = 1 To Columns 'Σχηματισμός εγγραφής για κάθε γραμμή του πίνακα Record = Record & Seat_Name(i, j) & " " Next j Me.Print "Γραμμή " & i & " : ", Record Next i Me.Print "----Εκδοχή B1 ----" Me.Print Seat_Name(1, 1), Seat_Name(1, 2), Seat_Name(1, 3) Me.Print Seat_Name(2, 1), Seat_Name(2, 2), Seat_Name(2, 3) Me.Print Seat_Name(3, 1), Seat_Name(3, 2), Seat_Name(3, 3) Me.Print "" Me.Print "----Εκδοχή B2 ----" Me.Print For i = 1 To Rows For j = 1 To Columns Me.Print "Γραμμή " & i & ", Στήλη " & j & " : " & Seat_Name(i, j) Next j Next i End Sub Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 101

102 Δεδομένα εισόδου Αποτελέσματα Α. Αποτελέσματα (Εκδοχές Β1 και Β2) Πλήθος γραμμών : 2 Πλήθος στηλών : 2 Όνομα θεατή 1 η γραμμή, 1 η στήλη : ΑΑ Όνομα θεατή 1 η γραμμή, 2 η στήλη : BB Όνομα θεατή 2 η γραμμή, 1 η στήλη : CC Όνομα θεατή 2 η γραμμή, 2 η στήλη : DD Πλήθος γραμμών : 2 Πλήθος στηλών : 3 Όνομα θεατή 1 η γραμμή, 1 η στήλη : ΑΑ Όνομα θεατή 1 η γραμμή, 2 η στήλη : BB Όνομα θεατή 1 η γραμμή, 3 η στήλη : CC Όνομα θεατή 2 η γραμμή, 1 η στήλη : DD Όνομα θεατή 2 η γραμμή, 2 η στήλη : EE Όνομα θεατή 2 η γραμμή, 3 η στήλη : FF Πλήθος γραμμών : 3 Πλήθος στηλών : 3 Όνομα θεατή 1 η γραμμή, 1 η στήλη : ΑΑ Όνομα θεατή 1 η γραμμή, 2 η στήλη : BB Όνομα θεατή 1 η γραμμή, 3 η στήλη : CC Όνομα θεατή 2 η γραμμή, 1 η στήλη : DD Όνομα θεατή 2 η γραμμή, 2 η στήλη : EE Όνομα θεατή 2 η γραμμή, 3 η στήλη : FF Όνομα θεατή 3 η γραμμή, 1 η στήλη : GG Όνομα θεατή 3 η γραμμή, 2 η στήλη : HH Όνομα θεατή 3 η γραμμή, 3 η στήλη : II Πλήθος γραμμών : 2 Πλήθος στηλών : 2 Όνομα θεατή 1 η γραμμή, 1 η στήλη : ΑΑ Όνομα θεατή 1 η γραμμή, 2 η στήλη : BB Όνομα θεατή 2 η γραμμή, 1 η στήλη : CC Όνομα θεατή 2 η γραμμή, 2 η στήλη : DD Αποτελέσματα Γ. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 102

103 Άσκηση Μονοδιάστατοι πίνακες Απομόνωση χαρακτήρων συμβολοσειράς A. Να δημιουργηθεί εφαρμογή με μια φόρμα στην οποία να εισάγεται μια συμβολοσειρά (string) με 20 το πολύ χαρακτήρες και να εμφανίζονται σε μονοδιάστατο πίνακα όλοι οι χαρακτήρες (characters) που συνθέτουν τη συμβολοσειρά τυπωμένοι πάνω στη φόρμα με αύξουσα σειρά. B. Να εμφανίζονται μόνο οι χαρακτήρες αρχίζοντας από τον τελευταίο προς τον πρώτο. Λύση Α. Την συμβολοσειρά (string) θα την εκχωρήσουμε στη μεταβλητή S t r με μια συνάρτηση InputBox και τους χαρακτήρες (characters) της συμβολοσειράς θα τους εκχωρήσουμε σε μονοδιάστατο Πίνακα με όνομα μεταβλητής C hars. Πρόγραμμα Private Sub Form_Load() Dim Chars(20) As String Dim Str As String Dim s As String * 1 Dim i As Integer Str = InputBox("Give a string") For i = 1 To Len(Str) s = Mid(Str, i, 1) Chars(i) = s Next i ' Φόρτωσε τη φόρμα Me.Show ' Εμφάνισε τις επικεφαλίδες Me.Print "α/α", "Character" ' Εμφάνισε τους χαρακτήρες της συμβολοσειράς For i = 1 To Len(Str) Me.Print i, Chars(i) Next i End Sub Δεδομένα εισόδου Αποτελέσματα ' Πίνακας γραμμάτων ' Η συμβολοσειρά ' Γράμμα της συμβολοσειράς ' Μετρητής βρόχου Δεδομένα εισόδου Αποτελέσματα Δεδομένα εισόδου Αποτελέσματα Visual Basic Β. Δεδομένα εισόδου Αποτελέσματα Visual Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 103

104 Εργασία για παράδοση (Εργαστηριακή Άσκηση 10) Να παραδώσετε την συγκεκριμένη εργασία μέχρι την έναρξη εκτέλεσης της επόμενης εργαστηριακής άσκησης στην Εργαστηριακή Ομάδα που ανήκετε: 1. Ποια είναι η γενική σύνταξη της δήλωσης του τύπου των στοιχείων ενός μονοδιάστατου και ενός δισδιάστατου πίνακα ; 2. Με ποιους τρόπους γίνεται συνήθως η εισαγωγή των στοιχείων ενός πίνακα και με ποια δομή επανάληψης συνδυάζεται η εισαγωγή στοιχείων στο πρόγραμμα αλλά και η εκτύπωση των στοιχείων ενός πίνακα ; Ποια η διαφορά μεταξύ στατικών και δυναμικών πινάκων ; 3. Με ποια εντολή γίνεται ο καθορισμός των ορίων των δεικτών ενός δυναμικού πίνακα ; Να δώσετε δύο παραδείγματα δήλωσης δυναμικού πίνακα, ένα για μονοδιάστατο και ένα για δισδιάστατο πίνακα. 4. Να γραφεί το παρακάτω πρόγραμμα που περιέχει λάθη στη σωστή του μορφή. Στο πρόγραμμα δηλώνεται αρχικά ένας δισδιάστατος πίνακας με όνομα Θέση_Όνομα και μέγιστο πλήθος γραμμών ίσο με 50 και μέγιστο πλήθος στηλών ίσο με 65. Τα στοιχεία του πίνακα θα είναι συμβολοσειρές. Στο πρόγραμμα εισάγονται το πλήθος γραμμών και στηλών των καθισμάτων του θεάτρου, καθώς και τα ονόματα των θεατών ανά γραμμή και στήλη των καθισμάτων του θεάτρου μέσω παραθύρων εισαγωγής δεδομένων. Η εμφάνιση των ονομάτων των θεατών ανά γραμμή και στήλη να γίνεται με τους εξής τρόπους (Όμοια με το Παράδειγμα 10.3., εκδοχές Β1 και Β2): (1) Μόνο τα ονόματα των θεατών που αντιστοιχούν στις 2 πρώτες γραμμές και στις 2 πρώτες στήλες των θέσεων του θεάτρου.(2) Όλα τα ονόματα των θεατών που δόθηκαν για κάθε γραμμή και την αντίστοιχη στήλη. Private Sub Φόρμα.Load() Dim Θέση_Όνομα(300, 400) As Single, Μήνυμα As Single Dim i As Boolean, j As Boolean, Γραμμές As Boolean, Στήλες As Boolean Γραμμές = InBox("Πλήθος γραμμών =") Στήλες = InBox("Πλήθος στηλών =") ΓΙΑ i >= 1 ΜΕΧΡΙ Γραμμές ΓΙΑ j <= 1 ΜΕΧΡΙ Στήλες Μήνυμα = (Όνομα θεατή:) & i & η σειρά & j & η θέση Θέση_Όνομα(i, j) = InBox(Μήνυμα, Εισαγωγή) ΕΠΟΜΕΝΟ ii ΕΠΟΜΕΝΟ jj Φόρμα_Εμφάνισε Φόρμα_Τύπωσε Εκδοχή (1) Φόρμα_Τύπωσε Θέση_Όνομα(1. 1). Θέση_Όνομα(1. 2) Φόρμα_Τύπωσε Θέση_Όνομα(2. 1). Θέση_Όνομα(2. 2) Φόρμα_Τύπωσε --Εκδοχή (2)-- ΓΙΑ i >= 1 ΜΕΧΡΙ Rows ΓΙΑ j <= 1 ΜΕΧΡΙ Columns Φόρμα_Τύπωσε (Γραμμή) & i &,Στήλη & j & (:) & _ Θέση_Όνομα(i, j) ΕΠΟΜΕΝΟ ii ΕΠΟΜΕΝΟ jj End Sub Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 104

105 Τμηματικός προγραμματισμός - Οριζόμενες υπορουτίνες και συναρτήσεις ΠΕΡΙΛΗΨΗ ΘΕΩΡΙΑΣ 1. Τμηματικός προγραμματισμός. Ο κώδικας (πρόγραμμα) μιας εφαρμογής μπορεί να γίνει πιο εύκολος και απλός αν τον τεμαχίσουμε σε μικρότερα τμήματα (modules), περιγράψουμε καθένα από αυτά χωριστά με άλλα μικρότερα τμήματα κ.ο.κ.. Αυτός ο τρόπος προγραμματισμού ονομάζεται τμηματικός προγραμματισμός με τον οποίο αποφεύγεται η επαναληπτική γραφή των ίδιων ομάδων εντολών σε πολλά διαφορετικά σημεία της εφαρμογής αλλά ο κώδικας για κάθε επιμέρους τμήμα κώδικα γράφεται μία και μόνο φορά και δεν επαναλαμβάνεται η γραφή του σε άλλα σημεία όπου απαιτείται η εκτέλεση του επιμέρους αυτού κώδικα και αρκεί μόνο να γίνει η κλήση του. 2. Υπορουτίνες γενικού σκοπού ή οριζόμενες από τον χρήστη. Τις υπορουτίνες αυτές τις ορίζει ο χρήστης σε αντίθεση με τις ενσωματωμένες συναρτήσεις της Visual Basic. Οι υπορουτίνες γενικού σκοπού είναι τμήματα κώδικα τα οποία δεν εκτελούνται όταν προκαλούνται κάποια συμβάντα αλλά όταν γίνεται κλήση τους από άλλα σημεία του κώδικα. Μπορεί να τις τοποθετήσει ο προγραμματιστής σε οποιοδήποτε σημείο μιας προγραμματιστικής μονάδας και έχουν παρόμοια σύνταξη με τις υπορουτίνες διαχείρισης συμβάντων. Η γενική σύνταξη των οριζόμενων υπορουτινών έχει ως εξής: Sub όνομα_υπορουτίνας(παράμετρος1 As τύπος1, παράμετρος2 As τύπος2, ) εντολή_1 εντολή_2 : End Sub 3. Παράμετροι. Οι παράμετροι περιλαμβάνονται στις εντολές ορισμού των υπορουτινών (αλλά και των συναρτήσεων όπως θα δούμε παρακάτω), όπου ονομάζονται τυπικές μεταβλητές (formal variables). Μέσω των τυπικών μεταβλητών εισάγονται (μεταβιβάζονται) δεδομένα στις υπορουτίνες, αλλά και εξάγονται (λαμβάνονται) οι επεξεργασμένες τιμές. Οι μεταβλητές που χρησιμοποιούνται ως παράμετροι στην εντολή κλήσης μιας υπορουτίνας ονομάζονται πραγματικές μεταβλητές (actual variables). Η αντιστοίχιση των πραγματικών μεταβλητών με τις τυπικές μεταβλητές γίνεται μία προς μία. Παράδειγμα Η παρακάτω υπορουτίνα ανταλλάσσει (swap) το περιεχόμενο δύο μεταβλητών: Sub Swap (a As String, b As String) Dim Temp As String Temp = a a =b b = Temp End Sub Η κλήση της υπορουτίνας μέσα από το πρόγραμμα γίνεται ως εξής: : Swap x, y : Προσωρινή μεταβλητή Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 105

106 Οι μεταβλητές a και b που αναγράφονται στον ορισμό της υπορουτίνας είναι τυπικές μεταβλητές, ενώ οι μεταβλητές x και y που αναγράφονται στην κλήση της υπορουτίνας είναι πραγματικές μεταβλητές. Μπορούν να χρησιμοποιηθούν ίδια ονόματα για τις πραγματικές και τις τυπικές μεταβλητές αλλά καλό είναι να αποφεύγεται. 4. Τεχνική περάσματος τιμής (pass by value). Στην τεχνική περάσματος τιμής, η τιμή της σταθεράς, της μεταβλητής ή της παράστασης που γράφεται στη θέση της αντίστοιχης παραμέτρου στο σημείο κλήσης της υπορουτίνας, εισάγεται (μεταβιβάζεται) στην υπορουτίνα μέσω της αντίστοιχης τυπικής μεταβλητής. Για να εφαρμοστεί η συγκεκριμένη τεχνική θα πρέπει να υπάρχει η κωδική λέξη ByVal μπροστά από την τυπική μεταβλητή στην εντολή δήλωσης της υπορουτίνας. Να σημειωθεί όμως ότι κάθε αλλαγή στην τιμή της τυπικής μεταβλητής δεν προκαλεί αλλαγές στην τιμή της αντίστοιχης πραγματικής μεταβλητής που χρησιμοποιήθηκε σαν παράμετρος. Άρα, αυτή η τεχνική χρησιμοποιείται μόνο για την εισαγωγή δεδομένων σε μια υπορουτίνα. 5. Τεχνική περάσματος με αναφορά (pass by reference). Στην τεχνική περάσματος με αναφορά η μεταβλητή που αναγράφεται στην παράμετρο της εντολής κλήσης περνά στην υπορουτίνα. Άρα, ότι αλλαγές συμβούν στην τιμή της τυπικής μεταβλητής μέσα στην υπορουτίνα θα προκαλέσουν και αλλαγή της τιμής της αντίστοιχης πραγματικής μεταβλητής. Επομένως, αυτή η τεχνική μπορεί να χρησιμοποιηθεί και για την εξαγωγή (λήψη) τιμών από μια υπορουτίνα. Η τεχνική αυτή εφαρμόζεται όταν μπροστά από μια τυπική μεταβλητή υπάρχει η κωδική λέξη ByRef υπάρχει κωδική λέξη. ή δεν 6. Συναρτήσεις. Εκτός από τις οριζόμενες υπορουτίνες, υπάρχουν και οριζόμενες συναρτήσεις, δηλαδή συναρτήσεις που ορίζει ο προγραμματιστής και μοιάζουν αρκετά με τις υπορουτίνες. Η βασική διαφορά μεταξύ οριζόμενων υπορουτινών και οριζόμενων συναρτήσεων έγκειται στο ότι οι συναρτήσεις παίρνουν τιμή (όμοια με τις ενσωματωμένες συναρτήσεις), ενώ οι υπορουτίνες δεν παίρνουν τιμή (όμοια με τις ενσωματωμένες υπορουτίνες). Η γενική τους σύνταξη έχει ως εξής: Function Όνομα_Συνάρτησης(Παράμετρος1 As Τύπος1, Παράμετρος2 As Τύπος2, ) As Τύπος Εντολή-1 Εντολή-2 : Όνομα_Συνάρτησης = Τελική_Τιμή End Function 7. Έξοδος από υπορουτίνα ή συνάρτηση. Γίνεται με την εντολή Exit Sub για τις υπορουτίνες και την εντολή Exit Function για τις συναρτήσεις. Μπορεί να υπάρχουν μία ή περισσότερες εντολές Exit σε μια συνάρτηση ή υπορουτίνα. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 106

107 ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Άσκηση Οριζόμενη υπορουτίνα σε προγραμματιστική μονάδα φόρμας Α. Να δημιουργηθεί εφαρμογή με μία φόρμα, 2 πλαίσια κειμένου και ένα πλήκτρο διαταγής. Στην εφαρμογή να γραφεί μία οριζόμενη υπορουτίνα ώστε με το πάτημα του πλήκτρου διαταγής να γίνεται ανταλλαγή των τιμών που έχουν γραφεί στα πλαίσια κειμένου, εμφάνιση των νέων τιμών στα πλαίσια κειμένου και εκτύπωση των νέων αποτελεσμάτων πάνω στη φόρμα. Β. Να γίνει πέρασμα τιμής (pass by value) στις τυπικές μεταβλητές της υπορουτίνας Swap και να παρατηρηθούν τα αποτελέσματα εκτελώντας ξανά το πρόγραμμα. Λύση A. Δημιουργούμε τη φόρμα όπως φαίνεται στην παρακάτω εικόνα: Name aa bb Swap_Print Πληκτρολογούμε το παρακάτω πρόγραμμα για τις υπορουτίνες διαχείρισης συμβάντων Form_Load() και Swap_Print_Click() που αντιστοιχούν στη φόρτωση της φόρμας και το πλήκτρο διαταγής. Επίσης, πληκτρολογούμε τον κώδικα της οριζόμενης (ή γενικού σκοπού) υπορουτίνας Swap όπου χρησιμοποιείται η τεχνική περάσματος με αναφορά (pass by reference) για τις τυπικές μεταβλητές x και y αφού δεν υπάρχει καμία λέξη μπροστά από το όνομά τους. Ισοδύναμα, θα μπορούσαμε να προσθέσουμε την κωδική λέξη ByRef μπροστά από το όνομά τους. Private Sub Form_Load() Me.Show Me.Print "aa", "bb" End Sub Πρόγραμμα Private Sub Swap_Print_Click() Dim a As String, b As String a = aa 'Εκχώρηση του περιεχομένου του aa στη μεταβλητή a b = bb 'Εκχώρηση του περιεχομένου του bb στη μεταβλητή b Swap a, b 'Ανταλλαγή τιμών των a και b Me.Print a, b 'Εκτύπωση νέων τιμών aa = a 'Εκχώρηση της τιμής της μεταβλητής a στο TextBox aa bb = b 'Εκχώρηση της τιμής της μεταβλητής b στο TextBox bb End Sub ' Επιτρέπονται ίδιες ή διαφορετικές τυπικές από τις πραγματικές μεταβλητές Private Sub Swap(x As String, y As String) Dim Temp As String ' Προσωρινή (temporary) μεταβλητή Temp = x: x = y: y = Temp End Sub Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 107

108 Δεδομένα εισόδου Αποτελέσματα Δεδομένα εισόδου Αποτελέσματα aa = 1 bb = 2 aa = A bb = B B. Εισάγουμε την κωδική λέξη ByVal μπροστά από τα ονόματα των τυπικών μεταβλητών, και παρατηρούμε ότι ενώ οι τιμές των τυπικών μεταβλητών x και y αλλάζουν εσωτερικά της υπορουτίνας Swap, οι τιμές των πραγματικών μεταβλητών a και b δεν αλλάζουν. Δηλαδή τελικά δεν γίνεται καμία ανταλλαγή τιμών αφού η τεχνική περάσματος τιμής είναι μόνο για την εισαγωγή τιμών προς τις υπορουτίνες αλλά όχι και εξαγωγή τιμών προς το κύριο πρόγραμμα όπου καλούνται οι υπορουτίνες. Άσκηση Οριζόμενη υπορουτίνα σε βασική προγραμματιστική μονάδα Module Α. Σε κάθε αλγόριθμο υπάρχουν τρία βασικά τμήματα, το ένα αφορά την είσοδο των δεδομένων, το δεύτερο αφορά την επεξεργασία τους και το τρίτο αφορά την παρουσίαση των αποτελεσμάτων. Για κάθε ένα από αυτά τα τμήματα μπορούμε να γράψουμε και μια υπορουτίνα. Να δημιουργηθεί νέα εφαρμογή χωρίς φόρμα αλλά μόνο ένα Module τύπου Sub Main() πηγαίνοντας Μενού Project Add Module και έπειτα Μενού Project Project1 Properties και αλλαγή της τιμής του Startup Object σε Sub Main. Να γραφεί κώδικας που να περιλαμβάνει το κύριο πρόγραμμα σε δομή Sub Main() End Sub και κλήση τριών υπορουτινών ως εξής: 1. Υπορουτίνα Data για την εισαγωγή των τιμών δύο μεταβλητών. 2. Υπορουτίνα Swap για την ανταλλαγή τιμής των δύο μεταβλητών. 3. Υπορουτίνα Results για την εμφάνιση των ανταλλαγμένων τιμών των δύο μεταβλητών. Β. Στο κύριο μέρος του προγράμματος να γίνει κλήση για 2 η φορά των υπορουτινών Swap Results και να παρατηρηθούν τα αποτελέσματα. Γ. Στην υπορουτίνα Results και μετά το 1 ο MsgBox να γίνει κλήση της υπορουτίνας Swap και να εισαχθεί ένα 2 ο MsgBox. Λύση Α. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 108

109 Πρόγραμμα Sub Main() 'Δήλωση πραγματικών μεταβλητών aa και bb διαφορετικών από τις τυπικές Dim aa As String, bb As String Data aa, bb Κλήση της υπορουτίνας Data Swap aa, bb Κλήση της υπορουτίνας Swap Results aa, bb Κλήση της υπορουτίνας Results End Sub Sub Swap(a As String, b As String) Dim Temp As String ' Δήλωση προσωρινής μεταβλητής Temp = a: a = b: b = Temp ' Ανταλλαγή τιμών End Sub Sub Data(a As String, b As String) a = InputBox("a=") b = InputBox("b=") End Sub Sub Results(a As String, b As String) ' Ίδιες τυπικές μεταβλητές σε όλες τις υπορουτίνες MsgBox a & ", " & b ' Εμφάνισε τις τιμές των a, b End Sub Δεδομένα εισόδου Αποτελέσματα Δεδομένα εισόδου Αποτελέσματα a = A b = B a = 1 b = 2 Β. Προσθέτουμε τις επιπλέον εντολές κλήσης των υπορουτινών Swap και Results στο κύριο πρόγραμμα Sub Main() End Sub και το υπόλοιπο πρόγραμμα παραμένει ίδιο. Sub Main() Dim aa As String, bb As String Data aa, bb Swap aa, bb Results aa, bb End Sub Πρόγραμμα '1 η κλήση της υπορουτίνας Swap ' 1 η κλήση της υπορουτίνας Results ' 2 η κλήση της υπορουτίνας Swap ' 2 η κλήση της υπορουτίνας Results : : Δεδομένα εισόδου Αποτελέσματα Δεδομένα εισόδου Αποτελέσματα a = A b = B a = 1 b = 2 Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 109

110 Γ. Προσθέτουμε μία επιπλέον εντολή κλήσης της υπορουτίνας Swap μέσα στην υπορουτίνα Results και ένα ακόμη MsgBox. Tο υπόλοιπο πρόγραμμα παραμένει ίδιο με το πρόγραμμα της περίπτωσης Α. Πρόγραμμα : : Sub Results(a As String, b As String) ' Ίδιες τυπικές μεταβλητές σε όλες τις υπορουτίνες MsgBox a & ", " & b MsgBox a & ", " & b End Sub ' Εμφάνισε τις τιμές των a, b ' Η υπορουτίνα Swap μέσα στην υπορουτίνα Results Δεδομένα εισόδου Αποτελέσματα Δεδομένα εισόδου Αποτελέσματα a = A b = B a = 1 b = 2 Άσκηση Μετατροπή οριζόμενης συνάρτησης σε υπορουτίνα Α. Να γραφεί πρόγραμμα σε βασική προγραμματιστική μονάδα Module όπου να εισάγονται τα στοιχεία ενός μονοδιάστατου πίνακα Α και να υπολογίζεται ο μέσος όρος των στοιχείων του χρησιμοποιώντας μια οριζόμενη συνάρτηση a ve ra ge. Β. Να τροποποιηθεί το πρόγραμμα ώστε να χρησιμοποιεί μια οριζόμενη υπορουτίνα αντί για συνάρτηση. Α. Λύση Πρόγραμμα Α. Sub Main() Dim A() As Double, avg As Double, i As Long N = InputBox("ArrayDimension=") ReDim A(N) For i = 1 To N A(i) = InputBox("Element" & i) Next i avg = average(a, N) MsgBox "Average=" & avg End Sub Function average(a() As Double, ByVal N) As Double Dim Sum As Double, i As Long Sum = 0 For i = 1 To N Sum = Sum + A(i) ' Άθροισμα στοιχείων του πίνακα Next i average = Sum / N End Function Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 110

111 Δεδομένα εισόδου Αποτελέσματα Δεδομένα εισόδου Αποτελέσματα Ν= 3 Α = [ ] Ν= 5 Α = [ ] Πρόγραμμα Β. Παρατηρήσεις: 1. Για τη μεταβλητή Α του πίνακα γίνεται μεταβίβαση των τιμών του πίνακα στην υπορουτίνα υποχρεωτικά με πέρασμα αναφοράς. 2. Το μέγεθος του πίνακα μεταβιβάζεται στην υπορουτίνα, μέσω της μεταβλητής Ν, με πέρασμα τιμής αλλά θα μπορούσε να γίνει και πέρασμα με αναφορά. 3. Οι παρενθέσεις () μετά το όνομα του Πίνακα Α στη δήλωση των τυπικών μεταβλητών της συνάρτησης είναι υποχρεωτικές αλλά όχι κατά την κλήση της συνάρτησης (πραγματικές μεταβλητές). Το ίδιο ισχύει και για την περίπτωση υπορουτίνας. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 111

112 Άσκηση Ορισμός και κλήση συνάρτησης σε προγραμματιστική μονάδα Module και φόρμας Α. Να τροποποιηθεί το παρακάτω πρόγραμμα που υπολογίζει τον μεγαλύτερο αριθμό μεταξύ δύο 2 αριθμητικών ποσοτήτων ώστε να καλεί μία οριζόμενη συνάρτηση (Function) για τον υπολογισμό του μεγαλύτερου αριθμού. Sub Main() Dim a As Double, b As Double a = InputBox("a=") b = InputBox("b=") If a > b Then Max = a Else Max = b MsgBox "Max = " & Max End Sub Β. Να τροποποιηθεί η προηγούμενη εφαρμογή (κύριο μέρος του προγράμματος και οριζόμενη συνάρτηση Function) ώστε να υπολογίζει την μέγιστη μεταξύ 2 (συμβολοσειρών). αλφαριθμητικών ποσοτήτων Γ. Με το παρακάτω τμήμα κώδικα γίνεται μετατροπή ενός ακεραίου αριθμού De c στον αντίστοιχο δυαδικό αριθμό B inary. Να δημιουργηθεί εφαρμογή με μία φόρμα, δύο πλαίσια κειμένου και ένα πλήκτρο διαταγής στην οποία να εισάγεται ένας ακέραιος αριθμός στο ένα πλαίσιο κειμένου και στο άλλο πλαίσιο κειμένου να εμφανίζεται ο αντίστοιχος δυαδικός αριθμός μετά από το πάτημα του πλήκτρου διαταγής. Να γραφεί κατάλληλη συνάρτηση (Function) με όνομα D e c2bin η οποία να καλείται μέσα στο σώμα του κώδικα για το πλήκτρο διαταγής που να εκτελεί τη μετατροπή. Dim N As Long Dim Y As Long N = CLng(Dec) Binary = " " Do Y = N Mod 2 N = N \ 2 Το πηλίκο στη θέση του Ν (ακέραια διαίρεση \ ) Binary = Y & Binary Τα διαδοχικά υπόλοιπα στα αριστερά Loop Until N = 0 Αν το πηλίκο είναι 0, τερμάτισε Α. Λύση Πρόγραμμα Sub Main() ' Ίδιες ή διαφορετικές πραγματικές από τις τυπικές μεταβλητές Dim a As Double, b As Double a = InputBox("a=") b = InputBox("b=") Max_ab = Max(a, b) 'Κλήση της Max() και εκχώρηση του αποτελέσματος στη μεταβλητή Max_ab MsgBox "Max= " & Max_ab End Sub Function Max(a As Double, b As Double) As Double If a > b Then Max = a Else Max = b End Sub Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 112

113 Δεδομένα εισόδου Αποτελέσματα Δεδομένα εισόδου Αποτελέσματα a = 1 b = 2 a = -2 b = -3 Β. Sub Main() Πρόγραμμα End Sub Function End Sub Δεδομένα εισόδου Αποτελέσματα Δεδομένα εισόδου Αποτελέσματα a = c b = d a = f b = F Γ. Δημιουργούμε τη φόρμα και δίνουμε ονόματα στα αντικείμενα ελέγχου όπως δείχνει η παρακάτω εικόνα: Name Decimal Binary Convert Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 113

114 Private Sub Convert_Click() Πρόγραμμα End Sub Function End Function Αποτελέσματα Εργασία για παράδοση (Εργαστηριακή Άσκηση 11) Να παραδώσετε την συγκεκριμένη εργασία μέχρι την έναρξη εκτέλεσης της επόμενης εργαστηριακής άσκησης στην Εργαστηριακή Ομάδα που ανήκετε: 1. Τι είναι οι υπορουτίνες γενικού σκοπού ; Ποιο άλλο είδος υπορουτινών υπάρχει ; Τι είναι οι τυπικές και τι οι πραγματικές μεταβλητές των υπορουτινών γενικού σκοπού ; 2. Ποιες τεχνικές χρησιμοποιούνται για τη μεταβίβαση και την ανταλλαγή δεδομένων από και προς τις υπορουτίνες και τις συναρτήσεις που ορίζει ένας χρήστης ; Ποιες οι διαφορές τους ; 3. Ποιες οι διαφορές μεταξύ οριζόμενων υπορουτινών και συναρτήσεων ; 4. Να χρησιμοποιηθεί τμηματικός προγραμματισμός για να υλοποιηθεί το παρακάτω πρόγραμμα που υπολογίζει τον μεγαλύτερο και τον μικρότερο αριθμό μεταξύ δύο 2 αριθμητικών ποσοτήτων. Επίσης, για το τμήμα εντολής της δομής επιλογής If.Then να οριστεί και να γίνει κλήση μιας υπορουτίνας Swap για την ανταλλαγή τιμών. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 114

115 Sub Main() Min = InputBox("Min=") Max = InputBox("Max=") If Min > Max Then Temp = Max: Max = Min: Min = Temp MsgBox "Max=" & Max & vbcrlf & "Min=" Min End Sub 5. Να χρησιμοποιηθεί τμηματικός προγραμματισμός για να υλοποιηθεί μια εφαρμογή φόρμας που μετατρέπει έναν δυαδικό αριθμό σε ακέραιο. Δίνεται η φόρμα με τα αντικείμενα ελέγχου καθώς και το τμήμα προγράμματος για το πλήκτρο διαταγής. Name BinNumber DecNumber Convert P r i v a t e S u b C o n v e r t _ C l i c k ( ) D i m B i n N u m A s S t r i n g, D e c N u m A s L o n g D i m P o w e r A s I n t e g e r, i A s I n t e g e r, D i g i t A s I n t e g e r B i n N u m = B i n N u m b e r D e c N u m = 0 P o w e r = 0 F o r i = L e n ( B i n N u m ) To 1 S t e p - 1 Αρχή από το τελυταίο γινόμενο D i g i t = C I n t ( M i d ( B i n N u m, i, 1 ) ) Απομόνωση ψηφίου D e c N u m = D i g i t * 2 ^ P o w e r + D e c N u m Υπολόγισε μερικό άθροισμα P o w e r = P o w e r + 1 Επόμενος εκθέτης N e x t i DecNumber = D e c N u m E n d S u b Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 115

116 Διαχείριση αρχείων και φακέλων ΠΕΡΙΛΗΨΗ ΘΕΩΡΙΑΣ 1. Εντολές και συναρτήσεις διαχείρισης φακέλων. Η δημιουργία, η μετονομασία, η διαγραφή φακέλων και γενικά κάθε μορφής διαχείριση μπορεί να γίνει και με πρόγραμμα σε Visual Basic με εντολές και συναρτήσεις. Π.χ. για τη δημιουργία φακέλου χρησιμοποιείται η παρακάτω εντολή όπου η παράμετρος όνομα_φακέλου είναι αλφαριθμητική σταθερά, μεταβλητή ή παράσταση, της οποίας η τιμή καθορίζει το όνομα του νέου φακέλου MkDir όνομα_φακέλου 2. Εντολές και συναρτήσεις διαχείρισης αρχείων. Η Visual Basic μας προσφέρει τη δυνατότητα μετονομασίας, αντιγραφής και διαγραφής ενός αρχείου από το δίσκο με εντολές και συναρτήσεις. Π.χ. η διαγραφή ενός αρχείου γίνεται με την παρακάτω εντολή όπου η παράμετρος όνομα_αρχείου είναι μια αλφαριθμητική σταθερά ή μεταβλητή ή παράσταση που προσδιορίζει το αρχείο ή τα αρχεία που θα διαγραφούν Kill όνομα_αρχείου 3. Σειριακά αρχεία. Τα σειριακά αρχεία αποτελούνται από μια σειρά γραμμών κειμένου και γι αυτό ονομάζονται συχνά και αρχεία κειμένου (text files). Κάθε γραμμή του αρχείου περιλαμβάνει (αυτόματα) χαρακτήρες αλλαγής γραμμής που αντιστοιχούν στη σταθερά vbcrlf και κάθε γραμμή του αρχείου αποκαλείται συχνά εγγραφή (record). Ως σειριακά αρχεία θεωρούνται και οριοθετημένα αρχεία (delimited files) όπου κάθε γραμμή περιέχει δεδομένα τα οποία χωρίζονται μεταξύ τους με κόμματα (,). Τα δεδομένα μπορεί να είναι αριθμοί ή αλφαριθμητικά στοιχεία (συμβολοσειρές) αλλά τα αλφαριθμητικά στοιχεία που περιέχουν κενά διαστήματα περικλείονται μέσα σε εισαγωγικά. 4. Εντολή Open. Χρησιμοποιείται για το άνοιγμα ενός αρχείου. Η συγκεκριμένη εντολή προετοιμάζει το αρχείο ανάλογα με το είδος της επεξεργασίας (ανάγνωση ή εγγραφή) και συντάσσεται ανάλογα με την περίπτωση και χρησιμοποιείται τόσο για τα σειριακά όσο και για τα αρχεία τυχαίας προσπέλασης. Η γενική της σύνταξη έχει ως εξής: Open όνομα_αρχείου For τύπος_πρόσβασης As αριθμός_αρχείου Το όνομα_αρχείου είναι αλφαριθμητική σταθερά, μεταβλητή ή παράσταση που καθορίζει το όνομα του αρχείου στο υπολογιστικό σύστημα. Ο τύπος_πρόσβασης δεν είναι παράμετρος αλλά κωδική λέξη και στην περίπτωση των σειριακών αρχείων είναι μία από τις κωδικές λέξεις Input, Output και Append. Ο αριθμός_αρχείου είναι ένας ακέραιος αριθμός μεταξύ 1 και 511 που χρησιμοποιείται για τον προσδιορισμό του αρχείου από τις εντολές ανάγνωσης, εγγραφής ή κλεισίματος του αρχείου. Με τον τύπο πρόσβασης Output (έξοδο) στην εντολή Open γράφουμε δεδομένα σε ένα αρχείο. Αν το αρχείο δεν υπάρχει, δημιουργείται ένα κενό αρχείο. Αν το αρχείο υπάρχει, διαγράφονται όλα τα ήδη υπάρχοντα δεδομένα. Με τον τύπο πρόσβασης Append (προσθήκη) γράφουμε δεδομένα σε ένα αρχείο. Οι εγγραφές που υπάρχουν σε ένα αρχείο δε χάνονται και γίνεται επαύξηση του περιεχομένου του με νέες εγγραφές. Με τον τύπο πρόσβασης Input (είσοδος) διαβάζουμε δεδομένα από ένα σειριακό αρχείο και η ανάγνωση αρχίζει από την πρώτη εγγραφή του αρχείου και προχωράει εγγραφή προς εγγραφή. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 116 τα

117 5. Συνάρτηση FreeFile. Σε ένα πρόγραμμα μπορούμε να έχουμε πολλά αρχεία ταυτόχρονα ανοιχτά, αρκεί σε κάθε αρχείο να εκχωρούμε ένα διαφορετικό (μοναδικό) αριθμό_αρχείου. Χρησιμοποιώντας τη συνάρτηση FreeFile είναι εξασφαλισμένο ότι ο αριθμός αρχείου που θα επιστρέψει ως τιμή, δε χρησιμοποιείται από άλλο αρχείο 6. Εντολή Close. Χρησιμοποιείται για το κλείσιμο των ανοιχτών αρχείων. Close # αριθμός_αρχείου1, αριθμός_αρχείου2, Η αναφορά των αριθμών_αρχείων είναι προαιρετική αλλά, αν συντάξουμε την εντολή Close χωρίς παραμέτρους, τότε κλείνουν όλα τα ανοιχτά αρχεία. 7. Εντολή Print #. Χρησιμοποιείται για να γράψουμε δεδομένα σε ένα σειριακό αρχείο. Print # αριθμός_αρχείου, παράμετρος1, παράμετρος2, Ο αριθμός_αρχείου είναι ο αριθμός του αρχείου με τον οποίο έχουμε συνδέσει το αρχείο και παράμετρος1, παράμετρος2, μια σειρά σταθερών, μεταβλητών ή παραστάσεων των οποίων τις τιμές θέλουμε να αποθηκεύσουμε στο αρχείο. 8. Εντολή Write #. Χρησιμοποιείται για να γράψουμε σε οριοθετημένο αρχείο. Έχει παρόμοια σύνταξη με την εντολή Print # και καταχωρεί τα δεδομένα διαχωρισμένα με κόμμα (,), περικλείει τα αλφαριθμητικά δεδομένα σε εισαγωγικά και γράφει τις ημερομηνίες μεταξύ συμβόλων. Write # αριθμός_αρχείου, παράμετρος1, παράμετρος2, 9. Εντολή Line Input #. Είναι η πιο απλή εντολή για τη σειριακή ανάγνωση από ένα αρχείο. Line Input # αριθμός_αρχείου, μεταβλητή Η μεταβλητή πρέπει να είναι αλφαριθμητικού τύπου και η τιμή της, μετά την εκτέλεση της εντολής, είναι το περιεχόμενο της εγγραφής (γραμμής) που διαβάστηκε αλλά η εντολή δεν κάνει διάκριση των δεδομένων που περιέχονται μέσα στην εγγραφή. 10. Συνάρτηση EOF. Μετά το άνοιγμα του αρχείου, η 1 η εντολή Line Input # διαβάζει την 1 η εγγραφή του αρχείου, η 2 η εντολή τη 2 η εγγραφή κ.ο.κ. Αν επιχειρήσουμε να διαβάσουμε έξω από το αρχείο, προκαλείται διακοπή του προγράμματος και εμφάνιση μηνύματος λάθους. Για να αποφύγουμε τη διακοπή του προγράμματος από ένα τέτοιο λόγο, πρέπει να κάνουμε έλεγχο πριν από κάθε εντολή ανάγνωσης ώστε να διαπιστώσουμε αν έχουμε φτάσει στο τέλος του αρχείου. Ο έλεγχος αυτός γίνεται με τη συνάρτηση EOF (End Of File) που δέχεται ως παράμετρο τον αριθμό_αρχείου. 11. Εντολή Input #. Χρησιμοποιείται για ανάγνωση δεδομένων από οριοθετημένο αρχείο. Input # αριθμός_αρχείου, μεταβλητή1, μεταβλητή2, Οι παράμετροι μεταβλητή1, μεταβλητή2, είναι αριθμητικές ή και αλφαριθμητικές μεταβλητές και κατά την εκτέλεση της εντολής λαμβάνουν ως τιμές τις τιμές των αντίστοιχων πεδίων της εγγραφής. Πρέπει υποχρεωτικά να είναι διακριτά τα όρια των πεδίων και σύμφωνα με τον τρόπο που τα δημιουργεί η εντολή Write #. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 117

118 ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ Άσκηση Εγγραφή δεδομένων σε σειριακό αρχείο Δημιουργία φακέλου και αρχείου Να δημιουργηθεί εφαρμογή για καταχώρηση σε αρχείο των στοιχείων και των βαθμών των σπουδαστών σε τέσσερα μαθήματα. Συγκεκριμένα, τα πεδία καταχώρησης να είναι το Επώνυμο (SurName), το Όνομα (First Name), το Εξάμηνο (Semester), ο Αριθμός Μητρώου (Register Number) και οι βαθμοί στα μαθήματα ΗΥ1(Θ), ΗΥ1(Ε), ΗΥ2(Θ) και ΗΥ2(Ε). Το αρχείο να ονομάζεται Grades, να είναι τύπου text (.txt) και να αποθηκευτεί στον φάκελο C:\VB του υπολογιστή. Λύση Πάνω σε μία φόρμα τοποθετούμε πλαίσια κειμένου, ένα για κάθε πεδίο καταχώρησης, και δύο πλήκτρα διαταγής. Αφού καταχωρήσουμε τα δεδομένα για ένα σπουδαστή, πατάμε το πλήκτρο Next για να καταχωρηθεί η εγγραφή στο αρχείο Grades.txt. Αφού καταχωρήσουμε τα στοιχεία όλων των σπουδαστών και τους αντίστοιχους βαθμούς, πατάμε το πλήκτρο Exit για τερματισμό το προγράμματος. Η φόρμα με τα αντικείμενα ελέγχου και το όνομα (ιδιότητα Name) κάθε αντικειμένου, φαίνονται στην ακόλουθη εικόνα: Name SurName FirstName Semester RegisterNo GradeA GradeB GradeC GradeD Next Exit Πληκτρολογούμε τον ακόλουθο κώδικα για τη φόρμα και τα πλήκτρα διαταγής: Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 118

119 Option Explicit Καθολικές μεταβλητές Dim FileNo As Integer Dim FileRec As String Private Sub Form_Load() Αν δεν υπάρχει ο φάκελος, δημιούργησέ τον If Dir("C:\VB", vbdirectory) = "" Then MkDir "C:\VB" Άνοιξε το αρχείο για προσθήκη στοιχείων FileNo = FreeFile Open "C:\VB\Grades.txt" For Append As FileNo End Sub Private Sub Next_Click() Δημιούργησε την εγγραφή πεδίο-πεδίο FileRec = Left(SurName & Space(15), 15) FileRec = FileRec & Left(FirstName & Space(10), 10) FileRec = FileRec & Left(Semester & Space(4), 4) FileRec = FileRec & Left(RegisterNo & Space(7), 7) FileRec = FileRec & Right(Space(5) & GradeA, 5) FileRec = FileRec & Right(Space(5) & GradeB, 5) FileRec = FileRec & Right(Space(5) & GradeC, 5) FileRec = FileRec & Right(Space(5) & GradeD, 5) Print #FileNo, FileRec Καθάρισε τα πεδία SurName = "" FirstName = "" Semester = "" RegisterNo = "" GradeA = "" GradeB = "" GradeC = "" GradeD = "" End Sub Private Sub Exit_Click() Κλείσε το αρχείο Close Ξεφόρτωσε τη φόρμα Unload Me End Sub Εκτελούμε το πρόγραμμα και καταχωρούμε στα αντίστοιχα πεδία τα στοιχεία σπουδαστών και τους βαθμούς στα 4 μαθήματα. Μετά από την ολοκλήρωση της καταχώρησης όλων των στοιχείων για ένα σπουδαστή, πατάμε το πλήκτρο Next. Για παράδειγμα, προκειμένου να φαίνεται στο αρχείο το όνομα κάθε πεδίου, μπορούμε να κάνουμε τις ακόλουθες εγγραφές: Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 119

120 Μετά την καταχώρηση των τριών εγγραφών, πατάμε το πλήκτρο Exit, οπότε τερματίζεται το πρόγραμμα. Αναζητούμε το αρχείο Grades.txt στον φάκελο C:\VB του υπολογιστή. Ανοίγουμε το αρχείο και το αποτέλεσμα της εγγραφής των παραπάνω δεδομένων στο αρχείο θα είναι όπως στην ακόλουθη εικόνα (αν δεν έχουν γίνει εγγραφές από προηγούμενη εκτέλεση της εφαρμογής): Επεξήγηση κώδικα: Όταν φορτώνεται η φόρμα, ανιχνεύεται αν υπάρχει ο φάκελος του αρχείου και αν ο φάκελος δεν υπάρχει, δημιουργείται. Στη συνέχεια ανοίγεται και το αρχείο που παραμένει ανοιχτό συνεχώς, μέχρι ο χρήστης να πατήσει το πλήκτρο Exit. Για τη σύνθεση της εγγραφής πεδίο προς πεδίο, στα στοιχισμένα στα αριστερά πεδία (π.χ. αλφαριθμητικά πεδία) τοποθετούνται κενά διαστήματα στα δεξιά και λαμβάνεται το αριστερό τμήμα με μέγεθος ίσο με το μέγεθος του πεδίου. Το αντίθετο συμβαίνει για τα στοιχισμένα στα δεξιά πεδία (π.χ. αριθμητικά πεδία). Τέλος, κάθε φορά που εκτελείται η εφαρμογή και καταχωρούνται νέα στοιχεία, αυτά τοποθετούνται στο τέλος του αρχείου κάτω από τις προηγούμενες εγγραφές. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 120

121 Άσκηση Ανάγνωση δεδομένων από σειριακό αρχείο Διαγραφή αρχείου Να τροποποιηθεί η φόρμα της προηγούμενης εφαρμογής ώστε να διαβάζονται τα δεδομένα από το αρχείο Grades.txt και να παρουσιάζονται στα αντίστοιχα πεδία της φόρμας ένα προς ένα πατώντας το πλήκτρο Next. Επίσης, όταν φορτώνεται η φόρμα, να γίνεται έλεγχος αν υπάρχει το αρχείο Grades.txt στη διεύθυνση C:\VB και αν δεν υπάρχει, να γίνεται διακοπή του προγράμματος. Τέλος, μετά το τέλος της ανάγνωσης όλων των εγγραφών του αρχείου, να τερματίζεται η εφαρμογή και να διαγράφεται το αρχείο Grades.txt πατώντας το πλήκτρο Exit. Λύση Διατηρώντας την προηγούμενη φόρμα, αλλάζουμε τον κώδικα ως εξής: Option Explicit Καθολικές μεταβλητές Dim FileNo As Integer Dim FileRec As String Private Sub Form_Load() Αν δεν υπάρχει το αρχείο, διέκοψε το πρόγραμμα If Dir("C:\VB\Grades.txt", vbdirectory) = "" Then MsgBox "Το αρχείο δεν υπάρχει!!!", vbcritical, "Αναφορά λάθους" Unload Me Else Άνοιξε το αρχείο για ανάγνωση στοιχείων FileNo = FreeFile Open "C:\VB\Grades.txt" For Input As FileNo End If End Sub Private Sub Next_Click() Διάβασε την εγγραφή και απομόνωσε τα πεδία If Not EOF(FileNo) Then Line Input #FileNo, FileRec SurName = Mid(FileRec, 1, 15) FirstName = Mid(FileRec, 16, 10) Semester = Mid(FileRec, 26, 4) RegisterNo = Mid(FileRec, 30, 7) GradeA = Mid(FileRec, 37, 5) GradeB = Mid(FileRec, 42, 5) GradeC = Mid(FileRec, 47, 5) GradeD = Mid(FileRec, 52, 5) Else MsgBox "Τέλος αρχείου", vbexclamation, "Αναφορά τέλους" End If End Sub Private Sub Exit_Click() Κλείσε το αρχείο, διέγραψέ το και εμφάνισε μήνυμα, ξεφόρτωσε τη φόρμα Close Kill "C:\VB\Grades.txt": MsgBox "File deleted!!!" Unload Me End Sub Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 121

122 Εκτελούμε το πρόγραμμα. Αν δεν υπάρχει το αρχείο Grades.txt στη διεύθυνση C:\VB, θα εμφανιστεί στην οθόνη το ακόλουθο μήνυμα και πατώντας ΟΚ θα τερματιστεί το πρόγραμμα: Αν το αρχείο υπάρχει, θα εμφανιστεί η φόρμα και πατώντας το πλήκτρο Next, θα εμφανιστούν μίαπρος μία οι εγγραφές που υπάρχουν στο αρχείο. Όταν θα τελειώσουν οι εγγραφές, θα εμφανιστεί το ακόλουθο μήνυμα: Πατώντας ΟΚ και έπειτα το πλήκτρο Exit από τη φόρμα, το αρχείο Grades.txt διαγράφεται και εμφανίζεται το μήνυμα: Πατώντας ΟΚ, το πρόγραμμα τερματίζεται. Τέλος, μπορούμε να ελέγξουμε ότι το αρχείο Grades.txt έχει διαγραφεί από τη διεύθυνση C:\VB. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 122

123 Εργασία για παράδοση (Εργαστηριακή Άσκηση 12) Να παραδώσετε την συγκεκριμένη εργασία μέχρι την έναρξη εκτέλεσης της επόμενης εργαστηριακής άσκησης στην Εργαστηριακή Ομάδα που ανήκετε: 1. Ποια η λειτουργία των εντολών MkDir, Kill και της συνάρτησης Dir ; Τι δηλώνει η σταθερά vbdirectory και τι εξασφαλίζει η συνάρτηση FreeFile ; 2. Ποια η λειτουργία και η γενική σύνταξη της εντολής Open και τι δηλώνουν οι κωδικές λέξεις Input, Output και Append ; Τι θα συνέβαινε αν στο πρώτο παράδειγμα (εγγραφή σε αρχείο) χρησιμοποιούσαμε ως τύπο πρόσβασης το Output αντί για Append στην εντολή Open ; 3. Ποια η λειτουργία των αλφαριθμητικών συναρτήσεων Left και Space ; Τι δηλώνει ο χαρακτήρας & μεταξύ συμβολοσειρών ; 4. Ποια η λειτουργία των συναρτήσεων EOF και Line Input ; 5. Ποια η λειτουργία του χαρακτήρα : μετά την εντολή Kill στο δεύτερο παράδειγμα (ανάγνωση από αρχείο) ; Πόσα κενά αφήνουμε πριν και πόσα μετά από αυτόν τον χαρακτήρα στον κώδικα ; Να αναφέρετε επίσης σε ποια άλλη περίπτωση (με διαφορετική όμως λειτουργία) έχουμε χρησιμοποιήσει τον χαρακτήρα αυτόν και αν χρησιμοποιούμε κενά πριν από τον χαρακτήρα αυτόν στην περίπτωση αυτή. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 123

124 Προχωρημένες εφαρμογές Άσκηση Χρονική καθυστέρηση (Timer) - Υπορουτίνα Doevents Να δημιουργηθεί μία φόρμα με 2 πλαίσια κειμένου με ονόματα D e l ay και Display και 1 πλήκτρο με όνομα F i r e. Το πρόγραμμα να προκαλεί μια χρονική καθυστέρηση διάρκειας D e lay δευτερολέπτων τουλάχιστον και μέσα σε αυτό το χρονικό διάστημα να παρουσιάζει το πλήθος των δευτερολέπτων που έχουν περάσει από τα μεσάνυχτα μέσα στο πλαίσιο κειμένου D isp la y. Υπόδειξη: Να χρησιμοποιηθεί η συνάρτηση T imer και η υπορουτίνα διαχείρισης συμβάντων D oevents. Εκτέλεση της Άσκησης H τιμή της συνάρτησης T imer ενημερώνεται από το υπολογιστικό σύστημα και ισούται με το πλήθος των δευτερολέπτων που έχουν περάσει από τα μεσάνυχτα. Στην πρώτη εντολή λαμβάνεται η έναρξη του χρόνου μέτρησης. Η τιμή της αποθηκεύεται στη μεταβλητή S tart. Στη συνθήκη του βρόχου, υπολογίζεται σε κάθε κύκλο η διαφορά των δευτερολέπτων που έχουν περάσει από την είσοδο στο βρόχο και ελέγχεται αν αυτή η διαφορά είναι μεγαλύτερη από την τιμή της μεταβλητής D e l a y. Τη στιγμή που εκτελείται ένας βρόχος, δεν εκτελούνται οι διαδικασίες των συμβάντων που προκύπτουν και κατά συνέπεια και ενημέρωση της οθόνης. Το πρόγραμμα μένει εγκλωβισμένο στο βρόχο μέχρι τη στιγμή του τερματισμού του. Η υπορουτίνα D oevents είναι μια υπορουτίνα της Visual Basic. Η υπορουτίνα D o E vents επιτρέπει την εκτέλεση, παράλληλα με το βρόχο, και άλλων υπορουτινών διαχείρισης συμβάντων. Δημιουργούμε τη φόρμα και αλλάζουμε τις ιδιότητες σύμφωνα με την παρακάτω εικόνα: Name Delay Display Fire Πληκτρολογούμε τον παρακάτω κώδικα για τo πλήκτρο διαταγής F i r e : P r i v a t e S u b F i r e _ C l i c k ( ) D i m S t a r t A s D o u b l e S t a r t = T i m e r Αρχή μέτρησης χρόνου Do U n t i l T i m er S t a r t > D e l a y Στιγμή - Αρχή > Καθυστέρηση? D i s p l a y = T i m e r D o E v e n t s Loop E n d S u b Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 124

125 Για να παρατηρηθεί η λειτουργία της συνάρτησης T imer και της υπορουτίνας D o E vents εκτελούμε το πρόγραμμα με τα ακόλουθα βήματα: Ενέργειες - Βήματα Αποτελέσματα 1. Εκτελούμε το πρόγραμμα (R un ) και δίνουμε μια τιμή στην καθυστέρηση (πλαίσιο κειμένου De la y) π.χ Πατάμε το πλήκτρο F i r e και παρατηρούμε τα δευτερόλεπτα που «τρέχουν». 3. Σε 5 δευτερόλεπτα, οι τιμές σταματούν να τρέχουν (παρατηρήστε την αρχική και την τελική τιμή των δευτερολέπτων μέσα στο πλαίσιο κειμένου D i splay) 4. Πατάμε ξανά το πλήκτρο F i r e και όσο «τρέχουν» τα δευτερόλεπτα, προσπαθούμε να μετακινήσουμε το παράθυρο της εφαρμογής. Παρατηρούμε ότι τα δευτερόλεπτα «παγώνουν» όσο μετακινούμε το παράθυρο και συνεχίζουν να «τρέχουν» από όταν το αφήνουμε. 5. Αφού σταματήσουν να τρέχουν τα δευτερόλεπτα, πατάμε το πλήκτρο F i r e και το πατάμε ξανά άλλες δύο φορές με διαστήματα του 1 sec. Παρατηρούμε ότι η τελική τιμή δεν είναι 5 secs μεγαλύτερη από την αρχική τιμή, αλλά μερικά secs μεγαλύτερη. Αυτό σημαίνει ότι κάθε επιπλέον φορά που πατήσαμε το πλήκτρο F i r e, ο βρόχος εκτελέστηκε ξανά λόγω της ύπαρξης της υπορουτίνας D oevents. 6. Πατάμε το πλήκτρο F i r e ξανά και αφού αρχίσουν να τρέχουν το δευτερόλεπτα να «τρέχουν», δοκιμάζουμε να τεραμτίσουμε την εκτέλεση του προγράμματος. Παρατηρούμε ότι αυτό γίνεται, παρ όλο που ο βρόχος δεν έχει ολοκληρωθεί, εξαιτίας της ύπαρξης της υπορουτίνας D oevents. 7. Αφαιρούμε την υπορουτίνα D o E vents από τον κώδικα του προγράμματος και εκτελούμε (Run) ξανά το πρόγραμμα. 8. Πατάμε το πλήκτρο F i re και παρατηρούμε ότι τα δευτερόλεπτα δεν εμφανίζονται να «τρέχουν» μέσα στο πλαίσιο κειμένου D i s play αλλά μόνο όταν τερματιστεί ο βρόχος. 9. Πατάμε ξανά το πλήκτρο F i r e και δοκιμάζουμε να Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 125

126 μετακινήσουμε το παράθυρο της εφαρμογής. Παρατηρούμε ότι αυτό δεν γίνεται. 10. Δοκιμάζουμε να τερματίσουμε την εκτέλεση του προγράμματος αμέσως μόλις πατήσαμε το πλήκτρο F ire και πριν εμφανιστούν τα δευτερόλεπτα. Παρατηρούμε ότι κάτι τέτοιο δεν γίνεται πριν τερματιστεί ο βρόχος. Άσκηση Κίνηση αντικειμένου Σε μια φόρμα τοποθετούμε στα αριστερά ένα αντικείμενο ελέγχου εικόνας με όνομα Spacecraft και με τη βοήθεια της ιδιότητας Picture επιλέγουμε να απεικονίζει ένα διαστημόπλοιο (Αρχείο: C:\Program Files\Microsoft Visual Studio\Common\Graphics\Icons\ Industry\ROCKET.ICO). Α. Να δημιουργηθεί πρόγραμμα στο οποίο το πάτημα ενός πλήκτρου διαταγής, να κινεί το διαστημόπλοιο από το κάτω άκρο της φόρμας στο πάνω. Β. Το πάτημα του πλήκτρου διαταγής, να κινεί το διαστημόπλοιο αντίστροφα, δηλαδή από το πάνω άκρο της φόρμας στο κάτω. Γ. Το πάτημα του πλήκτρου διαταγής, να κινεί το διαστημόπλοιο από το αριστερό άκρο της φόρμας στο δεξιό. Λύση Α. Δημιουργούμε μια φόρμα με ένα πλαίσιο κειμένου, ένα πλήκτρο διαταγής και ένα αντικείμενο εικόνα (Image) το οποίο απεικονίζει ένα διαστημόπλοιο (ιδιότητα Picture, αρχείο : C:\Program Files\Microsoft Visual Studio\Common\Graphics\Icons\Industry\ROCKET.ICO) και το τοποθετούμε στην κάτω πλευρά της φόρμας. Δίνουμε ονόματα στα αντικείμενα ελέγχου όπως φαίνεται στην παρακάτω εικόνα: Display MoveUp Spacecraft Name Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 126

127 Ο κώδικας του προγράμματος για το πλήκτρο διαταγής MoveUp είναι: P r i v a t e S u b M o v e U p _ C l i c k () D i m y S t a r t As L o n g Αρχική θέση διαστημόπλοιου D i m y E n d As L o n g Τελική θέση διαστημόπλοιου D i m y S t e p As L o n g Βήμα μετακίνησης D i m y As L o n g Μεταβλητή βρόχου D i m t S t a r t M o v e As D o u b l e Αρχή μετακίνησης D i m t S t a r t D e l a y A s D o u b l e Αρχή μέτρησης χρόνου Αρχικοποίηση μεταβλητών y S t a r t = 0 y E n d = M e. H e i g h t S p a c e c r a f t. H e i g h t y S t e p = ( y E n d y S t a r t ) / Πτήση σε 100 βήματα t S t a r t M o v e = T i m e r F o r y = y E n d To y S t a r t S t e p - y S t e p S p a c e c r a f t. T o p = y Χρονική καθυστέρηση 0.05 sec t S t a r t D e l a y = T i m e r D o W h i l e T i m e r t S t a r t D e l a y < D i s p l a y = T i m e r t S t a r t M o v e D o E v e n t s L o o p N e x t y E n d S u b Επεξήγηση κώδικα: Αρχικά υπολογίζονται οι παράμετροι του βρόχου (y Start, yend, ystep) και λαμβάνεται ο χρόνος έναρξης της πτήσης (tstart Mo ve ). Στο εσωτερικό του βρόχου γίνεται η μετατόπιση του διαστημόπλοιου στη νέα του θέση (S pace c raft.top = y) με χρονική καθυστέρηση ώστε να φανεί φυσική η κίνηση του διαστημόπλοιου. Εκτέλεση εφαρμογής: Εκτελούμε το πρόγραμμα και πατάμε το πλήκτρο M o veup. Παρατηρούμε την κίνηση του διαστημόπλοιου από την κάτω πλευρά της φόρμας προς την άνω. Αν δοκιμάσουμε να μετακινήσουμε το παράθυρο της εφαρμογής ή να τερματίσουμε το πρόγραμμα πριν να φτάσει το διαστημόπλοιο στην άνω πλευρά, θα διαπιστώσουμε ότι μας επιτρέπονται τέτοιες ενέργειες λόγω της υπορουτίνας D oeve nts. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 127

128 Β. Τοποθετούμε το διαστημόπλοιο στο πάνω άκρο της φόρμας και αλλάζουμε μόνο τον κώδικα με γκρι σκίαση από το προηγούμενο πρόγραμμα Α. Πρόγραμμα y S t a r t = 0 y E n d = M e. H e i g h t S p a c e c r a f t. H e i g h t y S t e p = ( y E n d y S t a r t ) / Πτήση σε 100 βήματα t S t a r t M o v e = T i m e r F o r y = y E n d T o y S t a r t S t e p y S t e p S p a c e c r a f t. T o p = y Αποτελέσματα Γ. Τοποθετούμε το διαστημόπλοιο στο αριστερό άκρο της φόρμας και αλλάζουμε μόνο τον κώδικα με γκρι σκίαση από το πρόγραμμα Α. Πρόγραμμα y S t a r t = 0 y E n d = M e. W i d t h S p a c e c r a f t. W i d t h y S t e p = ( y E n d y S t a r t ) / Πτήση σε 100 βήματα t S t a r t M o v e = T i m e r F o r y = y S t a r t T o y E n d S t e p y S t e p S p a c e c r a f t. L e f t = y Αποτελέσματα Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 128

129 Άσκηση Αναστροφή εικόνας - Δισδιάστατοι πίνακες Να δημιουργηθεί μια φόρμα με ένα πλήκτρο διαταγής με όνομα I n ve r t και ένα πλαίσιο εικόνας (PictureBox) με όνομα Satedish στο οποίο να τοποθετηθεί μια εικόνα (ιδιότητα Picture) από το αρχείο που βρίσκεται στην διεύθυνση: C:\Program Files\Microsoft Visual Studio\Common\Graphics\Metafile\Business\Satedish.wmf. Α. Με το πάτημα του πλήκτρου να γίνεται περιστροφή της εικόνας κατά Β. Να γίνεται οριζόντια αναστροφή της εικόνας. Γ. Να γίνεται κατακόρυφη αναστροφή της εικόνας. Λύση Για το πλήκτρο διαταγής Inve rt να γραφεί ο ακόλουθος κώδικας: Private Sub Invert_Click() Dim Pixel(2000, 2000) As Long Πίνακας αποθήκευσης των pixels Dim Xmax As Long, Ymax As Long Μέγιστο πλάτος και ύψος Dim x As Long, y As Long Δείκτες σάρωσης της εικόνας Satedish.ScaleMode = vbpixels Οι διαστάσεις σε pixels Xmax = Satedish.ScaleWidth 1 Ymax = Satedish.ScaleHeight 1 Αντιγραφή στον πίνακα For y = 0 To Ymax Για κάθε στήλη For x = 0 To Xmax Για κάθε γραμμή Pixel(x,y) = Satedish.Point(x,y) Next x Next y Μεταφορά από τον πίνακα και αναστροφή For y = 0 To Ymax For x = 0 To Xmax Satedish.PSet (x,y), Pixel(Xmax x, Ymax y) Next x Next y End Sub Επεξήγηση κώδικα: Τα pixels μιας εικόνας είναι διατεταγμένα σε στήλες x και γραμμές y, άρα μπορούμε να την αποθηκεύσουμε σε έναν δισδιάστατο πίνακα, αντιγράφοντας το χρώμα κάθε pixel σε κάθε στοιχείο του πίνακα. Π.χ. αντιγράφοντας το χρώμα του πάνω αριστερά pixel της εικόνας, στο στοιχείο (0,0) του πίνακα, το χρώμα του αμέσως επόμενου προς τα δεξιά pixel στο στοιχείο (0,1) του πίνακα κ.ο.κ. μέχρι να εξαντληθούν όλα τα pixels της γραμμής. Με τον ίδιο τρόπο, σαρώνουμε και μεταφέρουμε τα pixels της δεύτερης γραμμής της εικόνας κ.ο.κ. Αν τοποθετήσουμε τα στοιχεία του πίνακα πάλι μέσα στο πλαίσιο της εικόνας με διαφορετικό τρόπο, θα γίνει περιστροφή ή αναστροφή της εικόνας.στον παραπάνω κώδικα, χρησιμοποιούνται η και για τις οποίες δεν θα αναφερθούμε περαιτέρω. Πληροφορίες για τη λειτουργία της ιδιότητας PSet και των μέθοδων ScaleMode, ScaleWidth και ScaleHeight μπορεί να αναζητηθεί από το Μενού View Object Browser για το αντικείμενο PictureBox της βιβλιοθήκης VB. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 129

130 Ενέργειες βήματα ανά υποερώτημα Α. 1. Δημιουργούμε τη φόρμα και δίνουμε τιμές στις ιδιότητες των αντικειμένων όπως περιγράφεται στην εκφώνηση. Αποτελέσματα 2. Πληκτρολογούμε τον κώδικα για το πλήκτρο διαταγής I n ve rt και εκτελούμε το πρόγραμμα. 3. Πατώντας το πλήκτρο, παρατηρούμε την αναστροφή της εικόνας: Β. 4. Αλλάζουμε την εντολή με γκρι σκίαση του προγράμματος Α με την ακόλουθη εντολή: Satedish.PSet (x,y), Pixel(Xmax x, y) 5. Εκτελούμε το πρόγραμμα, πατάμε το πλήκτρο και παρατηρούμε τις διαφορές στην αναστροφή σε σχέση με την περίπτωση Α. Γ. 6. Αλλάζουμε την εντολή με γκρι σκίαση του προγράμματος Α με την ακόλουθη εντολή: Satedish.PSet (x,y), Pixel(x, Ymax y) 7. Εκτελούμε το πρόγραμμα, πατάμε το πλήκτρο και παρατηρούμε τις διαφορές στην αναστροφή σε σχέση με τις περιπτώσεις Α και Β. Δρ Μοσχάκης Μάριος Προγραμματισμός Η/Υ ΙI (Εργαστήριο) 130

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

Εισαγωγή στο πρόγραμμα Microsoft word 2003 Εισαγωγή στο πρόγραμμα Microsoft word 2003 Έναρξη 1. Εκκίνηση του προγράμματος Για να ξεκινήσουμε το Word, πατάμε στο κουμπί Εναρξη και από το μενού που εμφανίζεται επιλέγουμε Προγράμματα και Microsoft

Διαβάστε περισσότερα

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

Πως θα κατασκευάσω το πρώτο πρόγραμμα; Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να γίνει εξοικείωση το μαθητών με τον ΗΥ και το λειτουργικό σύστημα. - Επίδειξη του My Computer

Διαβάστε περισσότερα

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

Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC ΤΙ ΜΠΟΡΟΎΜΕ ΝΑ ΚΆΝΟΥΜΕ ΜΕ ΤΗ VISUAL BASIC ΑΝΤΙΚΕΊΜΕΝΑ: ΦΌΡΜΑ ΚΑΙ ΧΕΙΡΙΣΤΉΡΙΑ ΕΤΙΚΈΤΑ LABEL Γ3.3.Μ7 ΕΠΑΝΆΛΗΨΗ ΜΈΡΟΣ Α: ΈΝΝΟΙΕΣ ΤΙ ΕΊΝΑΙ Η VISUAL BASIC Η Visual Basic είναι μια γλώσσα προγραμματισμού οδηγούμενη από συμβάντα που έχει ένα ολοκληρωμένο περιβάλλον ανάπτυξης Έχει δημιουργηθεί από τη

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Πρακτικές οδηγίες για την Επεξεργασία Κειμένου

Πρακτικές οδηγίες για την Επεξεργασία Κειμένου 11 Εργαλεία έκφρασης και δημιουργίας Επεξεργασία Κειμένου Α Γυμνασίου Πρακτικές οδηγίες για την Επεξεργασία Κειμένου Ένα πρόγραμμα επεξεργασίας κειμένου μας προσφέρει τη δυνατότητα να: προσθέτουμε, να

Διαβάστε περισσότερα

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

ΔΟΜΗΜΕΝΟΣ ΟΠΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΠAΡΑΘΥΡΙΚΟ ΠΕΡΙΒΑΛΛΟΝ με τη Γλώσσα Προγραμματισμού VISUAL BASIC (1 ο ΕΠΙΠΕΔΟ) Γενικός Σκοπός Το αναλυτικό πρόγραμμα έχει ως γενικό σκοπό να δώσει στους μαθητές τις απαιτούμενες γνωστικές, κριτικές και αναλυτικές δεξιότητες ώστε να είναι ικανοί να χρησιμοποιούν τους υπολογιστές για

Διαβάστε περισσότερα

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

Microsoft Excel Κεφάλαιο 1. Εισαγωγή. Βιβλίο εργασίας Περιεχόμενα Κεφάλαιο 1 Microsoft Excel 2010... 7 Κεφάλαιο 2 Η δομή ενός φύλλου εργασίας... 19 Κεφάλαιο 3 ημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων... 24 Κεφάλαιο 4 Συμβουλές για την καταχώριση

Διαβάστε περισσότερα

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

Visual Basic Γλώσσα οπτικού Visual Basi Γλώσσα οπτικού προγραµµατισµού «Η αρχή είναι το ήµισυ του παντός» Κουλλάς Χρίστος www.oullas.om oullas 2 Στόχοι Μαθήµατος Οι µαθητές να µπορούν: να εξηγούν τι είναι η Visual Basi. ναεξηγούνταστάδιαδηµιουργίας

Διαβάστε περισσότερα

A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων

A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων Τι θα μάθουμε σήμερα: Να αναφέρουμε τα κύρια χαρακτηριστικά ενός Γραφικού Περιβάλλοντος Επικοινωνίας Να εξηγούμε τη χρήση των κουμπιών του

Διαβάστε περισσότερα

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

Τα αντικείμενα ή Χειριστήρια και οι βασικές ιδιότητες τους (properties) Καθηγητής : Κώστας Αχιλλέως ΒΑΣΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΣΤΗ VISUAL BASIC A ΛΥΚΕΙΟΥ ΚΑΤΕΥΘΥΝΣΗΣ Α) Τι είναι η Visual Basic Είναι μια γλώσσα οπτικού προγραμματισμού υψηλού επιπέδου. Β) Οπτικός

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

1. Τα τμήματα της επιφάνειας εργασίας των Windows 1. Τα τμήματα της επιφάνειας εργασίας των Windows Εικονίδια συντομεύσεων (αρχείου-φακέλου) Εικονίδια Ανενεργά Ενεργό Επιφάνεια (αρχείου-φακέλου) παράθυρα παράθυρο εργασίας Γραμμή μενού Γραμμή εργαλείων

Διαβάστε περισσότερα

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

Τα Windows Πολύ Απλά και Πολύ Σύντομα Σαχπατζίδης Αβραάμ Καθηγητής Πληροφορικής Π.Ε 20 Master of Arts (M.A) in "Gender, New Forms of Education, New Forms of Employment and New Technologies in the Information Age". Τα Windows Πολύ Απλά και

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΜΑΘΗΜΑ : Η/Υ I (ενότητα WINDOWS) ΥΠΕΥΘΥΝΟΣ : ΑΝΑΣΤΑΣΙΟΣ ΟΙΚΟΝΟΜΙΔΗΣ, Καθηγητής ΕΡΓΑΣΤΗΡΙΑ : ΘΕΑΝΩ ΧΑΤΖΙΔΑΚΗ, Εργαστηριακό

Διαβάστε περισσότερα

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

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Κουμπί Κενή βάση δεδομένων Κουμπί του Office Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στο κουμπί «Κενή βάση δεδομένων»

Διαβάστε περισσότερα

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

Λίγα λόγια από το συγγραφέα Microsoft Word Δημιουργία νέου εγγράφου Το σύστημα Βοήθειας του Word... ΕΝΟΤΗΤΑ 3 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 91 Microsoft Word 2007... 9 92 Δημιουργία νέου εγγράφου... 20 93 Το σύστημα Βοήθειας του Word... 38 94 Μετακίνηση σε έγγραφο και προβολές εγγράφου...

Διαβάστε περισσότερα

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

Ράβδος Εργαλείων, σχεδόν τα ίδια εργαλεία και εικονίδια υπάρχουν όπως στα άλλα προγράμματα που έχετε μάθει μέχρι σήμερα. Σαχπατζίδης Αβραάμ Καθηγητής Πληροφορικής Π.Ε 20 Master of Arts (M.A) in "Gender, New Forms of Education, New Forms of Employment and New Technologies in the Information Age". Η Γλώσσα Προγραμματισμού

Διαβάστε περισσότερα

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

To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition Πίνακας Περιεχομένων To περιβάλλον Ανάπτυξης εφαρμογών της Visual Basic 2008 Express Edition... 1 Εκτέλεση του περιβάλλοντος ανάπτυξης

Διαβάστε περισσότερα

Πρακτική Άσκηση Για να αντιγράψουμε τη μορφοποίηση μιας λέξης ποιο εργαλείο από τα παρακάτω χρησιμοποιούμε;

Πρακτική Άσκηση Για να αντιγράψουμε τη μορφοποίηση μιας λέξης ποιο εργαλείο από τα παρακάτω χρησιμοποιούμε; Πρακτική Άσκηση 2 ΑΣΠΑΙΤΕ Α Ημερομηνία :. Τμήμα : Ονοματεπώνυμο :. Για να αντιγράψουμε τη μορφοποίηση μιας λέξης ποιο εργαλείο από τα παρακάτω χρησιμοποιούμε; Ποιο από τα παρακάτω προγράμματα θα χρησιμοποιήσετε

Διαβάστε περισσότερα

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

(3) Από την εργαλειοθήκη επιλέξτε το εργαλείο «ετικέτας (Label)». Δημιουργήστε μια ετικέτα στην φόρμα σας. Σαχπατζίδης Αβραάμ Καθηγητής Πληροφορικής Π.Ε 20 Master of Arts (M.A) in "Gender, New Forms of Education, New Forms of Employment and New Technologies in the Information Age". ΚΕΦΑΛΑΙΟ 2 Χρήση εργαλείων

Διαβάστε περισσότερα

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

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access... 9 Κεφάλαιο 2: Microsoft Access 2002... 20 Κεφάλαιο 3: Το σύστημα Βοήθειας του Microsoft Office ΧΡ... 36

Διαβάστε περισσότερα

ΜΑΘΗΜΑ 5 ΣΤΟΧΟΙ: Τρόπος 1:

ΜΑΘΗΜΑ 5 ΣΤΟΧΟΙ: Τρόπος 1: ΜΑΘΗΜΑ 5 ΣΤΟΧΟΙ: 1. Εισαγωγή Εικόνας 2. Εισαγωγή Αρχείου Γραφικού 3. Εισαγωγή Αυτόματου Σχήματος 4. Τροποποίηση Γραφικών Αντικειμένων 5. Αλλαγή Μεγέθους Γραφικού Αντικειμένου 6. Περιστροφή Γραφικού Αντικειμένου

Διαβάστε περισσότερα

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Σημειώσεις στο PowerPoint

Σημειώσεις στο PowerPoint Σημειώσεις στο PowerPoint Τι είναι το PowerPoint; Το PowerPoint 2010 είναι μια οπτική και γραφική εφαρμογή που χρησιμοποιείται κυρίως για τη δημιουργία παρουσιάσεων. Με το PowerPoint, μπορείτε να δημιουργήσετε

Διαβάστε περισσότερα

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: PowerPoint Κεφάλαιο 2: Εκκίνηση του PowerPoint... 13

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: PowerPoint Κεφάλαιο 2: Εκκίνηση του PowerPoint... 13 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: PowerPoint... 9 Κεφάλαιο 2: Εκκίνηση του PowerPoint... 13 Κεφάλαιο 3: Δημιουργία νέας παρουσίασης... 27 Κεφάλαιο 4: Μορφοποίηση κειμένου παρουσίασης...

Διαβάστε περισσότερα

Εργαστηριακή Άσκηση 4 Μορφοποίηση Κειμένου μέσω του

Εργαστηριακή Άσκηση 4 Μορφοποίηση Κειμένου μέσω του Μορφοποίηση χαρακτήρων Όταν ανοίγουμε το Word η γραμματοσειρά που υπάρχει είναι προκαθορισμένη. Το πλαίσιο διαλόγου Γραμματοσειρά μας επιτρέπει να κάνουμε περισσότερες μορφοποιήσεις. Επιλέγουμε Μορφή Απόσταση

Διαβάστε περισσότερα

Χρήση Η/Υ & Διαχείριση Αρχείων

Χρήση Η/Υ & Διαχείριση Αρχείων Χρήση Η/Υ & Διαχείριση Αρχείων Άσκηση 1: Επιλέξτε τη σωστή απάντηση 1. Ποιες από τις παρακάτω πορείες μας οδηγούν στο να επανεκκινήσουμε τον υπολογιστή μας; o Έναρξη Τερματισμός Επανεκκίνηση o Ctrl + Alt

Διαβάστε περισσότερα

Microsoft Word. Δυνατότητες του Word. Εισαγωγή και επεξεργασία Κειμένου

Microsoft Word. Δυνατότητες του Word. Εισαγωγή και επεξεργασία Κειμένου Microsoft Word Δυνατότητες του Word Εισαγωγή και επεξεργασία Κειμένου Μας προσφέρει ένα ευχάριστο περιβάλλον για την πληκτρολόγηση κειμένου, καθώς και πολλές δυνατότητες διόρθωσης, την επεξεργασία και

Διαβάστε περισσότερα

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

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στην επιλογή «Κενή βάση δεδομένων» στο Παράθυρο Εργασιών. Θα εμφανιστεί το

Διαβάστε περισσότερα

περιεχόμενα Εισαγωγή 6 Τα βασικά συστατικά του υπολογιστή 10 Η επιφάνεια εργασίας (desktop) 16 Windows 7 Windows 8 Τα πρώτα βήματα στο Internet 84

περιεχόμενα Εισαγωγή 6 Τα βασικά συστατικά του υπολογιστή 10 Η επιφάνεια εργασίας (desktop) 16 Windows 7 Windows 8 Τα πρώτα βήματα στο Internet 84 περιεχόμενα Εισαγωγή 6 Τα βασικά συστατικά του υπολογιστή 10 Η επιφάνεια εργασίας (desktop) 16 Windows 7 H πρώτη επαφή με τα Windows 7 21 Απλές αλλαγές και ρυθμίσεις 26 Χειρισμός προγραμμάτων 31 Αναζήτηση,

Διαβάστε περισσότερα

ΤΕΙ Ηρακλείου. Τμήμα Λογιστικής Πληροφορική I 6 η Εργαστηριακή άσκηση (Excel)

ΤΕΙ Ηρακλείου. Τμήμα Λογιστικής Πληροφορική I 6 η Εργαστηριακή άσκηση (Excel) ΤΕΙ Ηρακλείου Τμήμα Λογιστικής Πληροφορική I 6 η Εργαστηριακή άσκηση (Excel) Ανοίγοντας το Excel (Έναρξη /Προγράμματα /Microsoft Office / Microsoft Office Excel 2003), ανοίγει μπροστά μας ένα βιβλίο εργασίας

Διαβάστε περισσότερα

ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΗ VISUAL BASIC Γ ΓΥΜΝΑΣΙΟΥ

ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΗ VISUAL BASIC Γ ΓΥΜΝΑΣΙΟΥ ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΗ VISUAL BASIC Γ ΓΥΜΝΑΣΙΟΥ Συγγραφική Ομάδα Εποπτεία: Ιάκωβος Παπαντωνίου Ευστάθιος Ευσταθίου Θεόδουλος Κωνσταντίνου Ξένιος Ξενοφώντος Χρίστος Μινίκκης 1 Εισαγωγή στον προγραμματισμό υπολογιστών

Διαβάστε περισσότερα

Browsers. Λειτουργικότητα και Παραμετροποίηση

Browsers. Λειτουργικότητα και Παραμετροποίηση Browsers Λειτουργικότητα και Παραμετροποίηση 1 Πίνακας περιεχομένων Γενική περιγραφή... 3 Γενικά... 3 Ποιο αναλυτικά τα μέρη ενός browser... 4 Φίλτρα αναζήτησης... 4 Σενάρια αναζήτησης... 4 Όψεις εμφάνισης

Διαβάστε περισσότερα

SPSS Statistical Package for the Social Sciences

SPSS Statistical Package for the Social Sciences SPSS Statistical Package for the Social Sciences Ξεκινώντας την εφαρμογή Εισαγωγή εδομένων Ορισμός Μεταβλητών Εισαγωγή περίπτωσης και μεταβλητής ιαγραφή περιπτώσεων ή και μεταβλητών ΣΤΑΤΙΣΤΙΚΗ Αθανάσιος

Διαβάστε περισσότερα

[συνέχεια του εγγράφου Word 2]

[συνέχεια του εγγράφου Word 2] [συνέχεια του εγγράφου Word 2] Συνεχίζουμε την πρακτική μας άσκηση πάνω στο έγγραφο που δημιουργήσαμε την προηγούμενη εβδομάδα και το οποίο αποθηκεύσαμε στον φάκελο με το όνομά μας, με το όνομα: Word 2x.

Διαβάστε περισσότερα

να ακολουθήσουμε Έναρξη Όλα τα Προγράμματα και να ενεργοποιήσουμε την επιλογή Microsoft Word.

να ακολουθήσουμε Έναρξη Όλα τα Προγράμματα και να ενεργοποιήσουμε την επιλογή Microsoft Word. ΕΠΕΞΕΡΓΑΣΙΑ ΚΕΙΜΕΝΟΥ ΜΕ ΤΟ WORD Περιεχόμενα Εκκίνηση του Microsoft Word... 3 Το παράθυρο του Word... 3 Η Κορδέλα με τις καρτέλες... 4 Κεντρική... 4 Εισαγωγή... 4 Διάταξη Σελίδας... 5 Αναφορές... 5 Στοιχεία

Διαβάστε περισσότερα

1. Βασικές Λειτουργίες των Windows

1. Βασικές Λειτουργίες των Windows 1. Βασικές Λειτουργίες των Windows Α - Εκκίνηση του Υπολογιστή και των Windows XP Για να εκκινήσουμε τον υπολογιστή μας πατάμε το κουμπί ανοίγματος της μονάδας συστήματος και το αντίστοιχο κουμπί της οθόνης.

Διαβάστε περισσότερα

Atlantis - Νέο user interface

Atlantis - Νέο user interface New Desktop 1 Atlantis - Νέο user interface ATLANTIS - ΝΕΟ USER INTERFACE... 2 ΓΕΝΙΚΗ ΠΑΡΟΥΣΙΑΣΗ... 3 ΓΡΑΜΜΗ ΣΥΣΤΗΜΑΤΟΣ... 4 ΜΠΑΡΑ ΧΡΗΣΤΗ (USER TOOLBAR)... 5 ΚΕΝΤΡΙΚΟ ΜΕΝΟΥ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ... 6 Κεντρικό

Διαβάστε περισσότερα

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

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Σχεδίαση Βάσεων Δεδομένων Ενότητα 3 Σχεδίαση Βάσεων Δεδομένων 17 18 3.1 Εισαγωγή Μία βάση δεδομένων αποτελείται από δεδομένα για διάφορα θέματα τα οποία όμως σχετίζονται μεταξύ τους και είναι καταχωρημένα με συγκεκριμένο τρόπο.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟ POWER POINT

ΕΙΣΑΓΩΓΗ ΣΤΟ POWER POINT 1 ΕΙΣΑΓΩΓΗ ΣΤΟ POWER POINT To Power Point είναι ένα πολύ δυναμικό πρόγραμμα παρουσίασης γραφικών. Ο σκοπός είναι να βοηθήσει τους χρήστες των υπολογιστών να δημιουργούν εντυπωσιακά έγγραφα, επιστολές και

Διαβάστε περισσότερα

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

Microsoft PowerPoint 2010 Πανεπιστήμιο Κύπρου Microsoft PowerPoint 2010 Πανεπιστήμιο Κύπρου Ιούλιος 2017 Copyright 2017 Πανεπιστήμιο Κύπρου. Όλα τα πνευματικά δικαιώματα κατοχυρωμένα. Δημιουργός: Λευτέρης Γ. Ζαχαρία Πίνακας Περιεχομένων 1. Εισαγωγή....

Διαβάστε περισσότερα

Δημιουργία ενός κενού πίνακα

Δημιουργία ενός κενού πίνακα 3.4.1.1 Δημιουργία ενός κενού πίνακα Ένας πίνακας αποτελείται από έναν αριθμό γραμμών και στηλών που δημιουργούν ένα πλέγμα. Σε αυτό το πλέγμα είναι πιθανή η ύπαρξη ή μη περιθωρίων. Κάθε κελί του πίνακα

Διαβάστε περισσότερα

Visual Flowchart Γενικά

Visual Flowchart Γενικά Visual Flowchart 3.020 -Γενικά Το Visual Flowchart ή «Data-Flow Visual Programming Language 3.020» (http://www. emu8086.com/fp) είναι ένα περιβάλλον ανάπτυξης και εκτέλεσης αλγορίθμων απευθείας σε μορφή

Διαβάστε περισσότερα

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

Περιεχόμενα. Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών Μέρος 2: Χρήση υπολογιστή και διαχείριση αρχείων Πρόλογος... Περιεχόμενα Πρόλογος...11 Μέρος 1: Βασικές έννοιες Πληροφορικής και επικοινωνιών... 13 1.1 Εισαγωγή στους υπολογιστές... 15 1.2 Μονάδες μέτρησης... 27 1.3 Οι βασικές λειτουργίες ενός ηλεκτρονικού υπολογιστή...

Διαβάστε περισσότερα

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

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων Ενότητα 4 Επεξεργασία πινάκων 36 37 4.1 Προσθήκη πεδίων Για να εισάγετε ένα πεδίο σε ένα πίνακα που υπάρχει ήδη στη βάση δεδομένων σας, βάζετε τον κέρσορα του ποντικιού στο πεδίο πάνω από το οποίο θέλετε

Διαβάστε περισσότερα

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

Εργαστήριο του Μαθήματος: ΕΠΛ003. Ενότητα 3 Εισαγωγή στο Microsoft Word Εργαστήριο του Μαθήματος: ΕΠΛ003 Ενότητα 3 Εισαγωγή στο Microsoft Word 1 Πως αρχίζουμε το Microsoft Word Για να αρχίσουμε το Word, πρέπει να κάνουμε double click στο εικονίδιο του Word που βρίσκεται στον

Διαβάστε περισσότερα

Σχεδίαση με το AutoCAD

Σχεδίαση με το AutoCAD Σχεδίαση με το AutoCAD Δημιουργία Αποθήκευση Αρχείων, Σχεδίαση & Επεξεργασία Γεωμετρικών Σχημάτων. Το παράθυρο του AutoCAD Δημιουργία - Αποθήκευση Νέου Σχεδίου Από το menu εφαρμογής επιλέγετε New και εμφανίζεται

Διαβάστε περισσότερα

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

Γεωργάκης Αριστείδης ΠΕ20 1 Εκκίνηση για πρώτη φορά Όπως συμβαίνει και με τις υπόλοιπες εφαρμογές του OpenOffice, έτσι και το Impress μπορούμε να το εκκινήσουμε μέσω της συντόμευσης που εγκαθίσταται αυτόματα στην επιφάνεια εργασίας

Διαβάστε περισσότερα

Επεξεργασία πολλαπλών φύλλων εργασίας - Γραφημάτων Excel

Επεξεργασία πολλαπλών φύλλων εργασίας - Γραφημάτων Excel Επεξεργασία πολλαπλών φύλλων εργασίας - Γραφημάτων Excel 11.1. Πολλαπλά φύλλα εργασίας Στο προηγούμενο κεφάλαιο δημιουργήσαμε ένα φύλλο εργασίας με τον προϋπολογισμό δαπανών του προσωπικού που θα συμμετάσχει

Διαβάστε περισσότερα

ΕΡΩΤΗΣΕΙΣ στην επεξεργασία κειμένου (Word)

ΕΡΩΤΗΣΕΙΣ στην επεξεργασία κειμένου (Word) 1. Πώς δημιουργούμε ένα νέο έγγραφο; 2. Πώς αποθηκεύουμε ένα έγγραφο στη δισκέτα μας; 3. Μπορείτε να περιγράψετε τη βασική οθόνη του Word;. 4. Τι ακριβώς κάνει το εργαλείο ζουμ; 5. Ποιους κανόνες ακολουθεί

Διαβάστε περισσότερα

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

Αλλαγή της εμφάνισης κειμένου: μέγεθος γραμματοσειράς, είδος γραμματοσειράς 3.3.1.1 Αλλαγή της εμφάνισης κειμένου: μέγεθος γραμματοσειράς, είδος γραμματοσειράς Γραμματοσειρές Η λέξη γραμματοσειρά αναφέρεται στο στυλ που εμφανίζονται τα γράμματα. Παρακάτω ακολουθούν κάποια παραδείγματα,

Διαβάστε περισσότερα

1. Κλικ στην καρτέλα Insert 2. Tables 3. Κλικ Table 4. Σύρουμε το δείκτη του ποντικιού και επιλέγουμε τον επιθυμητό αριθμό γραμμών και στηλών

1. Κλικ στην καρτέλα Insert 2. Tables 3. Κλικ Table 4. Σύρουμε το δείκτη του ποντικιού και επιλέγουμε τον επιθυμητό αριθμό γραμμών και στηλών ΜΑΘΗΜΑ 4 ΣΤΟΧΟΙ: 1. Προσθήκη Πίνακα (Table) 2. Εισαγωγή Και Μετακίνηση Κειμένου Σε Πίνακα 3. Εισαγωγή Στηλών Και Γραμμών Σε Πίνακα 4. Διαγραφή Στηλών Και Γραμμών Σε Πίνακα 5. Αλλαγή Πλάτους Στηλών Και

Διαβάστε περισσότερα

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

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ PROΩΘΗΣΗ PROώθηση ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ "PROΩΘΗΣΗ" PROώθηση Περιεχόμενα Εγκατάσταση ΠΕΡΙΕΧΟΜΕΝΑ ΣΥΣΚΕΥΑΣΙΑΣ... 3 ΣΥΝΔΕΣΗ ΕΞΟΠΛΙΣΜΟΥ... 3 ΡΥΘΜΙΣΗ Wi-Fi... 4 ΕΙΣΟΔΟΣ ΧΡΗΣΤΗ... 6 ΠΡΟΣΘΗΚΗ ΝΕΑΣ ΣΥΣΚΕΥΗΣ... 6 ΚΑΤΑΣΤΑΣΗ ΣΥΣΚΕΥΗΣ...

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 3. Μορφοποίηση Σαχπατζίδης Αβραάμ Καθηγητής Πληροφορικής Π.Ε 20 Master of Arts (M.A) in "Gender, New Forms of Education, New Forms of Employment and New Technologies in the Information Age". Μορφοποίηση ΚΕΦΑΛΑΙΟ 3 (1)

Διαβάστε περισσότερα

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

Λεπτομέριες τοιχοποιίας Σχεδίαση κάτοψης 1 Λεπτομέριες τοιχοποιϊας Σχεδίαση κάτοψης Λεπτομέριες τοιχοποιίας Σχεδίαση κάτοψης Ξεκινώντας το πρόγραμμα εμφανίζονται οι επιλογές σχετικά με το τι θέλετε να κάνετε. Δημιουργώντας Νέο Δωμάτιο Όταν ο

Διαβάστε περισσότερα

Πρακτικές συμβουλές κατά την πληκτρολόγηση ., ; :! ( ) " " Άνοιγμα και αποθήκευση εγγράφου Αρχείο, Άνοιγμα. Αρχείο / Αποθήκευση

Πρακτικές συμβουλές κατά την πληκτρολόγηση ., ; :! ( )   Άνοιγμα και αποθήκευση εγγράφου Αρχείο, Άνοιγμα. Αρχείο / Αποθήκευση Επεξεργαστής κειμένου Word 2003 Πρακτικές συμβουλές κατά την πληκτρολόγηση Για να αλλάξουμε παράγραφο πατάμε Enter. Για να αφήσουμε μία κενή γραμμή, πατάμε μία φορά το Enter. Για να γράψουμε την επόμενη

Διαβάστε περισσότερα

2.9.3 Χρήση λογισμικού παρουσιάσεων για τη δημιουργία απλών παρουσιάσεων ρουτίνας

2.9.3 Χρήση λογισμικού παρουσιάσεων για τη δημιουργία απλών παρουσιάσεων ρουτίνας 2.9 Δεξιότητες Τεχνολογίας Πληροφοριών και Επικοινωνιών 2.9.3 Χρήση λογισμικού παρουσιάσεων για τη δημιουργία απλών παρουσιάσεων ρουτίνας Να επιδεικνύει ικανότητα στη χρήση λογισμικού παρουσιάσεων, ακίνδυνα

Διαβάστε περισσότερα

«Αβάκιο» Οδηγός χρήσης Μικρόκοσμου που αποτελείται από τις ψηφίδες Καμβάς, Χελώνα, Γλώσσα, Μεταβολέας, Χρώματα.

«Αβάκιο» Οδηγός χρήσης Μικρόκοσμου που αποτελείται από τις ψηφίδες Καμβάς, Χελώνα, Γλώσσα, Μεταβολέας, Χρώματα. «Αβάκιο» Οδηγός χρήσης Μικρόκοσμου που αποτελείται από τις ψηφίδες Καμβάς, Χελώνα, Γλώσσα, Μεταβολέας, Χρώματα. Πώς θα δουλέψεις με το Χελωνόκοσμο την πρώτη φορά 1. Θα χρησιμοποιήσεις το αριστερό πλήκτρο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εργαστήριο του Μαθήματος: ΕΠΛ001 www.epl001lab.weebly.com Εργαστήριο του Μαθήματος: ΕΠΛ001 Ενότητα 3 Εισαγωγή στο Microsoft Word Πως αρχίζουμε το Microsoft Word Για να αρχίσουμε το Word, πρέπει να κάνουμε double click στο εικονίδιο του

Διαβάστε περισσότερα

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

Επεξεργασία κειμένου: Word 2003 Περιεχόμενα Λίγα λόγια από το συγγραφέα...7 Κεφάλαιο 1: Ρυθμίσεις γραμμών εργαλείων και μενού...9 Κεφάλαιο 2: Διαχείριση παραθύρων και προβολές...26 Κεφάλαιο 3: Εύρεση, αντικατάσταση, και μετάβαση σε συγκεκριμένο

Διαβάστε περισσότερα

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

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 1 Microsoft Word 2010... 9. 2 ημιουργία νέου εγγράφου... 17. 3 Το σύστημα Βοήθειας του Office... Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 1 Microsoft Word 2010... 9 2 ημιουργία νέου εγγράφου... 17 3 Το σύστημα Βοήθειας του Office... 31 4 Μετακίνηση σε έγγραφο και προβολές εγγράφου... 37 5 Επιλογή

Διαβάστε περισσότερα

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

POWERPOINT 2003. Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. POWERPOINT 2003 1. Τι είναι το PowerPoint (ppt)? Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων. 2. Τι δυνατότητες έχει? Δημιουργία παρουσίασης. Μορφοποίηση παρουσίασης. Δημιουργία γραφικών. Δημιουργία

Διαβάστε περισσότερα

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

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Microsoft Excel Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Microsoft Excel 2002... 9 Κεφάλαιο 2: Η δομή ενός φύλλου εργασίας... 26 Κεφάλαιο 3: Δημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων...

Διαβάστε περισσότερα

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

ΜΑΘΗΜΑ Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου. 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου ΣΤΟΧΟΙ: ΜΑΘΗΜΑ 1 ΣΤΟΧΟΙ: 1. Άνοιγμα Της Εφαρμογής Επεξεργασίας Κειμένου (Microsoft Word) 2. Κύρια Οθόνη Της Εφαρμογής Κειμένου 3. Δημιουργία Νέου Εγγράφου 4. Δημιουργία Εγγράφου Βασισμένο Σε Πρότυπο 5. Κλείσιμο

Διαβάστε περισσότερα

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

6 Το μικρό βιβλίο για το ελληνικό Word 2010 Περιεχόμενα Κεφάλαιο 1 Microsoft Word 2010... 7 Κεφάλαιο 2 ημιουργία νέου εγγράφου... 13 Κεφάλαιο 3 Το σύστημα Βοήθειας του Office... 26 Κεφάλαιο 4 Μετακίνηση σε έγγραφο και προβολές εγγράφου... 31 Κεφάλαιο

Διαβάστε περισσότερα

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

Βασικές Εντολές MicroWorlds Pro. Βασικές Εντολές MicroWorlds Pro. 1. μπροστά (μπ) αριθμός Μετακινεί τη χελώνα προς τα εμπρός. π.χ. μπροστά 100 2. πίσω (πι) αριθμός Μετακινεί τη χελώνα προς τα πίσω. π.χ. πι 30 3. δεξιά (δε) αριθμός Στρέφει

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Word 2: Επεξεργασία κειμένου επιστολής

Word 2: Επεξεργασία κειμένου επιστολής Word 2: Επεξεργασία κειμένου επιστολής Πριν ξεκινήσουμε την πληκτρολόγηση της επιστολής, πρέπει να κάνουμε ορισμένες αρχικές ρυθμίσεις οι οποίες αφορούν το έγγραφο στο σύνολό του. 1. Επιλέγουμε από την

Διαβάστε περισσότερα

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

Περιεχόμενα. Λίγα λόγια από τον συγγραφέα Microsoft Excel Η δομή ενός φύλλου εργασίας... 21 ENOTHTA 4 Περιεχόμενα Λίγα λόγια από τον συγγραφέα... 7 1 Microsoft Excel 2010... 9 2 Η δομή ενός φύλλου εργασίας... 21 3 ημιουργία νέου βιβλίου εργασίας και καταχώριση δεδομένων... 27 4 Συμβουλές για

Διαβάστε περισσότερα

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

4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος 4 ο Εργαστήριο Τυχαίοι Αριθμοί, Μεταβλητές Συστήματος Μεταβλητές Συστήματος Η Processing χρησιμοποιεί κάποιες μεταβλητές συστήματος, όπως τις ονομάζουμε, για να μπορούμε να παίρνουμε πληροφορίες από το

Διαβάστε περισσότερα

Περιεχόμενα. Περιεχόμενα...v

Περιεχόμενα. Περιεχόμενα...v Περιεχόμενα Περιεχόμενα...v Κεφάλαιο 1: Ρυθμίσεις γραμμών εργαλείων και μενού...1 Κεφάλαιο 2: Διαχείριση παραθύρων και προβολές...18 Κεφάλαιο 3: Εύρεση, αντικατάσταση, και μετάβαση σε συγκεκριμένο στοιχείο...35

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 11 η : Αντικείμενα Γραφικής Διασύνδεσης (Μέρος 1 ο ) Ι. Ψαρομήλιγκος Χ.

Διαβάστε περισσότερα

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

Κεφάλαιο 2.3: Ρυθμίσεις των Windows Κεφάλαιο 2.3: Ρυθμίσεις των Windows 2.3.1 Βασικές πληροφορίες συστήματος Για να δούμε βασικές πληροφορίες για τον υπολογιστή μας, πατάμε το κουμπί «Έναρξη» και επιλέγουμε διαδοχικά «Πίνακας Ελέγχου», «Σύστημα

Διαβάστε περισσότερα

ΣΧΗΜΑΤΑ-ΕΙΚΟΝΕΣ-ΕΞΙΣΩΣΕΙΣ

ΣΧΗΜΑΤΑ-ΕΙΚΟΝΕΣ-ΕΞΙΣΩΣΕΙΣ ΤΕΙ Ηρακλείου Τμήμα Λογιστικής Πληροφορική I 5 η Εργαστηριακή άσκηση (WORD) ΣΧΗΜΑΤΑ-ΕΙΚΟΝΕΣ-ΕΞΙΣΩΣΕΙΣ ΜΑΘΗΜΑ 5 ο : ΣΧΗΜΑΤΑ-ΕΙΚΟΝΕΣ-ΕΞΙΣΩΣΕΙΣ 1 ΔΗΜΙΟΥΡΓΙΑ ΣΧΗΜΑΤΩΝ Για τη δημιουργία σχημάτων στο WORD χρησιμοποιείται

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΑ. 3.1.1 Name, Caption, Backcolor. 3.2.1 Load, Unload, Activate

ΚΕΦΑΛΑΙΑ. 3.1.1 Name, Caption, Backcolor. 3.2.1 Load, Unload, Activate Vellum Object Oriented Programming Visual Basic Certificate Πιστοποιητικό ανάπτυξης εφαρµογών αντικειµενοστραφούς προγραµµατισµού µε την γλώσσα Visual Basic Vellum Global Educational Services Σελίδα 1

Διαβάστε περισσότερα

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Windows XP Κεφάλαιο 2: Επιφάνεια εργασίας (desktop)... 15

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Windows XP Κεφάλαιο 2: Επιφάνεια εργασίας (desktop)... 15 Περιεχόμενα Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Windows XP... 9 Κεφάλαιο 2: Επιφάνεια εργασίας (desktop)... 15 Κεφάλαιο 3: Γραμμή εργασιών (taskbar)... 26 Κεφάλαιο 4: Χειρισμός παραθύρων... 44

Διαβάστε περισσότερα

Τεχνικό Τοπογραφικό Σχέδιο

Τεχνικό Τοπογραφικό Σχέδιο Τεχνικό Τοπογραφικό Σχέδιο Γ. Καριώτου ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΕ & ΜΗΧΑΝΙΚΩΝ ΤΟΠΟΓΡΑΦΙΑΣ ΚΑΙ ΓΕΩΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Ενότητα. Παρουσιάσεις. εκδόσεις ΚΛΕΙΔΑΡΙΘΜΟΣ

Ενότητα. Παρουσιάσεις. εκδόσεις ΚΛΕΙΔΑΡΙΘΜΟΣ Ενότητα Παρουσιάσεις Κεφάλαιο 82. PowerPoint 2007 Απαντήσεις ερωτήσεων και ασκήσεων επανάληψης 1. Η εφαρμογή Microsoft PowerPoint είναι ειδικά κατασκευασμένη για την αποτελεσματική παρουσίαση δεδομένων

Διαβάστε περισσότερα

Word 3: Δημιουργία πίνακα

Word 3: Δημιουργία πίνακα Word 3: Δημιουργία πίνακα Θα ολοκληρώσουμε την πρακτική μας άσκηση πάνω στο περιβάλλον του Microsoft Word 2013 πειραματιζόμενοι με την καταχώρηση ενός πίνακα στο εσωτερικό ενός εγγράφου. Πολλές φορές απαιτείται

Διαβάστε περισσότερα

Ευ ομή. Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp

Ευ ομή. Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp Ευ ομή Εγχειρίδιο χρήσης του περιβάλλοντος LT125-dp Περιεχόμενα 1. Χειρισμός του περιβάλλοντος LT125-dp Εγκατάσταση & Τρέξιμο Χειρισμός της ψηφιακής εφαρμογής Πλοήγηση στο περιεχόμενο Αλλαγή του μεγέθους

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Περιεχόμενα. Εισαγωγή στο Word Βασικές μορφοποιήσεις κειμένων Κεφάλαιο 1. Κεφάλαιο 2 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στο Word 2007...9 Η οθόνη του Word... 9 Δημιουργία νέου εγγράφου... 15 Προσθήκη και διαγραφή κειμένου... 18 Πρώτα επιλογή, μετά εργασία... 20 Εύρεση και αντικατάσταση κειμένου...

Διαβάστε περισσότερα

Θέματα 1,2 ης εβδομάδας

Θέματα 1,2 ης εβδομάδας ΠΛΗΡΟΦΟΡΙΚΗ Ι Θέματα 1,2 ης εβδομάδας Περιβάλλον εργασίας Word, Μορφοποίηση Γραμματοσειράς, Μορφοποίηση Παραγράφου Εξάσκηση σε βασικά κείμενα Τι είναι το MS-WORD Είναι ένα πρόγραμμα επεξεργασίας κειμένου,

Διαβάστε περισσότερα

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

Περιεχόμενα. Μέρος 1: Βασικές έννοιες της πληροφορικής... 13. Πρόλογος... 11 Περιεχόμενα Πρόλογος... 11 Μέρος 1: Βασικές έννοιες της πληροφορικής... 13 1.1 Windows XP... 15 1.2 Επιφάνεια εργασίας... 19 1.3 Γραμμή εργασιών... 24 1.4 Χειρισμός παραθύρων... 30 1.5 Μενού... 36 1.6

Διαβάστε περισσότερα

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

ΟΔΗΓΙΕΣ ΔΗΜΙΟΥΡΓΙΑΣ ΕΦΑΡΜΟΓΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΑΜΕΣΟΥ ΑΡΧΕΙΟΥ ΣΕ ΠΕΡΙΒΑΛΛΟΝ VISUAL STUDIO NET 1. Ανοίξτε το πρόγραμμα Microsoft Visual Studio Net 2. Στην start page επιλέξτε my profile 3. Στο πεδίο profile επιλέξτε visual basic developer και κλείστε την start page 4. Επιλέξτε File New Project 5.

Διαβάστε περισσότερα

Η ΕΞΕΡΕΥΝΗΣΗ ΤΩΝ WINDOWS (WINDOWS EXPLORER)

Η ΕΞΕΡΕΥΝΗΣΗ ΤΩΝ WINDOWS (WINDOWS EXPLORER) Η ΕΞΕΡΕΥΝΗΣΗ ΤΩΝ WINDOWS (WINDOWS EXPLORER) Επιλογή αρχείων και φακέλων Αν τα αρχεία είναι συνεχόμενα κάνω κλικ στο πρώτο αρχείο μετά πατάω διαρκώς το πλήκτρο Shift και κάνω κλικ στο τελευταίο αρχείο.

Διαβάστε περισσότερα

5.1.1 Περιγραφή των συστατικών τμημάτων ενός γραφήματος

5.1.1 Περιγραφή των συστατικών τμημάτων ενός γραφήματος 5. Γραφήματα 5.1 Εισαγωγή 5.1.1 Περιγραφή των συστατικών τμημάτων ενός γραφήματος Το Discoverer παρέχει μεγάλες δυνατότητες στη δημιουργία γραφημάτων, καθιστώντας δυνατή τη διαμόρφωση κάθε συστατικού μέρους

Διαβάστε περισσότερα

Microsoft PowerPoint 2007

Microsoft PowerPoint 2007 Information Technology Services and Solutions Σύμβουλοι Μηχανογράφησης και Εκπαίδευσης Στεφ. Σκουλούδη 27, Καλλίπολη, Πειραιάς 210 45 38 177 http://www.itss.gr/ Microsoft PowerPoint 2007 Κωνσταντίνος Κωβαίος

Διαβάστε περισσότερα

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό 5 ο Εργαστήριο Λογικοί Τελεστές, Δομές Ελέγχου Λογικοί Τελεστές > μεγαλύτερο = μεγαλύτερο ή ίσο!= διαφορετικό Οι λογικοί τελεστές χρησιμοποιούνται για να ελέγξουμε

Διαβάστε περισσότερα

MEDIWARE L.I.S ΟΔΗΓΙΕΣ ΥΠΟΠΡΟΓΡΑΜΜΑΤΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΠΙΣΚΕΨΕΩΝ

MEDIWARE L.I.S ΟΔΗΓΙΕΣ ΥΠΟΠΡΟΓΡΑΜΜΑΤΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΠΙΣΚΕΨΕΩΝ MEDIWARE L.I.S. 2006 ΟΔΗΓΙΕΣ ΥΠΟΠΡΟΓΡΑΜΜΑΤΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΠΙΣΚΕΨΕΩΝ -1 -2 Προγραμματισμός Επισκέψεων. Με την επιλογή Προγραμματισμός Επισκέψεων ο χειριστής έχει τη δυνατότητα να καταχωρίσει τις μελλοντικές

Διαβάστε περισσότερα

Οι εφαρμογές Υπολογιστικών Φύλλων είναι προγράμματα που μας παρέχουν πολλές δυνατότητες όπως:

Οι εφαρμογές Υπολογιστικών Φύλλων είναι προγράμματα που μας παρέχουν πολλές δυνατότητες όπως: Εισαγωγή στα Υπολογιστικά Φύλλα Οι εφαρμογές Υπολογιστικών Φύλλων είναι προγράμματα που μας παρέχουν πολλές δυνατότητες όπως: Να καταχωρούμε δεδομένα σε γραμμές και στήλες. Τα δεδομένα μπορεί να είναι

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Γνωρίστε το χώρο εργασίας του PowerPoint

Γνωρίστε το χώρο εργασίας του PowerPoint Γνωρίστε το χώρο εργασίας του PowerPoint Για να εκκινήσουμε το Office PowerPoint 2007 ακολουθούμε τα εξής βήματα: Έναρξη à Όλα τα προγράμματα PowerPoint 2007. à Microsoft Office à Microsoft Office Όταν

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Μορφοποίηση εικόνων. Εισαγωγή. Στόχος κεφαλαίου

Μορφοποίηση εικόνων. Εισαγωγή. Στόχος κεφαλαίου Περιεχόμενα Κεφάλαιο 1: Προετοιμασία παρουσίασης...1 Κεφάλαιο 2: Διαχείριση διαφανειών...18 Κεφάλαιο 3: Διαχείριση γραφικών...31 Κεφάλαιο 4: Επεξεργασία εικόνων με το Adobe Photoshop...56 Κεφάλαιο 5: Μορφοποίηση

Διαβάστε περισσότερα

Δημιουργία παρουσιάσεων με το PowerPoint

Δημιουργία παρουσιάσεων με το PowerPoint Δημιουργία παρουσιάσεων με το PowerPoint Οι νέες Τεχνολογίες αλλάζουν ριζικά το τοπίο της εκπαίδευσης. Αλλάζουν τον τρόπο διδασκαλίας και μάθησης, τον τρόπο μελέτης αλλά και τον τρόπο έρευνας και αξιολόγησης,

Διαβάστε περισσότερα