Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα...

29
ΜΑΡΙΟΣ ΒΑΦΕΙΑ∆ΗΣ ΑΝΑΠΛΗΡΩΤΗΣ ΚΑΘΗΓΗΤΗΣ ΑΠΘ ΣΥΟΠΤΙΚΟΣ Ο∆ΗΓΟΣ ΤΗΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ VISUAL BASIC ΘΕΣΣΑΛΟΝΙΚΗ 2005

Transcript of Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα...

Page 1: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

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

ΣΥΟΠΤΙΚΟΣ Ο∆ΗΓΟΣ ΤΗΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ VISUAL BASIC

ΘΕΣΣΑΛΟΝΙΚΗ 2005

Page 2: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

2

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

Η γλώσσα προγραµµατισµού Visual BASIC αποτελεί την πρώτη και πλέον διαδεδοµένη υλοποίηση αντικειµενοστραφούς γλώσσας προγραµµατισµού σε περιβάλλον MS-Windows. Η σύνταξη της βασίζεται στην Quick BASIC που αποτελούσε την πλέον προωθηµένη υλοποίηση της BASIC για το λειτουργικό σύστηµα MS-DOS. Η VB είναι µία εξαιρετικά πλούσια γλώσσα και περιέχει κάποια χαρακτηριστικά από την γλώσσα C την µόνη γλώσσα υψηλού επιπέδου για προγραµµατισµό συστηµάτων. Κύρια διαφοροποίησή της από τις άλλες γλώσσες είναι το ολοκληρωµένο περιβάλλον αναπτύξεως λογισµικού που την συνοδεύει και επιτρέπει την γραφική (οπτική, visual) σύνθεση των διαφόρων στοιχείων που αποτελούν το µέσο επικοινωνίας µε τον χρήστη του τελικού προγράµµατος, δηλαδή τα παράθυρα, µενού κουµπιά κλπ. Είναι γλώσσα υψηλού επιπέδου. Πρωτοπαρουσιάσθηκε το 1991 και από τότε έχει εξελιχθεί, αναπτυχθεί και διαδοθεί ευρύτατα για προγραµµατισµό κάθε είδους εφαρµογών και οπωσδήποτε επιστηµονικών και τεχνικών εφαρµογών, σε ηλεκτρονικούς υπολογιστές τύπου PC µε λειτουργικό MS-Windows. Με τον όρο γλώσσα υψηλού επιπέδου εννοούµε µια συµβολική γλώσσα προγραµµατισµού µε στοιχεία γλωσσικά και αριθµητικά συνηθισµένα σε επιστήµονες και τεχνικούς, που επιτρέπει την σύνταξη προγραµµάτων χωρίς καµία απαίτηση για γνώση της εσωτερικής δοµής και λειτουργίας του υπολογιστού. Το όνοµά της προέρχεται από το Visual (Οπτική) BASIC [Beginners All Purpose Symbolic Instruction Code], δηλαδή είναι γλώσσα που επιτρέπει την ανάπτυξη κώδικα για κάθε χρήση από ανθρώπους που δεν είναι αυστηρά επαγγελµατίες προγραµµατιστές. Είναι πολύ καλή για την έκφραση µαθηµατικών τύπων και τον χειρισµό συµβολοσειρών. Συνοπτικά αναφέρεται σαν “VB”

Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού σε πολλά πανεπιστήµια, ερευνητικά κέντρα και γραφεία µελετών. Αποτελεί ιδιοκτησία της εταιρίας Microsoft που την αναπτύσσει και λόγω της διαδόσεώς της αποτελεί ένα τυποποιηµένο εργαλείο ώστε τα προγράµµατα να είναι µεταφερτά από υπολογιστή σε υπολογιστή, όµως µόνο σε PC µε λειτουργικό σύστηµα MS-Windows. Οι διαδοχικές εκδόσεις της VB µέχρι σήµερα είναι οι ακόλουθες:

1. Visual BASIC 1.0 Για MS-Windows 3.0/3.1. 2. Visual BASIC 2.0 Για MS-Windows 3.0/3.1. 3. Visual BASIC 3.0 Για MS-Windows 3.0/3.1. 4. Visual BASIC 4.0 Για MS-Windows 3.0/3.1, 95/ 98/ ΜΕ/ ΝΤ/ 2000/ XP (16bit και 32bit) 5. Visual BASIC 5.0 Για MS-Windows 95/ 98/ ΜΕ/ ΝΤ/ 2000/ XP 6. Visual BASIC 6.0 Για MS-Windows 95/ 98/ ΜΕ/ ΝΤ/ 2000/ XP 7. Visual BASIC Net Για MS-Windows 95/ 98/ ΜΕ/ ΝΤ/ 2000/ XP

Οι εκδόσεις 1 και 2 είναι συµβατές µεταξύ τους, η 3 κάνει αυτόµατη µετατροπή των κωδίκων που έχουν γραφτεί στις εκδόσεις 1 και 2, η 4 δεν είναι τελείως συµβατή µε τις προηγούµενες, ενώ οι εκδόσεις 5 και 6 είναι συµβατές µεταξύ τους αλλά όχι και µε τις προηγούµενες. Για µικρά προγράµµατα η µετατροπή από τον προγραµµατιστή µεταξύ των διαφόρων εκδόσεων δεν είναι δύσκολή, για πολύπλοκα όµως προγράµµατα είναι ένας σωστός εφιάλτης!

Εκτός από τις παραπάνω υπάρχει και η Visual BASIC for Applications ή VBA και ή Embedded Visual BASIC ή EBD. Η VBA ξεκίνησε σαν αντικαταστάτης των «µακροεντολών» στο πακέτο MS-OFFICE και σήµερα διαδίδεται µε ταχύτητα σαν τυποποιηµένο εργαλείο συντάξεως προσθέτων εντολών και διαδικασιών (scripts) σε µεγάλα πακέτα λογισµικού όπως είναι το AutoCAD, Geomedia, Arc Info κλπ. H EBD απευθύνεται στον προγραµµατισµό των υπολογιστών «παλάµης» (PDA), καθώς και τον προγραµµατισµό ειδικών συστηµάτων υπολογιστών σε αυτοκίνητα και διάφορες οικιακές συσκευές.

Όπως κάθε άλλη γλώσσα προγραµµατισµού, η VB περιλαµβάνει εντολές για την επεξεργασία δεδοµένων. Επιπλέον περιλαµβάνει και «αντικείµενα». Πρόκειται για στοιχεία του περιβάλλοντος των Windows όπως παράθυρα, µενού, κουµπιά κλπ.

Οι εντολές περιλαµβάνουν δηλώσεις και εκτελέσιµες εντολές. Οι δηλώσεις προσδιορίζουν διάφορες παραµέτρους και χαρακτηριστικά του προγράµµατος. Οι εκτελέσιµες εντολές εφαρµόζουν λογικές ή µαθηµατικές πράξεις στα δεδοµένα µε την βοήθεια τελεστών και ειδικών συναρτήσεων ή ρυθµίζουν την ροή του όλου προγράµµατος και την εισαγωγή δεδοµένων και εξαγωγή των αποτελεσµάτων.

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, 2005

Page 3: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

3

ΤΟ ΑΛΦΑΒΗΤΟ ΤΗΣ Visual BASIC Οι µόνοι χαρακτήρες που επιτρέπεται να χρησιµοποιηθούν είναι οι ακόλουθοι:

A B C D E F H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h I j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 0 + - * / ( ) . , “ ^ % # < > ? : & _ ; ΄ = $ και το κενό διάστηµα ΟΙ ΑΡΙΘΜΗΤΙΚΟΙ ΤΕΛΕΣΤΕΣ ΤΗΣ Visual BASIC

Σηµασία Μαθηµατικός συµβολισµός

Visual BASIC

Παράδειγµα

ΠΡΟΣΘΕΣΗ + + Α + Β ΑΦΑΙΡΕΣΗ – – Α - Β

ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ * * Α * Β ∆ΙΑΙΡΕΣΗ / / Α / Β

ΑΚΕΡΑΙΟ ΜΕΡΟΣ ΠΗΛΙΚΟΥ \ A \ B ∆ΕΚΑ∆ΙΚΟ ΜΕΡΟΣ ΠΗΛΙΚΟΥ Modulo MOD A MOD B

ΙΣΟΝ = = Α = Β ΥΨΩΣΗ ΣΕ ∆ΥΝΑΜΗ ΑΒ ^ Α ^ Β

Ο τελεστής + µπορεί να χρησιµοποιηθεί και για την ενοποίηση δύο συµβολοσειρών. Είναι όµως σκόπιµο για τον σκοπό αυτόν να προτιµάται ο τελεστής & που έχει ακριβώς το ίδιο αποτέλεσµα, αλλά δεν µπορεί να χρησιµοποιηθεί για πρόσθεση αριθµών. ΟΙ ΛΟΓΙΚΟΙ ΤΕΛΕΣΤΕΣ ΤΗΣ Visual BASIC

Σηµασία Μαθηµατικόςσυµβολισµός

Visual BASIC Παράδειγµα

Ίσο = = A = B Άνισο <> <> A <> B

Μεγαλύτερο > > A > B Μικρότερο < < A < B

Μεγαλύτερο ή ίσο >= >= A >= B Μικρότερο ή ίσο <= <= A <= B

Και & And A And B Ή | Or A Or B

Μόνο το ένα ή το άλλο Xor A Xor b Όχι ! Not Νοt A

Εκτός από τους παραπάνω τελεστές υπάρχουν και µερικοί ακόµη για ειδικές περιπτώσεις που εξυπηρετούν τον αντικειµενοστραφή προγραµµατισµό των Windows. ΤΥΠΟΙ ∆Ε∆ΟΜΕΝΩΝ ΤΗΣ Visual BASIC Η παράσταση των δεδοµένων µέσα στον υπολογιστή είναι πολύ διαφορετική από το δεκαδικό σύστηµα που χρησιµοποιούµε. Οι ηλεκτρονικοί υπολογιστές χρησιµοποιούν το δυαδικό σύστηµα µε µοναδικά ψηφία (bits) που µπορούν να έχουν τιµές µόνο 0 ή 1, οργανωµένα σε οκτάδες που ονοµάζονται στοιχειώδεις ψηφιολέξεις ή απλά ψηφιολέξεις (bytes). ∆εν υπάρχει η δυνατότητα για µεταβολή της ακρίβειας για κάθε χωριστό δεδοµένο µε αυξοµείωση των ψηφίων ή ψηφιολέξεων που χρησιµοποιούνται για την παράστασή του. Υπάρχουν ορισµένοι µόνο προκαθορισµένοι τύποι δεδοµένων που µπορούν να χρησιµοποιηθούν. Η ακρίβεια του κάθε τύπου εξαρτάται από τον αριθµό των ψηφιολέξεων που χρησιµοποιούνται για την παράσταση του κάθε δεδοµένου. Τα δεδοµένα είναι είτε µεταβλητές, είτε σταθερές.

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, 2005

Page 4: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

4

Τύποι µεταβλητών της VB 6.0

Τύπος Σηµασία Όρια τιµών Ακρίβεια

σε δεκαδικά

Μέγεθος

Byte Χαρακτήρας ∆έχεται τιµές από το 0 και έως το 255. δεν ισχύει 1 byte

Boolean Λογική

Κανονικά απαιτεί µόνο ένα σηµείο και χρησιµοποιείται για εκφράσεις του τύπου Ναι/Όχι, Ορθό/Λάθος, Ανοικτό/Κλειστό κλπ. (δύο καταστάσεων).

δεν ισχύει 2 bytes

Integer Ακέραιος απλής ακρίβειας Από –32,768 έως και 32,767. 0 2 bytes Long Ακέραιος διπλής ακρίβειας Από -2,147,483,648 έως και 2,147,483,647. 0 4 bytes

Single Πραγµατικός απλής ακρίβειας

Από -3.402823x1038 έως -1.401298x10-45 για αρνητικές τιµές και από 1.401298x10-45 έως 3.402823x1038 για θετικές τιµές.

7 4 bytes

Double Πραγµατικός διπλής ακρίβειας

Από -1.79769313486231x10308 έως -4.94065645841247 x10-324 για αρνητικές τιµές και 1.79769313486231 x10308 έως 4.94065645841247 x10-324 για θετικές τιµές.

15 8 bytes

Currency Σταθερής υποδιαστολής Από -922,337,203,685,477.5808 έως και 922,337,203,685,477.5807 4 8 bytes

Decimal ∆εκαδικός

+/79,228,162,514,264,337,593,543,950,335 χωρίς υποδιαστολή +/-7.9228162514264337593543950335 µε 28 δεκαδικά. Ο ελάχιστος µη µηδενικός αριθµός είναι: +/-0.0000000000000000000000000001

0 ή 28 14 bytes

Date Ηµεροµηνία Ηµεροµηνία από 01/01/0100 έως 31/12/9999. δεν ισχύει 8 bytes

Object Αντικείµενο Αναφορά σε αντικείµενο δεν ισχύει 4 bytes

String Συµβολοσειρά µεταβλητού µήκους

Σειρά µε κείµενο ή συνδυασµό κειµένου αριθµών και συµβόλων µε µήκος από 0 έως και περίπου 2 δισεκατοµµύρια χαρακτήρες (δεν επιδέχεται αριθµητικές πράξεις)

δεν ισχύει10 bytes + µήκος της σειράς

String Συµβολοσειρά σταθερού µήκους

Σειρά µε κείµενο ή συνδυασµό κειµένου αριθµών και συµβόλων µε µήκος από 1 έως και περίπου 65400 χαρακτήρες (δεν επιδέχεται αριθµητικές πράξεις)

δεν ισχύει µήκος της σειράς

Variant Γενική µεταβλητή για αριθµούς

Όταν δεν καθορίζεται από τον χρήστη ο τύπος µεταβλητής, τότε η VB αυτοµάτως επιλέγει τον τύπο αυτό που έχει το χαρακτηριστικό να «χωράει» οποιονδήποτε τύπο αριθµού έως και διπλής ακρίβειας

έως 15 16 bytes

Variant Γενική µεταβλητή για συµβολοσειρές

Όταν δεν καθορίζεται από τον χρήστη ο τύπος µεταβλητής, τότε η VB αυτοµάτως επιλέγει τον τύπο αυτό που έχει το χαρακτηριστικό να «χωράει» οποιαδήποτε σειρά µε µήκος έως και περίπου 2 δισεκατοµµύρια χαρακτήρες

- 22 bytes + µήκος της σειράς

Πέρα από τους παραπάνω «απλούς» τύπους µεταβλητών που αποτελούν στοιχεία της VB υπάρχουν και οι ακόλουθοι δύο σύνθετοι τύποι:

1. Οι πίνακες. Είναι συλλογές µεταβλητών του ίδιου τύπου που αντιστοιχούν σε µητρώα 1, 2, 3,... διαστάσεων. Η ακρίβεια του κάθε στοιχείου του πίνακα και ο χώρος που καταλαµβάνει

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, 2005

Page 5: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

5

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, 2005

στην µνήµη είναι τα ίδια µε τον αντίστοιχο τύπο µεταβλητής. Ο συνολικός χώρος που χρειάζεται στην µνήµη ένας πίνακας προκύπτει σαν γινόµενο των διαστάσεων του πίνακα επί τον αριθµό χαρακτήρων για ένα στοιχείο, συν 20 χαρακτήρες για τον πίνακα, συν 4 χαρακτήρες για κάθε διάσταση του πίνακα. Για παράδειγµα ένας πίνακας ακεραίων διπλής ακρίβειας [4x4] απαιτεί:

∆ήλωση πίνακα

∆ιαστάσεις

Αριθµός στοιχείων

Χώρος για ακέραιο διπλής ακρίβειας

20 + 2 x 4 + [4x4] x 4 = 92 χαρακτήρες

Όταν διαστασιολογείται ένας πίνακας µε την εντολή Dim ή άλλη αντίστοιχη οι διαστάσεις που εµφανίζονται στην διαστασιολόγηση πρέπει να υπολογίζονται αυξηµένες κατά 1 για κάθε διάσταση που αρχίζει από το 0.

2. Ο σύνθετος τύπος που ορίζεται από τον προγραµµατιστή µε την εντολή Type και αποτελεί

συνδυασµό απλών τύπων και πινάκων. Ο χώρος που καταλαµβάνει στην µνήµη αντίστοιχα υπολογίζεται σαν άθροισµα των επιµέρους απαιτήσεων κάθε απλού τύπου που περιλαµβάνει. Παράδειγµα:

Type ST_ID Birthdate as integer 4 bytes Name as string * 30 30 bytes ID_No as integer 4 bytes Degree(8) as byte 20+4+8+1 bytes

End Type . . . 71 bytes

Χρειάζεται να γνωρίζουµε τον χώρο που καταλαµβάνουν στην µνήµη οι διάφοροι τύποι µεταβλητών για δύο λόγους:

1. Για να ελέγχουµε πόση συνολικά µνήµη απαιτείται για να εκτελέσουµε ένα πρόγραµµα.

2. Για να προσδιορίζουµε το µήκος των πεδίων εγγραφής/ανάγνωσης σε αρχεία τυχαίας προσπέλασης.

Αριθµός χαρακτήρων Τύπος

µεταβλητής 1 2 3 4 5 6 7 8 … Παρατηρήσεις

1 Integer Ελάχιστος χώρος µνήµης, µέγιστη ταχύτητα 2 Long Λίγος χώρος µνήµης, µεγάλη ταχύτητα 3 Single Λίγος χώρος µνήµης, µέτρια ταχύτητα 4 Double Πολύς χώρος µνήµης, µέτρια ταχύτητα 5 String Πολύς χώρος µνήµης, , µικρή ταχύτητα 6 Date Ειδικός τύπος 7 Variant Πολύς χώρος µνήµης, µικρή ταχύτητα 8 Currency Πολύς χώρος µνήµης, µεγάλη ταχύτητα 9 Boolean Ειδικός τύπος

10 Byte Ειδικός τύπος Ψηφίο : digit, bit Ψηφιολέξη : word Χαρακτήρας : character, byte

1 byte =8 bit 1 word = 2 bytes (16 bit) ή 4 bytes (32 bit)

Page 6: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

6

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Ονόµατα και δηλώσεις µεταβλητών Στην Visual BASIC τα ονόµατα των σταθερών, των µεταβλητών, των αντικειµένων, των υποπρογραµµάτων και των συναρτήσεων µπορούν να συντίθενται από γράµµατα του λατινικού αλφαβήτου, αριθµούς και το σύµβολο [ _ ] (που χρησιµοποιείται στην θέση του κενού διαστήµατος που απαγορεύεται) και να έχουν µήκος έως και 255 χαρακτήρες. Ο πρώτος χαρακτήρας πρέπει να είναι γράµµα και το όνοµα να είναι διαφορετικό από τα ονόµατα των εντολών και βασικών συναρτήσεων της Visual BASIC.

∆εν γίνεται διάκριση ανάµεσα σε πεζά και κεφαλαία γράµµατα. Για παράδειγµα, τα ακόλουθα ονόµατα ορίζουν µια και µόνη µεταβλητή: TIME, time, Time. Μάλιστα εάν το πρόγραµµα γράφεται µε τον επεξεργαστή της VB τότε αυτοµάτως όπου εµφανίζεται το όνοµα µιας µεταβλητής, παίρνει την µορφή µε την οποία πληκτρολογήθηκε την τελευταία φορά. Παραδείγµατα ορθών ονοµάτων: A, B, X,Y,Z, A1, A2, A3, Total_Time , EPS, D_12346, C(I, J)

Παραδείγµατα εσφαλµένων ονοµάτων: 1a (δεν αρχίζει µε γράµµα)

T 143 (Περιέχει κενό διάστηµα)

CO$EF (Περιέχει χαρακτήρες που δεν επιτρέπονται)

Type (Έχει το ίδιο όνοµα µε εντολή της Visual BASIC)

Προσοχή κατά την γραφή του προγράµµατος να µη γίνει σύγχυση των: Ο και 0 (µηδέν), Ζ και 2, S και 5, Ι και 1, 1 και 7

Στην Ελλάδα µπορούν να χρησιµοποιηθούν και ονόµατα γραµµένα στο ελληνικό αλφάβητο, αλλά αυτό πρέπει να αποφεύγεται, διότι µπορεί να δηµιουργήσει σοβαρά προβλήµατα σε κάποιες περιπτώσεις.

Καλό είναι τα ονόµατα να είναι σύντοµα αλλά δηλωτικά του τι αντιπροσωπεύει η µεταβλητή, συνάρτηση κλπ., και στην αρχή του ονόµατος να τίθεται ένα πρόθεµα που να δηλώνει τον τύπο και την λειτουργία της µεταβλητής, συναρτήσεως κλπ. Παραδείγµατα:

Τύπος µεταβλητής Πρόθεµα Παράδειγµα

Boolean (λογική) bln blnFound

Byte (χαρακτήρας) byt bytRasterData

Collection object (αντικείµενο συλλογής) col colWidgets

Currency (συνάλλαγµα) cur curRevenue

Date (Time) (ηµεροµηνία-χρόνος) dtm dtmStart

Double (πραγµατικός διπλής ακρίβειας) dbl dblTolerance

Error (σφάλµα) err errOrderNum

Integer (ακέραιος) int intQuantity

Long (µεγάλος ακέραιος) lng lngDistance

Object (αντικέιµενο) obj objCurrent

Single (πραγµατικός απλής ακρίβειας) sng sngAverage

String (συµβολοσειρά) str strFName

User-defined type (τύπος καθορισµένος από τον προγραµµατιστή) udt udtEmployee

Variant (µεταβλητός τύπος γενικής χρήσεως) vnt vntCheckSum

Page 7: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

7

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Ένα ακόµη πρόθεµα µπορεί να δηλώνει την περιοχή ισχύος της µεταβλητής

Ισχύς Πρόθεµα Παράδειγµα

Σε όλο το πρόγραµµα G gstrUserName

Στην ενότητα M mblnCalcInProgress

Τοπικά στο υποπρόγραµµα ή την συνάρτηση None dblVelocity

Το ίδιο ισχύει και για την δήλωση στοιχείων ελέγχου και γραφικού περιβάλλοντος επικοινωνίας µε τον χρήστη:

Τύπος στοιχείου ελέγχου Πρόθεµα Παράδειγµα

Form frm frmEntry

Directory list box dir dirSource

Grid grd grdPrices

Check box chk chkReadOnly

Combo box, drop-down list box cbo cboEnglish

Command button cmd cmdExit

Common dialog dlg dlgFileOpen

Menu mnu mnuFileOpen

Horizontal scroll bar hsb hsbVolume

Vertical scroll bar vsb vsbRate (Στο Παράρτηµα Α΄ υπάρχει πίνακας µε τα υπόλοιπα στοιχεία ελέγχου και τα αντίστοιχα προθέµατα)

∆ηλώσεις µεταβλητών

Η Visual BASIC δεν απαιτεί την δήλωση των µεταβλητών που χρησιµοποιούνται στο πρόγραµµα, εκτός από τους πίνακες. Οι πίνακες πρέπει οπωσδήποτε να δηλώνονται διότι µόνο έτσι ξεχωρίζουν από τις συναρτήσεις και τα υποπρογράµµατα αφ’ ενός, και αφ’ ετέρου µε την δήλωση προσδιορίζεται ο αριθµός των διαστάσεων και το µέγεθος του πίνακα. Όµως για πολλούς λόγους είναι σκόπιµο κάθε µεταβλητή να δηλώνεται πριν χρησιµοποιηθεί. Η βασική εντολή για την δήλωση µεταβλητών είναι η εντολή Dim. Η δήλωση µιας µεταβλητής µπορεί να γίνει σε επίπεδο υποπρογράµµατος ή σε επίπεδο ενότητας προγράµµατος. Οι λόγοι για τους οποίους πρέπει να δηλώνουµε τις µεταβλητές παρά το ότι δεν είναι απαίτηση της Visual BASIC είναι:

1. Η δήλωση µιας µεταβλητής µας εξασφαλίζει οτι δεν θα κάνουµε λάθος να χρησιµοποιούµε την ίδια µεταβλητή µε διαφορετικούς τύπους και παραλλαγές ονόµατος (πεζά-κεφαλαία) σε διαφορετικές θέσεις του προγράµµατος, νοµίζοντας οτι έχουµε εισάγει στο πρόγραµµα διαφορετικές µεταβλητές.

2. Συγκεντρώνοντας τις δηλώσεις των µεταβλητών στην αρχή κάθε ενότητας, ή σε ειδική ενότητα για όλο το πρόγραµµα, έχουµε άµεση εποπτεία του συνόλου των µεταβλητών που χρησιµοποιούνται και αποφεύγουµε να χρησιµοποιούµε πολλές διαφορετικές προσωρινές µεταβλητές, που αφού χρησιµοποιηθούν µια φορά παραµένουν στην µνήµη χωρίς λόγο.

3. ∆ηλώνοντας µια µεταβλητή µπορούµε να ορίσουµε και τον τύπο της, αν είναι δηλαδή ακέραιος πραγµατικός κλπ.

4. Στην δήλωση µιας µεταβλητής µπορούµε να παραθέσουµε σαν σχόλιο το τι αντιπροσωπεύει ή τι τιµές µπορεί να λάβει αυτή.

Page 8: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

8

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

5. Οι µεταβλητές που δηλώνονται σε επίπεδο υποπρογράµµατος ισχύουν µόνο µέσα στο υποπρόγραµµα στο οποίο είχαν δηλωθεί ενώ οι µεταβλητές που δηλώνονται σε επίπεδο ενότητας προγράµµατος ισχύουν για όλα τα υποπρογράµµατα της ίδιας ενότητας.

Εάν θέλουµε να γίνει υποχρεωτική η δήλωση των µεταβλητών στην VB προτάσσουµε των υπολοίπων εντολών, στην αρχή-αρχή του προγράµµατος, την εντολή Option Explicit. Όταν χρησιµοποιηθεί αυτή η εντολή, τότε κάθε φορά που στην ροή του προγράµµατος εµφανίζεται µια µεταβλητή που δεν έχει δηλωθεί, η εκτέλεση του προγράµµατος παύει µε ένδειξη σφάλµατος. Μπορούµε να ρυθµίσουµε το περιβάλλον αναπτύξεως προγραµµάτων της VB ώστε αυτό αυτοµάτως να προσθέτει την εντολή Option Explicit σε όλα να νέα προγράµµατα που γράφουµε.

Σε όλες τις VB (VB, VBA, VBE) oι µεταβλητές µπορούν να δηλωθούν ως Boolean, Byte, Integer, Long, Currency, Single, Double, Date, String (για συµβολοσειρές µεταβλητού µήκους), String * µήκος (για συµβολοσειρές σταθερού µήκους), Object, ή Variant (στην Vb 6.0 και άλλοι τύποι). Επίσης µπορεί να δηλωθεί σαν τύπος µιας µεταβλητής και τύπος που έχει ορισθεί προηγούµενα από τον προγραµµατιστή µε την εντολή Type. Εάν δεν δηλωθεί τύπος, τότε η µεταβλητή θεωρείται οτι είναι τύπου Variant. Η δήλωση µεταβλητής έχει την ακόλουθη µορφή:

εντολή δηλώσεως + όνοµα µεταβλητής + As + τύπος

Παραδείγµατα:

Dim A As Integer

Dim velocity As Double

Dim intX As Integer, intY As Integer, intZ As Integer

Dim intX, intY, intZ As Integer

Στην τελευταία περίπτωση µόνο η µεταβλητή intZ δηλώνεται ως Integer, ενώ οι υπόλοιπες intX και intY ορίζονται αυτοµάτως ως Variant.

∆ήλωση µεταβλητής µπορεί να γίνει είτε σε επίπεδο ενότητας προγράµµατος είτε σε επίπεδο υποπρογράµµατος ή συναρτήσεως.

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

Οι µεταβλητές που δηλώνονται µε την εντολή Public ισχύουν σε όλο το πρόγραµµα, ακόµη και αν αυτό αποτελείται από πολλές ενότητες.

Οι µεταβλητές που δηλώνονται µε την εντολή Private ισχύουν µόνο στην ενότητα όπου έχουν δηλωθεί. Η διαφορά µε την εντολή Dim είναι οτι αυτή µπορεί να βρίσκεται µέσα σε ένα υποπρόγραµµα, ενώ ή Private για να δηλώνει µεταβλητή που ισχύει σε όλη την ενότητα πρέπει να βρίσκεται στην αρχή της ενότητας και έξω από υποπρόγραµµα.

Μια µεταβλητή που δηλώνεται µε την εντολή Dim µέσα σε ένα υποπρόγραµµα δεν διατηρεί την τιµή που έχει όταν η ροή του προγράµµατος οδηγήσει έξω από το συγκεκριµένο υποπρόγραµµα. Όταν θέλουµε να διατηρούνται στις τοπικές µεταβλητές οι τιµές τους σε διαδοχικές κλήσεις του υποπρογράµµατος τότε οι µεταβλητές αυτές πρέπει να δηλώνονται µε την εντολή Static αντί της Dim.

Τέλος η εντολή Global ορίζει µεταβλητές γενικής ισχύος σε όλο το πρόγραµµα, όπως και η Public, από την οποία έχει αντικατασταθεί στις τελευταίες εκδόσεις της Visual BASIC.

Ειδικές περιπτώσεις δηλώσεων είναι εκείνες που δηλώνουµε µεταβλητές «αντικείµενα» (κυρίως στην VBA) όπως για παράδειγµα «Worksheet» , δηλαδή φύλο εργασίας του MS-EXCEL.

Page 9: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

9

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Σε τέτοιες περιπτώσεις όπως και σε περιπτώσεις που θέλουµε µια επιπλέον χωριστή εµφάνιση κάποιου πλαισίου ή παραθύρου µπορούµε να χρησιµοποιήσουµε την εντολή New. Dim frmOrders As New Access.Form ∆ηλώσεις πινάκων Οι πίνακες δηλώνονται γενικά όπως και οι απλές µεταβλητές, µε επιπλέον στοιχεία την ταυτόχρονη δήλωση των διαστάσεων τους. Η διαστάσεις ορίζονται µε την µέγιστη τιµή του δείκτη που µπορεί να εµφανίσει η κάθε διάσταση χωρισµένη µε κόµµα από την επόµενη και όλες µέσα σε παρενθέσεις µετά το όνοµα του πίνακα. Για παράδειγµα: Dim Vector_A(20) As Integer, Matrix_B(30, 20) As Long

Προσοχή! Η αρίθµηση των στοιχείων στην VB αρχίζει από το 0. Έτσι ένας πίνακας που δηλώνεται ως Dim Matrix_B(1, 1)

στην πραγµατικότητα είναι ένα µητρώο [2x2].

Εάν θέλουµε να αρχίζει η αρίθµηση των στοιχείων από το 1, τότε στην αρχή του προγράµµατος χρησιµοποιούµε την εντολή Option Base 1. Μπορούµε να χρησιµοποιήσουµε κατά τον ίδιο τρόπο και την εντολή Option Base 0, µόνο και µόνο για να µην λησµονήσουµε οτι ή αρχή της αριθµήσεως των στοιχείων είναι το 0.

Ένας άλλος τρόπος δηλώσεως των τιµών των δεικτών των διαστάσεων είναι µε το να δηλωθεί ακριβώς το εύρος των τιµών που επιτρέπεται ως εξής: Dim Matrix_B(2 To 20, -4 To +4)

Αυτό διευκολύνει πολλές φορές την σύνταξη ενός προγράµµατος, όταν οι δείκτες του πίνακα εξαρτώνται από ακέραιες µεταβλητές που δέχονται τιµές σε ένα περιορισµένο πεδίο. Όµως και αυτή η ευκολία µπορεί να δηµιουργήσει προβλήµατα και συνιστάται να αποφεύγεται.

Ο τύπος µεταβλητής ενός πίνακα (ακέραιος, πραγµατικός κλπ) δεν µπορεί να αλλάξει κατά την εκτέλεση ενός προγράµµατος, ο αριθµός των διαστάσεων και το µέγεθος όµως της κάθε διαστάσεως µπορούν να αλλάξουν µε δύο τρόπους:

Α) Εάν ο πίνακας δηλωθεί µε διαστάσεις όχι σταθερούς ακέραιους αλλά µε µεταβλητές, για παράδειγµα: Dim Matrix_B(I, J)

Σε αυτή την περίπτωση βέβαια οι τιµές των µεταβλητών που ορίζουν τις διαστάσεις (I, J) θα πρέπει να έχουν ορισθεί πριν από την δήλωση του πίνακα.

Β) Με την εντολή ReDim που επιτρέπει επαναπροσδιορισµό των διαστάσεων ενός πίνακα, για παράδειγµα: Dim Matrix_B(2, 2)

.

.

.

ReDim Matrix_B(4, 4)

Στην περίπτωση αυτή µπορεί να αλλάξει και ο αριθµός των διαστάσεων του πίνακα και µάλιστα η αρχική δήλωση του πίνακα µπορεί να περιέχει µόνο παρενθέσεις και όχι διαστάσεις όπως για παράδειγµα:

Page 10: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

10

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Dim Matrix_B()

.

.

.

ReDim Matrix_B(4, 4)

Να σηµειωθεί οτι η εντολή ReDim µπορεί να χρησιµοποιηθεί µόνο µέσα σε υποπρογράµµατα σε αντίθεση µε την Dim που µπορεί να χρησιµοποιηθεί οπουδήποτε.

Η βοηθητική εντολή Preserve µπορεί να χρησιµοποιηθεί σε συνδυασµό µε την εντολή ReDim προκειµένου να διατηρηθεί το περιεχόµενο ενός πίνακα κατά την αλλαγή των διαστάσεών του. Συνιστάται όµως να αποφεύγεται διότι µπορεί να προκαλέσει µεγάλα προβλήµατα.

Η VB κάνει πάντα έλεγχο των διαστάσεων και έτσι εάν κατά την εκτέλεση του προγράµµατος εµφανιστούν σε πίνακα δείκτες µε τιµές µεγαλύτερες από αυτές που έχουν δηλωθεί τότε η εκτέλεση του προγράµµατος παύει µε σχετικό σήµα σφάλµατος. Παρόλα αυτά όµως είναι σκόπιµο να ελέγχουµε µε τις κατάλληλες εντολές τις τιµές των δεικτών.

∆ηλώσεις σταθερών (Constants) Μπορούν να δηλωθούν σταθερές στην αρχή του προγράµµατος και να χρησιµοποιηθούν σε όλο το πρόγραµµα µε το όνοµά τους αντί της τιµής που αντιπροσωπεύουν. Αυτό εξυπηρετεί δύο σκοπούς: α) Ένα σύντοµο και χαρακτηριστικό όνοµα βοηθά στην απλότητα γραφής µαθηµατικών σχέσεων µέσα στο πρόγραµµα. β) Αποφεύγονται σφάλµατα κατά την εισαγωγή σταθερών µε πολλά ψηφία σε πολλά σηµεία του προγράµµατος, ενώ απλοποιείται τόσο ο έλεγχος της τιµής των σταθερών, όσο και η αλλαγή της τιµής των αν χρειαστεί (κατά την σύνταξη ή αλλαγές στον πηγαίο κώδικα. Από την στιγµή που θα ορισθεί µια σταθερά, αυτή δεν µπορεί να αλλάξει κατά την εκτέλεση του προγράµµατος. Αυτή είναι και η σηµαντική διαφορά σε σχέση µε την χρήση µεταβλητής για τον ίδιο σκοπό, οπότε από λάθος στον πηγαίο κώδικα θα µπορούσε η µεταβλητή να δεχθεί άλλη τιµή χωρίς αυτό να γίνει αντιληπτό.. Η δήλωση σταθερών γίνεται µε τον όρο Const Παράδειγµα: Public Const Pi As Single = 3.1453 Private Const Dt As Integer = 10

Η Visual BASIC ορίζει (έχει προκαθορίσει) ένα µεγάλο αριθµό από σταθερές για να απλοποιηθεί ή σύνταξη των προγραµµάτων και να τυποποιηθεί η ρύθµιση διαφόρων παραµέτρων στο περιβάλλον Windows, όπως για παράδειγµα τα χρώµατα:

Σταθερά Τιµή Χρώµα vbBlack &H0 Μαύρο vbRed &HFF Κόκκινο vbGreen &HFF00 Πράσινο vbYellow &HFFFF Κίτρινο vbBlue &HFF0000 Μπλέ vbMagenta &HFF00FF Μώβ vbCyan &HFFFF00 Γαλάζιο vbWhite &HFFFFFF Άσπρο

Page 11: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

11

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Τύποι προσδιοριζόµενοι από τον χρήστη και δοµές δεδοµένων Εκτός από τους τύπους µεταβλητών που ορίζονται από την VB ο προγραµµατιστής µπορεί να ορίσει και δικούς του τύπους µε την εντολή Type που είτε να αντιστοιχούν σε απλούς τύπους της VB είτε να είναι σύνθετοι τύποι (συνδυασµοί µεταβλητών). Για παράδειγµα: Type Counter As Integer

Ορίζεται δηλαδή ένας νέος τύπος «Counter» που είναι απλά ένας ακέραιος. Η χρησιµότητα µιας τέτοια δηλώσεως έγκειται µόνο στο ότι κάθε φορά που θα δηλώνεται στην συνέχεια κάποια µεταβλητή ως τύπου Counter αυτή θα χρησιµοποιείται σαν απαριθµητής, χωρίς ωστόσο να αποκλείεται και ή χρήση της σαν απλού ακέραιου. Type Student_File Name As String IDno As Integer CourseNo(60) As integer End Type Dim Undergraduate(500) As Student_File Στην περίπτωση αυτή έχουµε την δήλωση πίνακα ενός νέου σύνθετου τύπου (µιας δοµής δεδοµένων) και την δήλωση µιας µεταβλητής ως µεταβλητής αυτού του νέου συνθέτου τύπου. Τα επιµέρους στοιχεία των συνθέτων τύπων χρησιµοποιούνται µε το όνοµα τους στο οποίο προτάσσεται το όνοµα της σύνθετης µεταβλητής χωρισµένο µε τελεία: Undergraduate(1).Name = «Γιώργος ∆ηµητρίου» Undergraduate(1).IDno = 223 Undergraduate(1).CourseNo(1) = 302 Undergraduate(1).CourseNo(2) = 233

Page 12: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

12

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Αρχεία πηγαίου κώδικα και διάφορα αρχεία κατά την σύνταξη του προγράµµατος Κατά την σύνταξη ενός προγράµµατος τα διάφορα στοιχεία του, καθώς και πολλές βοηθητικές πληροφορίες αποθηκεύονται αυτοµάτως σε ιδιαίτερα αρχεία µε χαρακτηριστικά προσδιοριστικά. Τα σπουδαιότερα είναι: Προσδιοριστικό Περιγραφή Παράδειγµα

.bas Ενότητα BASIC Compute.bas

.cls Ενότητα κλάσεως NewClass.cls

.dca Προσωρινός χώρος του περιβάλλοντος αναπτύξεως Compute.dca

.frm Αρχείο πλαισίου Compute.frm

.frx Ψηφιακό αρχείο πλαισίου Compute.frx

.log Κατάλογος σφαλµάτων κατά το άνοιγµα ενός προγράµµατος από την VB Compute.log

.res Αρχείο γραφικών στοιχείων Frame.res

.vbp Αρχείο ελέγχου ενός προγράµµατος Visual Basic Compute.vbp

.vbw Αρχείο ελέγχου περιβάλλοντος αναπτύξεως ενός προγράµµατος Visual Basic Compute.vbw

Εκτελέσιµα αρχεία Τα εκτελέσιµα αρχεία είναι επίσης διαφόρων κατηγοριών που προσδιορίζονται από τα αντίστοιχα προσδιοριστικά: Προσδιοριστικό Περιγραφή Παράδειγµα

.dll ∆υναµική βιβλιοθήκη MathRoutines.dll

.exe Εκτελέσιµος κώδικας Compute.exe

.ocx Λειτουργικό στοιχείο ActiveX Grid.ocx

Page 13: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

13

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Οι βασικές (εσωτερικές) συναρτήσεις της Visual BASIC 1. Τριγωνοµετρικές συναρτήσεις:

Συνάρτηση Συνάρτηση VB

Ηµίτονο Sin

Συνηµίτονο Cos

Εφαπτοµένη Tan

Τόξο εφαπτοµένης Atn

2. Λογαριθµικές συναρτήσεις και ρίζες:

Συνάρτηση Συνάρτηση VB

Φυσικός λογάριθµος (ln) Log

Εκθετική συνάρτηση (eX) Exp

Τετραγωνική ρίζα Sqr

3. Συναρτήσεις αποκοπής δεκαδικών:

Συνάρτηση Συνάρτηση VB

Ακέραιο µέρος αριθµού Int Αποκοπή δεκαδικών αριθµού Fix

4. ∆ιάφορες συναρτήσεις:

Συνάρτηση Συνάρτηση VB

Απόλυτη τιµή Abs

Τυχαίος αριθµός Rnd

5. Συναρτήσεις µετατροπής τύπου µεταβλητής:

Συνάρτηση VB Μετατροπή σε

CBool Boolean

CByte Byte

CCur Currency

CDate Date

CDec Decimal

CDbl Double

Chr Character

Συνάρτηση VB Μετατροπή σε

CInt Integer

CLng Long

CSng Single

CStr String

CVar Variance

CVErr Error

Συνάρτηση Αποτέλεσµα

Asc Αριθµός ASCII του πρώτου χαρακτήρα της συµβολοσειράς

Hex Συµβολοσειρά σε µορφή δεκαεξαδικού αριθµού

Oct Συµβολοσειρά σε µορφή οκταδικού αριθµού

Str Αριθµός που παρίσταται από την συµβολοσειρά

Val Τιµή που παριστά η συµβολοσειρά

Page 14: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

14

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Όλες οι υπόλοιπες µαθηµατικές συναρτήσεις µπορούν να παραχθούν από τις παραπάνω βασικές:

Συνάρτηση Παράγωγη συνάρτηση VB

Τέµνουσα Sec(X) = 1 / Cos(X)

Συντέµνουσα Cosec(X) = 1 / Sin(X)

Συνεφαπτοµένη Cotan(X) = 1 / Tan(X)

Τόξο ηµιτόνου Arcsin(X) = Atn(X / Sqr(-X * X + 1))

Τόξο συνηµιτόνου Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)

Τόξο τέµνουσας Arcsec(X) = 2 * Atn(1)– Atn(Sgn(X) / Sqr(X * X – 1))

Τόξο συντέµνουσας Arccosec(X) = Atn(Sgn(X) / Sqr(X * X – 1))

Τόξο συνεφαπτοµένης Arccotan(X) = 2 * Atn(1) - Atn(X)

Υπερβολικό ηµίτονο HSin(X) = (Exp(X) – Exp(-X)) / 2

Υπερβολικό συνηµίτονο HCos(X) = (Exp(X) + Exp(-X)) / 2

Υπερβολική εφαπτοµένη HTan(X) = (Exp(X) – Exp(-X)) / (Exp(X) + Exp(-X))

Υπερβολική τέµνουσα HSec(X) = 2 / (Exp(X) + Exp(-X))

Υπερβολική συντέµνουσα HCosec(X) = 2 / (Exp(X) – Exp(-X))

Υπερβολική συνεφαπτοµένη HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) – Exp(-X))

Τόξο υπερβολικού ηµιτόνου HArcsin(X) = Log(X + Sqr(X * X + 1))

Τόξο υπερβολικού συνηµιτόνου HArccos(X) = Log(X + Sqr(X * X – 1))

Τόξο υπερβολικής εφαπτοµένης HArctan(X) = Log((1 + X)/(1 – X)) / 2

Τόξο υπερβολικής τέµνουσας HArcsec(X) = Log((Sqr(-X * X + 1) + 1) / X)

Τόξο υπερβολικής συντέµνουσας HArccosec(X) = Log((Sgn(X)* Sqr(X * X + 1) + 1) / X)

Τόξο υπερβολικής συνεφαπτοµένης HArccotan(X) = Log((X + 1) / (X – 1)) / 2

∆εκαδικός Λογάριθµος Log10(x) = Log(x) / Log(10)

Λογάριθµος προς αυθαίρετη βάση Ν LogN(X) = Log(X) / Log(N)

Page 15: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

15

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

∆οµή ενός προγράµµατος Visual BASIC Κάθε πρόγραµµα Visual BASIC συντάσσεται µε βάση λίγους κανόνες.

1. ∆εν υπάρχει περιορισµός στο µήκος των γραµµών του προγράµµατος κατά την σύνταξη. Αν όµως µια γραµµή υπερβαίνει το µήκος των 255 χαρακτήρων, τότε ο επεξεργαστής VB την «κόβει», εισάγει ένα σύµβολο «_» και συνεχίζει στην επόµενη γραµµή. ∆εν υπάρχει διακριτικό τέλους γραµµής και το περιεχόµενο κάθε γραµµής µπορεί να αρχίζει από οποιαδήποτε στήλη. Εκτός από τα απαραίτητα κενά για τον διαχωρισµό των τµηµάτων µιας εκφράσεως, µπορούν να υπάρχουν και περισσότερα κενά που δεν λαµβάνονται υπ’ όψη από τον µεταφραστή της VB (Ο επεξεργαστής της VB αυτοµάτως µειώνει τα κενά στα τελείως απαραίτητα). ∆εν απαιτείται αρίθµηση των γραµµών του προγράµµατος..

2. ∆ύο οι περισσότερες εντολές µπορούν να γραφούν στην ίδια γραµµή αφού χωρισθούν µε τον χαρακτήρα «:» (άνω-κάτω τελεία).

3. Κάθε πρόγραµµα αποτελείται από το κυρίως πρόγραµµα και ενδεχοµένως µια ή περισσότερες διαδικασίες (procedures), δηλαδή υποπρογράµµατα (Subroutines) και συναρτήσεις (Functions), καθώς και από τις περιγραφές των πλαισίων και των στοιχείων ελέγχου (ή «αντικειµένων» γενικότερα) που περιλαµβάνει.

∆εν υπάρχει ειδική εντολή για να δηλωθεί η αρχή του κυρίως προγράµµατος. Είναι καλό να τοποθετούνται επικεφαλής τους προγράµµατος σχόλια όπου δηλώνονται τουλάχιστον το όνοµα του προγράµµατος, η ηµεροµηνία συντάξεώς του και το όνοµα του προγραµµατιστού. Το πρόγραµµα µπορεί να αρχίζει την εκτέλεση είτε από ένα πλαίσιο είτε από ένα υποπρόγραµµα µε το όνοµα “Main”. Αυτό είναι επιλογή του προγραµµατιστού και ορίζεται µέσα από το αντίστοιχο µενού της VB. Η έναρξη εκτελέσεως ενός προγράµµατος από το “Main” είναι επιθυµητή µόνο στις δύο ακόλουθες περιπτώσεις:

1. Όταν δεν είναι απαραίτητη η δηµιουργία πλαισίων διαλόγων στο πρόγραµµα, όπως για παράδειγµα σε ένα πρόγραµµα που διαβάζει τις οδηγίες και τα δεδοµένα από ένα αρχείο και εξαγει τα αποτελέσµατα πάλι σε ένα σρχείο.

2. Όταν είναι απαραίτητο να γίνουν κάποιες ρυθµίσεις ή να φορτωθούν κάποια δεδοµένα πριν την εµφάνιση οποιουδήποτε πλαισίου και την συνέχιση του προγράµµατος.

Τα υποπρογράµµατα είναι αυτοτελή τµήµατα προγράµµατος που καλούνται µε τη εντολή Call ή απλά µε την χρήση του ονόµατός των και µπορούν να δεχθούν πολλές παραµέτρους κατά την κλήση και να επιστρέψουν επίσης πολλές τιµές στο κυρίως πρόγραµµα. Τα υποπρογράµµατα δηλώνουν την αρχή τους µε την δήλωση Sub, το όνοµα και τις παραµέτρους κλήσεώς τους και το τέλος τους µε την δήλωση End Sub. Παράδειγµα: Sub DistAngle (a as double, b as double, dist as double, angle as double) dist = sqr(a^2 + b^2) angle = tan (a/b) End Sub Οι συναρτήσεις µπορούν να δεχθούν πολλές παραµέτρους κατά την κλήση αλλά επιστρέφουν µόνο µία τιµή, την τιµή της συναρτήσεως και χρησιµοποιούνται όπως και οι βασικές συναρτήσεις της Visual BASIC, δηλαδή µπορούν να γραφούν κατ΄ευθείαν µέσα σε αριθµητικούς τύπους. Οι συναρτήσεις δηλώνουν την αρχή τους µε την δήλωση Function, το όνοµα και τις παραµέτρους κλήσεώς τους και το τέλος τους µε την δήλωση End Function. Παράδειγµα: Function Dist (a as double, b as double) dist = sqr(a^2 + b^2) End Function Τα υποπρογράµµατα και οι συναρτήσεις γράφονται µετά από την εντολή “End” του κυρίως προγράµµατος. Η VB δηµιουργεί αυτοµάτως υποπρογράµµατα για κάθε στοιχείο ελέγχου που υπάρχει σε κάποιο από τα πλαίσια που ορίζονται στο πρόγραµµα. Για να εµφανιστούν και να είναι διαθέσιµα για συµπλήρωση κώδικα αυτά τα υποπρογράµµατα αρκεί κανείς να τα αναζητήσει στις επιλογές που συνοδεύουν το παράθυρο κώδικα του αντιστοίχου πλαισίου. Ο προγραµµατιστής µπορεί να εισάγει υποπρογράµµατα ή συναρτήσεις και µε την βοήθεια σχετικού µενού (Tools > Add_Procedure ) της VB. Γενικά ο επεξεργαστής της VB φροντίζει αυτοµάτως για την τακτοποίηση σε σειρά των διαφόρων υποπρογραµµάτων και συναρτήσεων.

Page 16: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

16

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

4. Πρώτες εντολές του προγράµµατος είναι, εφόσον χρησιµοποιούνται, οι προαιρετικές εντολές Option

Base 1, Option Explicit και οι διάφορες εντολές ορισµού τύπου µεταβλητής µε βάση το πρώτο γράµµα του ονόµατός των, όπως οι DefInt, DefDbl κλπ.,σαν αρχικές ρυθµίσεις του προγράµµατος.

5. Αµέσως µετά οι εντολές δηλώσεων µεταβλητών και πινάκων (Dim, Global κλπ)

6. Ακολουθούν οι εκτελέσιµες εντολές του προγράµµατος (Αριθµητικές και λογικές πράξεις, εντολές

ελέγχου της ροής του προγράµµατος.

7. Μια υποχρεωτική εντολή End που δηλώνει το τέλος του προγράµµατος.

8. Σχόλια µπορούν να χρησιµοποιούνται οπουδήποτε στο πρόγραµµα σαν «άµεση» επεξήγηση και τεκµηρίωση του προγράµµατος.

Στην VB µπορεί κανείς να εισάγει ένα πρόγραµµα ή ενότητες ενός προγράµµατος είτε µε την βοήθεια του ενσωµατωµένου επεξεργαστού κειµένου, είτε χρησιµοποιώντας ένα ανεξάρτητο εξωτερικό επεξεργαστή κειµένου. Ο ενσωµατωµένος επεξεργαστής κειµένου προσφέρει τις ακόλουθες επιπλέον δυνατότητες που είναι χρήσιµες, αλλά µπορεί να γίνουν και ενοχλητικές σε ορισµένες περιπτώσεις ταχείας εισαγωγής κειµένου:

1. Προτάσεις για αυτόµατη συµπλήρωση εντολών και ονοµάτων µεταβλητών.

2. ∆ιόρθωση ονοµάτων µεταβλητών ως προς τα πεζά-κεφαλαία γράµµατα. Η VB κατά την εκτέλεση ενός προγράµµατος δεν κάνει διάκριση µεταξύ πεζών και κεφαλαίων γραµµάτων στα ονόµατα µεταβλητών και συναρτήσεων. Όµως ο ενσωµατωµένος επεξεργαστής κειµένου, αλλάζει τις µεν εντολές σε πεζά εκτός από τον πρώτο χαρακτήρα και τα ονόµατα των µεταβλητών σύµφωνα µε την τελευταία εισαγωγή τους στο κείµενο. Οι αλλαγές επιδρούν σε όλες τις ενότητες του προγράµµατος.

3. Με την συµπλήρωση µιας γραµµής (όταν πατηθεί το πλήκτρο “Enter”) ή όταν τυχόν αλλάξουµε γραµµή, για παράδειγµα προκειµένου να αντιγράψουµε ένα τµήµα κώδικα, η VB κάνει συντακτικό έλεγχο και εµφανίζει µήνυµα σφάλµατος όταν η εντολή δεν είναι ολοκληρωµένη.

4. Χρωµατισµός των διαφόρων στοιχείων του κώδικα, όπως εντολές, σχόλια κλπ. µε διαφορετικό χρώµα προκειµένου να διευκολυνθεί η ανάγνωση και ο έλεγχος. Ο χρωµατισµός αυτός είναι τυποποιηµένος, δεν αλλάζει και δεν µπορεί να εµφανιστεί σε έγχρωµες εκτυπώσεις µέσα από την VB, έως την έκδοση 6. Ανεξάρτητοι επεξεργαστές κειµένου όµως, όπως ο ConText για παράδειγµα, δίνουν την δυνατότητα για πολλές επιλογές ως προς τον χρωµατισµό και την εκτύπωση του κώδικα.

5. Η VB εµφανίζει τα διάφορα υποπρογράµµατα χωρισµένα µεταξύ τους µε µια οριζόντια γραµµή και δίνει την δυνατότητα ταχείας αναζητήσεως κάποιου υποπρογράµµατος ή συναρτήσεως µε την βοήθεια ειδικών εργαλείων στο πλαίσιο του κώδικα. Ο διαχωρισµός των υποπρογραµµάτων όµως δεν εµφανίζεται στις εκτυπώσεις. Ανεξάρτητοι επεξεργαστές κειµένου όµως, όπως ο ScinText για παράδειγµα, δίνουν πολύ περισσότερες δυνατότητες για την εµφάνιση και εκτύπωση του κώδικα.

Page 17: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

17

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

∆ηλώσεις στην VB Οι δηλώσεις είναι εντολές που δεν έχουν άµεσο αποτέλεσµα (δεν είναι εκτελέσιµες), αλλά εισάγουν διάφορες ρυθµίσεις.

1. Γενικές Option Base 1 Η αρίθµηση των στοιχείων όλων των πινάκων να αρχίζει από το 1 και όχι από το

0, εκτός αν ορισθεί διαφορετικά κατά την δήλωση του πίνακα.

Option Explicit Γίνεται υποχρεωτική ή δήλωση όλων των µεταβλητών.

2. Ειδικές Def....τύπος µεταβλητής Αυτή η οικογένεια εντολών δίνει την δυνατότητα να προκαθοριστούν σε επίπεδο ενότητας προγράµµατος τύποι µεταβλητών και συναρτήσεων ανάλογα µε το πρώτο γράµµα του ονόµατός των. DefBool, DefByte, DefInt, DefLng, DefCur, DefSng, DefDbl, DefDec, DefDate, DefStr, DefObj, DefVar Παράδειγµα: Defint I-N DefSng O, P, Q . . . 3. Η δήλωση Declare Η δήλωση Declare επιτρέπει την δήλωση σε επίπεδο ενότητας προγράµµατος εξωτερικών συναρτήσεων και υποπρογραµµάτων. Χρησιµοποιείται τόσο για συναρτήσεις βιβλιοθήκης, όσο και για συναρτήσεις σε βιβλιοθήκες DLL (Dynamic Link Libraries). Στην δήλωση περιλαµβάνονται κατά σειρά τα ακόλουθα: α) (Προαιρετικά). Η έκταση της ισχύος του υποπρογράµµατος ή της συναρτήσεως, δηλαδή Private ή Public. β) (Υποχρεωτικά). Το όνοµα του υποπρογράµµατος ή της συναρτήσεως. γ ) (Υποχρεωτικά). Το όνοµα του αρχείου της βιβλιοθήκης, στην οποία ορίζεται το υποπρόγραµµα ή η συνάρτηση. δ) (Προαιρετικά). Εάν το υποπρόγραµµα ή η συνάρτηση δηλώνεται µε διαφορετικό όνοµα στην βιβλιοθήκη από αυτό µε το οποίο θα χρησιµοποιηθεί στο πρόγραµµα. Αυτή η δυνατότητα έχει ενδιαφέρον στις περιπτώσεις που το όνοµα του υποπρογράµµατος ή της συναρτήσεως από µια εξωτερική βιβλιοθήκη έχει το ίδιο όνοµα µε κάποια άλλη µεταβλητή ή υποπρόγραµµα ή συνάρτηση στο πρόγραµµα ή σε άλλη εξωτερική βιβλιοθήκη που χρησιµοποιείται επίσης. ε) (Υποχρεωτικά). Οι παράµετροι οι οποίες απαιτούνται για την κλήση του υποπρογράµµατος ή της συναρτήσεως, εφόσον βέβαια υπάρχουν. Παρaδείγµατα: Public Declare Sub MatMul Lib "MatrixLib" (Mat1,m,n, Mat2, l) Private Declare Function HypCos Lib "HyperbolicTrg" (arc) As Double

Page 18: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

18

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Οι εκτελέσιµες εντολές της Visual BASIC Εκτελέσιµες είναι οι εντολές που επιφέρουν αλλαγές είτε στις τιµές µεταβλητών, είτε στην ροή του προγράµµατος, είτε εισάγουν ή εξάγουν δεδοµένα. ∆ιακρίνονται σε 4 µεγάλες κατηγορίες:

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

4. Εντολές εισαγωγής-εξαγωγής δεδοµένων

Εντολές αντικαταστάσεως Οι εντολές αυτές αποδίδουν την τιµή µιας µαθηµατικής εκφράσεως ή λογικής σχέσεως ή συνθέσεως συµβολοσειρών σε µια µεταβλητή. Έχουν την γενική µορφή:

Μεταβλητή = Έκφραση

Η µεταβλητή µπορεί να είναι µια απλή µεταβλητή, ένα στοιχείο πίνακα ή στοιχείο µεταβλητής σύνθετου τύπου, ή ιδιότητα αντικειµένου.

Η «έκφραση» µπορεί να είναι µια απλή µεταβλητή, ένα στοιχείο πίνακα ή στοιχείο µεταβλητής σύνθετου τύπου, µια ιδιότητα αντικειµένου, µια συνάρτηση, µια µαθηµατική έκφραση, µια λογική σχέση ή µια έκφραση µε συµβολοσειρές.

Παραδείγµατα: Χ = Υ + Ζ

Gamma = velocity / time

v = Sqr( 2*g*h)

BoolVal = Bool1 And bool2

string1= string1 & string2

EditBox1.Font = EditBox2.Font

Παρατηρήσεις:

Η σειρά εκτελέσεως των πράξεων είναι από αριστερά προς τα δεξιά, όµως οι τυχόν συναρτήσεις υπολογίζονται πρώτες. Είναι καλό να χρησιµοποιούνται παρενθέσεις για τα ορίζεται σαφώς η σειρά των πράξεων(πρώτα υπολογίζεται το περιεχόµενο των πλέον εσωτερικών παρενθέσεων και κατόπιν των αµέσως επόµενων εξωτερικών κοκ.

Παράδειγµα: alpha = Sqr ((a+b)^2 – (b-c)^3)

Page 19: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

19

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Εντολές αλλαγής ροής και αποφάσεων Η κανονική ροή του προγράµµατος είναι από την αρχή προς το τέλος ή από επάνω προς τα κάτω αν προτιµάτε. Με τις εντολές αλλαγής ροής και αποφάσεων η εκτέλεση του προγράµµατος µπορεί να µεταφερθεί σε οποιοδήποτε σηµείο του κώδικα και να διαµορφωθεί ανάλογα µε εξωτερικά δεδοµένα ή την µέχρι εκείνη την στιγµή πορεία της εκτελέσεως του προγράµµατος. Οι εντολές αλλαγής ροής και αποφάσεων αποτελούν την µεγάλη δύναµη του προγραµµατισµού και είναι οι µόνες πραγµατικά απαραίτητες µαζί µε τις εντολές αντικαταστάσεως και εισόδου-εξόδου δεδοµένων. Με κατάλληλη χρήση µπορούν να υποκαταστήσουν τους βρόχους επαναλήψεων και ακόµη τα υποπρογράµµατα.

Η βασική εντολή ελέγχου είναι η εντολή “If - Then - Else”.

Σύνταξη:

If έκφραση Then εντολή προς εκτέλεση [ Else εντολή προς εκτέλεση ]

Εάν ζητείται να εκτελεστεί µια εντολή, ή για περισσότερες εντολές:

If έκφραση Then

εντολή προς εκτέλεση

εντολή προς εκτέλεση . . .

[ Else

εντολή προς εκτέλεση

εντολή προς εκτέλεση . . . ]

End If Παράδειγµα:

If a = 0 Then b = a c = a^2 Else b = 0 c = 0 End If

Παρατηρήσεις:

1. Η εντολή “Else” είναι προαιρετική. Αυτή µπορεί να συνδυασθεί και µε νέα εντολή “If-Then-Else”

2. Η έκφραση µετά το “If ”, που ελέγχεται προκειµένου να αποφασισθεί η εκτέλεση των εντολών, µπορεί να είναι οποιαδήποτε απλή ή σύνθετη, αριθµητική ή λογική έκφραση. Εάν αληθεύει θα εκτελεστούν οι εντολές µετά το “Then” αλλιώς θα εκτελεστούν οι εντολές µετά το “Else”, εάν υπάρχει.

3. Οι εντολές “If - Then - Else” εφόσον περιλαµβάνουν πολλές εντολές προς εκτέλεση κλείνουν µε την δήλωση “End If”.

4. Οι εντολές “If - Then - Else” µπορούν να περιλαµβάνουν στις προς εκτέλεση εντολές και άλλες εντολές “If - Then - Else”, µε µόνη προϋπόθεση οτι αυτές πρέπει να κλείνουν µέσα στην περιοχή µεταξύ του “If” και του “Else” ή του “Else” και του “End If”, του αµέσως ανώτερου επιπέδου.

5. Η προσεκτική και συστηµατική χρήση των εντολών “If-Then-Else” αποτελεί την βάση του «δοµηµένου προγραµµατισµού» που µε την σειρά του αποτελεί την αναγκαία συνθήκη για προγράµµατα ευανάγνωστα, λειτουργικά, αποτελεσµατικά και εύκολα στην ανάπτυξη και συντήρηση.

Page 20: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

20

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Η εντολή αλλαγής ροής “GoTo”

Σύνταξη:

GoTo Ετικέτα

Παράδειγµα: GoTo Alpha

εντολή προς εκτέλεση

εντολή προς εκτέλεση . . .

Alpha:

εντολή προς εκτέλεση

εντολή προς εκτέλεση . . .

Παρατηρήσεις:

1. Με την εντολή “GoTo” γίνεται αλλαγή της ροής του προγράµµατος και όλες οι εντολές που βρίσκονται ανάµεσα στο “GoTo” και την ετικέτα στην οποία παραπέµπει, παραλείπονται.

2. Η ετικέτα µπορεί να είναι αριθµός ή όνοµα (αλφαριθµητικό) µε «:» αµέσως µετά το όνοµα, για να µπορεί το πρόγραµµα να ξεχωρίσει τις ετικέτες από τις µεταβλητές και τις διαδικασίες.

3. Απαιτείται εξαιρετικά µεγάλη προσοχή στην χρήση του “GoTo” διότι η αλόγιστη και εκτεταµένη χρήση του θα κάνει σίγουρα τον κώδικα πολύπλοκο (spaghetti code).

Η εντολή αλλαγής ροής “GoSub - Return ”

Σύνταξη:

GoSub Ετικέτα

Παράδειγµα: GoSub Alpha

εντολή προς εκτέλεση

εντολή προς εκτέλεση . . .

Alpha:

εντολή προς εκτέλεση

εντολή προς εκτέλεση . . . Return

Παρατηρήσεις:

1. Με την εντολή “GoSub - Return” γίνεται αλλαγή της ροής του προγράµµατος προς την ετικέτα στην οποία παραπέµπει, αλλά σε αντίθεση µε την “GoTo”η ροή του προγράµµατος συνεχίζεται µε την αµέσως επόµενη εντολή (µετά την “GoSub”) αφού εκτελεστούν όλες οι εντολές µεταξύ της ετικέτας και της δηλώσεως “Return”. Η εντολή αυτή αποτελεί «κατάλοιπο» από τις πρώτες

Page 21: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

21

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

BASIC. Σήµερα έχει αντικατασταθεί από τις διαδικασίες – υποπρογράµµατα. Σε σχέση µε αυτά τα τελευταία το µόνο πλεονέκτηµά της είναι οτι ο κώδικας εκτελείται πιο γρήγορα και απαιτεί λιγότερο χώρο µνήµης, αφού δεν γίνεται µεταφορά δεδοµένων.

2. Επειδή ο κώδικας που είναι γραµµένος µετά από µια ετικέτα που αποτελεί την αρχή ενός υποπρογράµµατος του τύπου “GoSub - Return” µπορεί να εκτελεστεί κατά την ροή του προγράµµατος χωρίς αλλαγή ροής µε εντολή “GoSub”, θα πρέπει να τίθεται στο τέλος του προγράµµατος ή υποπρογράµµατος όπου χρησιµοποιείται και να χρησιµοποιείται πριν από την ετικέτα η εντολή “Stop”.

3. Η εντολή “GoSub - Return” δεν µπορεί να χρησιµοποιηθεί παρά τοπικά µέσα σε ένα υποπρόγραµµα ή συνάρτηση. ∆εν µπορεί από ένα υποπρόγραµµα να µεταπηδούµε σε άλλο και να επανερχόµαστε µε χρήση αυτής της εντολής.

Η εντολή πολλαπλών συνθηκών ελέγχου “Select Case - Case - End Select”

Σύνταξη:

Select Case Μεταβλητή ή έκφραση

Case Μεταβλητή ή έκφραση

εντολή προς εκτέλεση

εντολή προς εκτέλεση . . .

Case Μεταβλητή ή έκφραση

εντολή προς εκτέλεση

εντολή προς εκτέλεση . . .

[ Case Else

εντολή προς εκτέλεση

εντολή προς εκτέλεση . . .]

End Select

Παράδειγµα: Select Case b

Case 1

a = b

Case 2

a = b * b + 1

Case 3

a = b * b + 10 End Select

Page 22: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

22

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Βρόχοι επαναλήψεων Η δυνατότητα για επαναλήψεις στην εκτέλεση µιας εντολής, ή µιας οµάδας εντολών, είναι ένα από τα κύρια θετικά, και απαραίτητα, σηµεία του προγραµµατισµού. Για να επιτύχουµε τέτοιες επαναλήψεις, µπορούµε να χρησιµοποιήσουµε εντολές αποφάσεων και αλλαγής ροής του προγράµµατος, όµως όλες πρακτικά οι γλώσσες προγραµµατισµού περιλαµβάνουν εξειδικευµένες εντολές για τον σκοπό αυτό που διευκολύνουν σηµαντικά τον προγραµµατιστή και καθιστούν των κώδικα πιο ευανάγνωστο. Στην Visual BASIC υπάρχουν τρεις διαφορετικές µορφές επαναλήψεων που διαφέρουν ως προς το κριτήριο που χρησιµοποιείται για την συνέχεια των επαναλήψεων ή την έξοδο από τον βρόχο επαναλήψεων.

1. Βρόχος “For - Next”

Σύνταξη: For µετρητής = πρώτη τιµή To τελευταία τιµή [Step τιµή]

εντολή προς εκτέλεση

εντολή προς εκτέλεση . . .

Next µετρητής

Παράδειγµα: For i = 1 To 100 Step 2

k = k + 2

d = Sin (k)

Call subComp (d)

Next I

Παρατηρήσεις: 1. Ο βρόχος αυτός λειτουργεί ως εξής: Ο µετρητής παίρνει την «αρχική τιµή» και οι εντολές

που περιέχονται στον βρόχο εκτελούνται µέχρι την εντολή “Next”. τότε ο µετρητής αυξάνει κατά 1 ή όσο ορίζει το “Step”, συγκρίνεται µε την «τελική τιµή» και εάν είναι µικρότερος ή ίσος µε αυτή γίνεται επανάληψη της εκτελέσεως των εντολών. Εάν όµως είναι µεγαλύτερος, η εκτέλεση του προγράµµατος συνεχίζεται µετά τον βρόχο. Μετά την έξοδο από τον βρόχο ο µετρητής έχει τιµή κατά ένα βήµα µεγαλύτερη από αυτήν της «τελικής τιµής».

2. Το τελευταίο τµήµα [Step τιµή] είναι προαιρετικό. Χρησιµοποιείται µόνο όταν το βήµα µεταβολής του µετρητού είναι διαφορετικό από το 1. Το βήµα µπορεί να είναι οποιαδήποτε πραγµατική τιµή εκτός από το 0. Όταν η τιµή του είναι αρνητική, τότε η αρχική τιµή του µετρητή πρέπει να είναι µεγαλύτερη από την τελική, σε κάθε άλλη περίπτωση µικρότερη από την τελική τιµή.

3. Ο µετρητής είναι και µπορεί να χρησιµοποιηθεί σαν οποιαδήποτε άλλη µεταβλητή µέσα στον βρόχο ακόµη και να αλλάξει τιµή από κάποια µαθηµατική σχέση. Στην περίπτωση αυτή χρειάζεται προσοχή να µην πάρει τιµές τέτοιες που οδηγήσουν σε ατέρµονα βρόχο. Μπορεί εάν είναι ακέραιος να χρησιµοποιηθεί και για να ορίσει το στοιχείο ενός πίνακα, δηλαδή να χρησιµοποιηθεί σαν δείκτης.

4. Καλό είναι να αποφεύγεται ή χρήση µη ακεραίων και αρνητικών τιµών σε µετρητές σε βρόχους ώστε να υπάρχει σχετική συµβατότητα µε άλλες γλώσσες προγραµµατισµού και για να εκτελούνται οι κύκλοι επαναλήψεων µε µεγαλύτερη ταχύτητα.

5. Ένας βρόχος επαναλήψεων µπορεί να περιέχει ένα ή περισσότερους άλλους βρόχους επαναλήψεων, διαδοχικούς ή µη, όµως δεν είναι δυνατόν αυτοί να είναι πεπλεγµένοι:

Page 23: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

23

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Ορθό Λάθος For i = 1 To 100

For j = 20 To 200 Step 10

For k = 5 To 50 Step 5

a = a + g * I + b(i, j)+ Cos( k)

Next k

Next j

For j=1 To 10

a = a + j^2

Next j

Next i

For I = 1 To 100

For j = 20 To 200 Step 10

For k = 5 To 50 Step 5

a = a + g * I + b(i, j)+ Cos( k)

Next j

For j=1 To 10

Next k

a = a + j^2

Next j

Next i

Το λάθος αυτό αναγνωρίζεται από την VB που κατά την εκτέλεση ερωτά “For without Next?”, όταν συναντά πρώτα το “Next” από άλλο “For” και όχι αυτό που περιµένει.

6. Η εκτέλεση των επαναλήψεων µπορεί να διακοπή οποιαδήποτε στιγµή και η εκτέλεση του προγράµµατος να συνεχισθεί µετά από τον βρόχο µε την παρεµβολή της εντολής “Exit For”.

2. Βρόχος “Do - Loop”

Σύνταξη: Do [ While ή Until έκφραση ]

εντολή προς εκτέλεση

εντολή προς εκτέλεση . . . [ Exit Do ]

εντολή προς εκτέλεση

εντολή προς εκτέλεση . . .

Loop

ή

Do εντολή προς εκτέλεση

εντολή προς εκτέλεση . . . [ Exit Do ]

εντολή προς εκτέλεση

εντολή προς εκτέλεση . . .

Loop [ While ή Until έκφραση ]

Page 24: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

24

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Παράδειγµα: Do While i < 100

i = i + 2

d = Sin (i)

Call subComp (i)

Loop

Παρατηρήσεις: 1. Ο βρόχος αυτός λειτουργεί ως εξής: οι εντολές που περικλείονται ανάµεσα στο Do και το Loop

εκτελούνται µέχρι να επαληθευθεί ή συνθήκη ελέγχου ή να εκτελεσθεί µια εντολή Exit Do. Η εκτίµηση της συνθήκης ελέγχου γίνεται αντίστοιχα στην θέση που αυτή εµφανίζεται στην αρχή η το τέλος του βρόχου.

2. Ένας βρόχος επαναλήψεων Do-Loop χωρίς καµία συνθήκη ελέγχου και χωρίς Exit Do θα προκαλέσει ατέρµονες επαναλήψεις και το πρόγραµµα «θα κολλήσει».

3. Η εκτέλεση των επαναλήψεων µπορεί να διακοπή οποιαδήποτε στιγµή και η εκτέλεση του προγράµµατος να συνεχισθεί µετά από τον βρόχο µε την παρεµβολή της εντολής “Exit Do”

3. Βρόχος “While - Wend”

Σύνταξη: While έκφραση

εντολή προς εκτέλεση

εντολή προς εκτέλεση . . .

Wend

Παράδειγµα: Counter = 0

While Counter < 20

Counter = Counter + 1

Debug.Print Counter

Wend

Page 25: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

25

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Εντολές εισαγωγής-εξαγωγής δεδοµένων Κάθε πρόγραµµα στον ηλεκτρονικό υπολογιστή επεξεργάζεται δεδοµένα και δίνει αποτελέσµατα. Μπορεί αυτά τα δεδοµένα να είναι αφανή, όπως στην περίπτωση που εκτελούνται εντολές του συστήµατος, οπότε τα δεδοµένα αντλούνται από κάποιες θέσεις µνήµης και τα αποτελέσµατα επίσης καταχωρούνται σε κάποιες θέσεις µνήµης. Στην γενική περίπτωση όµως και ιδιαίτερα στα προγράµµατα που κατασκευάζει ο ίδιος ο χρήστης, τα δεδοµένα τα παρέχει ο χρήστης, είτε άµεσα µε την βοήθεια του πληκτρολογίου, είτε έµµεσα από αρχεία που έχει δηµιουργήσει προηγουµένως και στα οποία έχει καταχωρήσει τα δεδοµένα. Τα αποτελέσµατα από την άλλη πλευρά συνήθως εµφανίζονται στην οθόνη, αλλά µπορούν ακόµη να εκτυπωθούν σε χαρτί ή να καταχωρηθούν σε ένα αρχείο. Ακόµη, η χρήση ειδικών περιφερειακών και δικτύων υπολογιστών απαιτεί την ανταλλαγή δεδοµένων. Η ισχύς και η χρησιµότητα των συγχρόνων υπολογιστών οφείλεται εν πολλοίς στις µεγάλες δυνατότητές τους για εισαγωγή και εξαγωγή δεδοµένων, διαδικασία γνωστή επίσης µε τον αγγλικό όρο “I/O” (Input/Output). Στην γενική περίπτωση ο υπολογιστής χειρίζεται όλες τις εισόδους και εξόδους κατά τον ίδιο τρόπο δηµιουργώντας «ρεύµατα δεδοµένων» (Data Streams). Αυτό διευκολύνει τον προγραµµατισµό αφού µετά από κάποιες αρχικές εντολές µε τις απαραίτητες δηλώσεις και ρυθµίσεις ή εισαγωγή/εξαγωγή των δεδοµένων γίνεται µε ένα τυποποιηµένο τρόπο αναξάρτητα από την πηγή ή τον προορισµό των δεδοµένων αντίστοιχα.

Όπως και στις παλαιότερες BASIC (πριν την εµφάνιση των MS-Windows), η εισαγωγή δεδοµένων γίνεται µε τις εντολές “Input” και “Get”, και η εξαγωγή µε τις εντολές “Print” και “Put”. Το άνοιγµα ενός «ρεύµατος δεδοµένων» γίνεται µε µια εντολή “Open”και το κλείσιµο µε µια εντολή “Close”. Βέβαια υπάρχουν και κάποιες διαφορές που οφείλονται κυρίως στο γεγονός οτι τα MS-Windows δεν επιτρέπουν τα προγράµµατα να έχουν άµεση πρόσβαση στα στοιχεία του υπολογιστή όπως για παράδειγµα η οθόνη και το πληκτρολόγιο, παρά µόνο µέσα από διαδικασίες του Λειτουργικού MS-Windows.

Η εντολή “Open” για το άνοιγµα αρχείων

Σύνταξη: Open [∆ιαδροµη + ] Όνοµα αρχείου For Τύπος Αρχείου As # Αριθµός ρεύµατος δεδοµένων

Ο τύπος αρχείου µπορεί να είναι:

Input Ανάγνωση από αρχείο κειµένου (ASCII).

Το αρχείο περιέχει κείµενο σε γραµµές οριοθετηµένες µε τα σύµβολα [CR-LF], δηλαδή επιστροφή στην αρχή της γραµµής και αλλαγή γραµµής. Το κείµενο διαβάζεται γραµµή-γραµµή.

Output ∆ηµιουργία νέου αρχείου κειµένου (ASCII) και εγγραφή σε αυτό.

Στο αρχείο θα γραφεί κείµενο σε γραµµές οριοθετηµένες µε τα σύµβολα [CR-LF], δηλαδή επιστροφή στην αρχή της γραµµής και αλλαγή γραµµής. Το κείµενο γράφεται γραµµή-γραµµή.

Append Άνοιγµα αρχείου κειµένου (ASCII) που ήδη υπάρχει (ή νέου αν δεν υπάρχει) και εγγραφή σε αυτό µετά το τέλος του κειµένου που τυχόν υπάρχει ήδη στο αρχείο.

Στο αρχείο θα γραφεί κείµενο σε γραµµές οριοθετηµένες µε τα σύµβολα [CR-LF], δηλαδή επιστροφή στην αρχή της γραµµής και αλλαγή γραµµής. Το κείµενο γράφεται γραµµή-γραµµή.

Random Ανάγνωση ή εγγραφή σε αρχείο µε ελεύθερη προσπέλαση. Αν το αρχείο δεν υπάρχει θα δηµιουργηθεί νέο.

Το αρχείο περιέχει πεδία µε µήκος που προσδιορίζονται µε µια δήλωση “Len = µήκος πεδίου” (αµέσως µετά από τον αριθµό ρεύµατος δεδοµένων) και οι εγγραφές γίνονται σε οποιαδήποτε θέση του αρχείου (και η ανάγνωση επίσης) µε αριθµό πολλαπλάσιο από αυτό που δηλώνει η δήλωση “Len”.

Page 26: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

26

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

Binary Ανάγνωση ή εγγραφή σε ψηφιακό αρχείο µε ελεύθερη προσπέλαση. Αν το αρχείο δεν υπάρχει θα δηµιουργηθεί νέο.

Το αρχείο περιέχει χαρακτήρες (1 byte) και οι εγγραφές γίνονται σε οποιαδήποτε θέση του αρχείου (και η ανάγνωση επίσης).

Μετά από την δήλωση του τύπου αρχείων “Random” ή “Binary” µπορούν να παρεµβληθούν και οι δηλώσεις “Access Read” ή “Access Write” ή “Access Read Write”, που προσδιορίζουν τι ενέργειες επιτρέπονται στο αρχείο, δηλαδή ανάγνωση, εγγραφή ή και τα δύο, ή και οι εντολές “Shared”, “Lock Read”, “Lock Write” ή “Lock Read Write”, που «κλειδώνουν» το αρχείο για αποκλειστική χρήση από το πρόγραµµα που το ανοίγει ή επιτρέπουν µερική ή ολική πρόσβαση και σε άλλα προγράµµατα.

Παραδείγµατα: Open “C:\data\datafile1.dat” For Input As #3

Open Filename For Output As #outstream

Παρατήρηση: Μπορούν να χρησιµοποιηθούν και µεταβλητές για την διαδροµή+όνοµα αρχείου και για τον αριθµό ρεύµατος δεδοµένων

Open “C:\data\datafile1.dat” For Random As #3 Len=12

Η εντολή “Input” για την ανάγνωση δεδοµένων (εισαγωγή στον υπολογιστή) από αρχεία κειµένου

Σύνταξη: Input # Αριθµός ρεύµατος δεδοµένων , Μεταβλητή 1, Μεταβλητή 2, Μεταβλητή 3...

Line Input # Αριθµός ρεύµατος δεδοµένων , Μεταβλητή 1, Μεταβλητή 2, Μεταβλητή 3...

Παραδείγµατα: Input #2, A, B, G, K

Line Input #Infile, DataLine$

Η εντολή “Print” για την εγγραφή δεδοµένων (εξαγωγή από τον υπολογιστή) σε αρχεία κειµένου

Σύνταξη: Print # Αριθµός ρεύµατος δεδοµένων , Μεταβλητή 1, Μεταβλητή 2, Μεταβλητή 3...

Παράδειγµα: Print#3, A, G, K

Η εντολή “Get” για την ανάγνωση (εισαγωγή στον υπολογιστή) πεδίων ή χαρακτήρων από αρχεία τυχαίας προσπελάσεως ή ψηφιακά.

Σύνταξη: Get # Αριθµός ρεύµατος δεδοµένων, [Αριθµός πεδίου], Μεταβλητή

Παράδειγµα: Get #3, 23, G Η εντολή “Put” για την εγγραφή πεδίων ή χαρακτήρων (εξαγωγή από τον υπολογιστή) σε αρχεία τυχαίας προσπελάσεως ή ψηφιακά.

Σύνταξη: Put # Αριθµός ρεύµατος δεδοµένων, [Αριθµός πεδίου], Μεταβλητή

Παράδειγµα: Put #4, 350, K

Page 27: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

27

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

∆ιαδικασία αναπτύξεως λογισµικού µε την Visual BASIC. Με την επιλογή και ενεργοποίηση του εικονιδίου της Visual BASIC στην επιφάνεια εργασίας, εµφανίζεται το περιβάλλον αναπτύξεως λογισµικού της Visual BASIC µε µια επιπλέον κάρτα επιλογής «µελέτης» που προτείνει την επιλογή δηµιουργίας ενός «Standard.EXE» προγράµµατος. Εφόσον αποδεχθούµε την επιλογή η Visual BASIC δηµιουργεί µια αρχική κάρτα (παράθυρο) επάνω στην οποία µπορούµε να τοποθετήσουµε διάφορα στοιχεία ελέγχου ή απλά γραφικά διακοσµητικά στοιχεία, από ένα σύνολο διαθέσιµων στοιχείων στο πλαίσιο εργαλείων αριστερά στην επιφάνεια εργασίας.

Για κάθε στοιχείο µπορούµε να ρυθµίσουµε τις διάφορες ιδιότητες του είτε άµεσα (θέση, διαστάσεις), είτε έµµεσα από την πινακίδα ιδιοτήτων κάτω δεξιά στην επιφάνεια εργασίας.

Για κάθε στοιχείο µπορούµε να εισάγουµε κώδικα που θα εκτελείται κατά την κλήση ή ενεργοποίηση του στοιχείου ελέγχου όταν θα εκτελείται το πρόγραµµα, δηλαδή για τα κουµπιά όταν αυτά πατηθούν, για τα πλαίσια κειµένου όταν αλλάξει το κείµενο σε αυτά κλπ. Ο σχετικός κώδικας γράφεται στο αντίστοιχο υποπρόγραµµα που δηµιουργεί η Visual BASIC και που µπορούµε να φέρουµε στην επιφάνεια είτε άµεσα διαλέγοντας µε το ποντίκι του στοιχείο ελέγχου που µας ενδιαφέρει και ενεργοποιώντας το µε διπλό «κλικ», είτε έµµεσα από την πινακίδα επιλογής των στοιχείων της µελέτης επάνω δεξιά στην επιφάνεια εργασίας.

Η εκτέλεση του προγράµµατος θα αρχίζει πάντα µε αυτό το πρώτο παράθυρο που δηµιουργεί η Visual BASIC, εκτός αν δηλωθεί διαφορετικό παράθυρο ή ένα ειδικό υποπρόγραµµα «Main». Το ειδικό αυτό υποπρόγραµµα είναι χρήσιµο στις περιπτώσεις που θέλουµε να ρυθµιστούν διάφορες παράµετροι ή να εκτελεστούν κάποιες λειτουργίες πριν να εµφανιστεί το πρώτο παράθυρο του προγράµµατος στην οθόνη ή στην περίπτωση που δεν επιθυµούµε να εµφανίζεται τίποτε στην οθόνη αλλά µόνον να εκτελείται κάποιος κώδικας πχ. για υπολογισµούς, διαχείριση δεδοµένων κλπ.

Είναι δυνατή η πρόσθεση µεγάλου αριθµού παραθύρων και υποπρογραµµάτων, καθώς και η αλλαγή των ονοµάτων, των ιδιοτήτων τους και της οργανώσεως τους σε ενότητες.

Οι διάφορες λειτουργίες και ρυθµίσεις της Visual BASIC µπορούν να γίνονται είτε από τα µενού στο επάνω µέρος της επιφάνειας εργασίας, είτα από τα αντίστοιχα κουµπιά ακριβώς από κάτω, είτε µε πλήκτρα συντοµεύσεων µέσω του πληκτρολογίου. Τόσο το περιβάλλον όσο και ο µηχανισµός λειτουργίας της Visual BASIC επιδέχεται ρυθµίσεις και επεκτάσεις έτσι ώστε να έρθει «στα µέτρα» του προγραµµατιστή και να τον διευκολύνει να κάνει ταχύτερα, ανετότερα και καλύτερα την δουλειά του.

ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ ΚΑΙ ΑΝΑΠΤΥΞΕΩΣ ΠΡΟΓΡΑΜΜΑΤΩΝ ΤΗΣ VISUAL BASIC

Page 28: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

28

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

ΠΑΡΑΡΤΗΜΑ Α΄ Χαρακτηριστικά προθέµατα για τα διάφορα στοιχεία (γραφικά και ελέγχου) στα παράθυρα.

3D Panel pnl pnlGroup

ADO Data ado adoBiblio

Animated button ani aniMailBox

Communications com comFax

Control (σε ειδικές περιπτώσεις όταν ο τύπος του στοιχείου είναι άγνωστος)

ctr ctrCurrent

Data dat datBiblio

Data-bound combo box dbcbo dbcboLanguage

Data-bound grid dbgrd dbgrdQueryResult

Data-bound list box dblst dblstJobType

Data combo dbc dbcAuthor

Data grid dgd dgdTitles

Data list dbl dblPublisher

Data repeater drp drpLocation

Date picker dtp dtpPublished

Drive list box drv drvTarget

File list box fil filSource

Flat scroll bar fsb fsbMove

Frame fra fraLanguage

Gauge gau gauStatus

Graph gra graRevenue

Hierarchical flexgrid flex flexOrders

Image img imgIcon

Image combo imgcbo imgcboProduct

ImageList ils ilsAllIcons

Label lbl lblHelpMessage

Lightweight check box lwchk lwchkArchive

Lightweight combo box lwcbo lwcboGerman

Lightweight command button lwcmd lwcmdRemove

Lightweight frame lwfra lwfraSaveOptions

Lightweight horizontal scroll bar lwhsb lwhsbVolume

Lightweight list box lwlst lwlstCostCenters

Lightweight option button lwopt lwoptIncomeLevel

Lightweight text box lwtxt lwoptStreet

Lightweight vertical scroll bar lwvsb lwvsbYear

Line lin linVertical

Page 29: Συνοπτική εισαγωγή στην γλώσσα ... · 2018. 12. 8. · Η γλώσσα VB έγινε το κατ’ εξοχήν εργαλείο προγραµµατισµού

29

Μάριος Βαφειάδης, Τοµέας Υδραυλικής και Τεχνικής Περιβάλλοντος ΑΠΘ, Μάιος 2002-05-16

List box lst lstPolicyCodes

ListView lvw lvwHeadings

MAPI message mpm mpmSentMessage

MAPI session mps mpsSession

MCI mci mciVideo

Month view mvw mvwPeriod

MS Chart ch chSalesbyRegion

MS Flex grid msg msgClients

MS Tab mst mstFirst

OLE container ole oleWorksheet

Option button opt optGender

Picture box pic picVGA

Picture clip clp clpToolbar

ProgressBar prg prgLoadFile

Remote Data rd rdTitles

RichTextBox rtf rtfReport

Shape shp shpCircle

Slider sld sldScale

Spin spn spnPages

StatusBar sta staDateTime

SysInfo sys sysMonitor

TabStrip tab tabOptions

Text box txt txtLastName

Timer tmr tmrAlarm

Toolbar tlb tlbActions

TreeView tre treOrganization

UpDown upd updDirection