ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr 1. ΟΠΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ ΓΛΩΣΣΑ VISUAL BASIC Τύποι µεταβλητών στη Visual Basic Integer Ακέραιοι αριθµοί -32768 έως 32767 Long Ακέραιοι αριθµοί έως περίπου +-2 δις Single Αριθµοί µε υποδιαστολή -10-45 - 1038 Double Αριθµοί µε υποδιαστολή -10-324 - 10308 String σειρά από χαρακτήρες Byte Ακέραιοι αριθµοί 0-255 Boolean True, False Οποιοσδήποτε από τους παραπάνω τύπους είναι variant ΕΡΩΤΗΣΗ: Μπορώ να πω στη Visual Basic να µε αναγκάσει να ΟΡΙΖΩ ΤΟΥΣ ΤΥΠΟΣ ΟΛΩΝ ΤΩΝ ΜΕΤΑΒΛΗΤΩΝ; Απάντηση: Ναι, µε τη δήλωση Option Explicit Ανάγκασε τον προγραµµατιστή να δηλώνει τους τύπους όλων των µεταβλητών του. 2. ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΛΓΟΡΙΘΜΙΚΕΣ ∆ΟΜΕΣ 2.1. ΕΠΑΝΑΛΗΠΤΙΚΗ ∆ΟΜΗ For .. Next Όταν ξέρω πόσες επαναλήψεις θα εκτελέσει ένα µέρος προγράµµατος τότε χρησιµοποιώ την επαναληπτική δοµή for …….next του Παράδειγµα 2.1.1. Έστω ότι θέλω να εισάγω τη στηθαία διάµετρο 20 κορµών και θέλω ο Η/Υ να βρίσκει το άθροισµά τους και τον µέσο όρο τους Αν το υποπρόγραµµα ενεργοποιείται µε το πάτηµα του command1 τότε: ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr Private Sub Command1_Click() Dim s As Integer s=0 For metritis = 1 To 10 d = InputBox("Dose th diametro") s=s+d Next metritis Text1.Text = s End Sub Private Sub Command1_Click() Dim s As Integer Dim MO As Single s=0 For metritis = 1 To 10 d = InputBox("∆ώσε τη στηθιαία διάµετρο") s=s+d Next metritis MO = s / 10 Text1.Text = MO End Sub _________________________________________________________ 2.2. ∆ηµιουργία ΜΕΝΟΥ σε οπτικό περιβάλλον προγραµµατισµού µε τον Menou Editor ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr 2.2.1 Παράδειγµα αλλαγής του χρώµατος της φόρµας Εικόνα 1. Παράδειγµα 2.2.1. Private Sub mnu_blue_Click() Form1.BackColor = QBColor(1) End Sub Private Sub mnu_blue_Click() Form1.BackColor = QBColor(1) mnu_blue.Enabled = False mnu_red.Enabled = True End Sub ___________________________________________________________ Private Sub mnu_red_Click() Form1.BackColor = QBColor(4) mnu_blue.Enabled = True mnu_red.Enabled = False ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr End Sub __________________________________________________________ Private Sub mnu_blue_Click() Form1.BackColor = QBColor(1) mnu_blue.Enabled = False mnu_red.Enabled = True End Sub __________________________________________________________ Private Sub mnu_exit_Click() Form1.Hide End End Sub Private Sub mnu_red_Click() Form1.BackColor = QBColor(4) mnu_blue.Enabled = True mnu_red.Enabled = False End Sub Εικόνα 2. ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr 2.3. Παράδειγµα εκτέλεσης αριθµητικών πράξεων µε µενού Παράδειγµα 2.3.1. Private Sub mnu_prosthesi_Click() Dim a, b As Integer a = Val(Text1.Text) b = Val(Text2.Text) Text3.Text = a + b End Sub 2.4. Επαναληπτική δοµή Do ….. While …. Loop Χρησιµοποιείται όταν δεν ξέρω εκ των προτέρων το πλήθος των επαναλήψεων που θα εκτελεστούν. Παράδειγµα 2.4.1. arithmos=1 Do While (arithmos<20) arithmos=arithmos+1 Loop Η συγκεκριµένη επανάληψη θα µπορούσε να υλοποιηθεί και µε for For arithmos=1 To 20 Next arithmos Όσο ισχύει η συνθήκη θα εκτελείται η επανάληψη. Μόλις πάψει να ισχύει η συνθήκη θα πάψει να εκτελείται και η επανάληψη. Παράδειγµα 2.4.2. Έστω ότι ήθελα να προσθέτω όλους τους αριθµούς από το 1 έως και το 20 ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr S=0 For i=1 To 20 S=S+i Next i Παράδειγµα 2.4.3. Έστω ότι ήθελα να προσθέτω όλους τους άρτιους αριθµούς από το 1 έως και το 20. Προσοχή στην αρχικοποίηση της τιµής του S. S=0 For i=0 To 20 step 2 S=S+i Next i 2.5. ΠΑΡΑ∆ΕΙΓΜΑΤΑ ΧΡΗΣΗΣ του Do .. While … Loop Παράδειγµα 2.5.4. Θέλω ο χρήστης του προγράµµατος να εισάγει το σωστό PASSWORD που είναι 123456. Εφόσον ο χρήστης εισάγει λάθος το password το σύστηµα θα ρωτάει ξανά και ξανά µέχρι το Password να εισαχθεί σωστά. Private Sub Command1_Click() password = InputBox("Παρακαλώ εισάγετε το Password") Do While (password<>"123456") password = InputBox("Λάθος εισαγωγή τιµής Παρακαλώ ξαναεισάγετε το Password") Loop End Sub ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr Εικόνα 3. ___________________________________________________________ Παράδειγµα 2.5.5. Έστω ότι θέλω να ρωτάει µέχρι 5 φορές σε περίπτωση που δίνεται λάθος password από το χρήστη. Private Sub Command1_Click() password = InputBox("Παρακαλώ εισάγετε το Password") metritis=1 If (password="123456") Then MsgBox("Βρήκες τον κωδικό µε την 1η Είσαι πολύ έξυπνος") Endif Do While (password<>"123456") password = InputBox("Λάθος εισαγωγή τιµής Παρακαλώ ξαναεισάγετε το Password") metritis=metritis+1 If (password="123456") Then MsgBox("Επιτέλους ….ουφ Βρήκες τον κωδικό ") Endif If (metritis =5) Then ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr MsgBox("∆ώσατε λάθος 5 φορές το σύνθηµα το πρόγραµµα τερµατίζει") End Endif Loop End Sub Παράδειγµα 2.5.6. Θέλω να γίνεται εισαγωγή 20 διαµέτρων εντός των ορίων 19 µε 27 και να υπολογίζεται ο µέσος όρος Private Sub Command1_Click() Dim diametros As Integer Dim sum As Integer Dim mo As Single Dim max As Integer Dim min As Integer max = 18 min = 28 sum = 0 For i = 1 To 20 diametros = InputBox("Dose diametro") Do While (diametros < 18) Or (diametros > 28) diametros = InputBox("Ksana Dose diametro") Loop If (diametros > max) Then max = diametros If (diametros < min) Then min = diametros sum = sum + diametros Next i mo = sum / i Text1.Text = mo ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr Text2.Text = min Text3.Text = max End Sub Εικόνα 4. Εικόνα 5. ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr Παράδειγµα 2.5.7. Η ίδια εργασία να υλοποιηθεί µε την χρήση µονοδιάστατου πίνακα 20 θέσεων Private Sub Command1_Click() Dim diam(20) As Integer Dim sum As Integer Dim mo As Single Dim max As Integer Dim min As Integer max = 18 min = 28 sum = 0 For i = 1 To 20 diam(i) = InputBox("Dose diametro") Do While (diam(i) < 18) Or (diam(i) > 28) diam(i) = InputBox("Ksana Dose diametro") Loop If (diam(i) > max) Then max = diam(i) If (diam(i) < min) Then min = diam(i) sum = sum + diam(i) Next i mo = sum / i Text1.Text = mo Text2.Text = min Text3.Text = max End Sub ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr Παράδειγµα 2.5.8. Η παραπάνω άσκηση να επεκταθεί ώστε να υπολογίζει και τον αριθµό των δέντρων που έχουν διάµετρο µεγαλύτερη από την µέση διάµετρο. Dim diam(20) As Integer Dim sum As Integer Dim sum2 As Integer Dim mo As Single Dim max As Integer Dim min As Integer max = 18 min = 28 sum = 0 For i = 1 To 20 diam(i) = InputBox("Dose diametro") Do While (diam(i) < 18) Or (diam(i) > 28) diam(i) = InputBox("Ksana Dose diametro") Loop If (diam(i) > max) Then max = diam(i) If (diam(i) < min) Then min = diam(i) sum = sum + diam(i) Next mo = sum / i sum2 = 0 For i = 1 To 20 If (diam(i) > mo) Then sum2 = sum2 + 1 Next ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr Text1.Text = mo Text2.Text = min Text3.Text = max Text4.Text = sum2 Εικόνα 6. Παράδειγµα 2.5.9. Θέλω να γίνεται εισαγωγή 20 διαµέτρων εντός των ορίων 19 µε 27 καθώς και της ηλικίας του κάθε δέντρου. Στη συνέχεια να βρίσκει τον µέσο όρο διαµέτρων και ηλικιών καθώς και τα δέντρα µε διάµετρο µεγαλύτερη του µέσου όρου. Private Sub Command1_Click() Dim diam(20, 2) As Integer ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr Dim sum As Integer Dim sum2 As Integer Dim mo As Single Dim agesum As Integer Dim agemo As Single sum = 0 agesum = 0 For i = 1 To 20 diam(i, 1) = InputBox("Dose diametro") Do While (diam(i, 1) < 18) Or (diam(i, 1) > 28) diam(i, 1) = InputBox("Ksana Dose diametro") Loop diam(i, 2) = InputBox("dose ilikia dentrou") sum = sum + diam(i, 1) agesum = agesum + diam(i, 2) Next mo = sum / i agemo = agesum / i sum2 = 0 For i = 1 To 20 If (diam(i, 1) > mo) Then sum2 = sum2 + 1 Next Text1.Text = mo Text2.Text = sum Text3.Text = agemo End Sub ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr Εικόνα 7. Παράδειγµα 2.5.10. Να γραφτεί πρόγραµµα το οποίο να δίνει την δυνατότητα για εισαγωγή διαµέτρων και ηλικιών για 10 δέντρα. Οι τιµές αυτές να αποθηκεύονται σε πίνακα 10 θέσεων, δύο διαστάσεων. Στην συνέχεια µε το κατάλληλο κουµπί να εισάγουµε µια διάµετρο και να αναζητούµε στον πίνακα αυτή τη διάµετρο. Εάν η διάµετρος δεν υπάρχει να εµφανίζει κατάλληλο µήνυµα. Αν υπάρχει µια φορά να εµφανίζετε η θέση στον πίνακα, η ηλικία και η διάµετρος ενώ αν υπάρχει περισσότερες από µία να εµφανίζονται τα στοιχεία της τελευταίας καταχώρησης µαζί µε ενηµερωτικό µήνυµα. Τέλος να υπάρχει επιλογή µηδενισµού των στοιχείών του πίνακα και της φόρµας. Dim dentra(10, 2) As Integer Private Sub Command1_Click() ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr For i = 1 To 10 dentra(i, 1) = InputBox("Dose diametro") Do While (dentra(i, 1) < 18) Or (dentra(i, 1) > 28) dentra(i, 1) = InputBox("Ksana Dose diametro") Loop dentra(i, 2) = InputBox("dose ilikia dentrou") Next End Sub Private Sub Command2_Click() Dim diametros As Integer Dim plithos As Integer Dim thesi As Integer plithos = 0 diametros = InputBox("dose diametro gia anazitisi") For i = 1 To 10 If dentra(i, 1) = diametros Then plithos = plithos + 1 thesi = i End If Next If plithos = 1 Then Text1.Text = thesi Text2.Text = dentra(thesi, 2) Text.Text = dentra(thesi, 1) End If If plithos = 0 Then MsgBox ("H dimateros pou dosate den iparxei") If plithos > 1 Then MsgBox ("h diametros emfanistike poles fores") Text1.Text = thesi ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr Text2.Text = dentra(thesi, 2) Text3.Text = dentra(thesi, 1) End If End Sub Private Sub Command3_Click() For i = 1 To 10 dentra(i, 1) = 0 dentra(i, 2) = 0 Next Text1.Text = "" Text2.Text = "" Text3.Text = "" MsgBox ("O pinakas Midenistike") End Sub ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr Εικόνα 8. 3. Πίνακες στη Visual Basic Οι πίνακες είναι µια στατική δοµή δεδοµένων η οποία καταλαµβάνει συγκεκριµένο πλήθος συνεχόµενων θέσεων στη µνήµη του Η/Υ και δέχεται προς αποθήκευση µόνο Οµοειδή δεδοµένα. Άρα λοιπόν: ……..προσοχή κάθε πίνακας δέχεται προς εισαγωγή ΜΟΝΟ ίδιου τύπου δεδοµένα και έχει συγκεκριµένο πλήθος αποθηκευτικών θέσεων Παράδειγµα 3.1. Έστω ότι έχω τους βαθµούς 30 φοιτητών και θέλω να τους αποθηκεύσω κάπου έτσι ώστε να µπορούν να χρησιµοποιηθούν από το πρόγραµµα. Έστω ότι ο πίνακας λέγεται vathmoi ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr ∆ΗΛΩΣΗ Dim vathmoi(30) As Integer π.χ. vathmoi(3) =8 σηµαίνει ότι στην 3η θέση αποθηκεύω το 8 Για τη συγκεκριµένη εφαρµογή χρειάζοµαι έναν πίνακα 30 θέσεων 2 7 8 [1][2] [3] …………………………………………………………………………… [30] Ο πίνακας λέµε ότι είναι Στατική δοµή δεδοµένων vathmoi(5)=88 3.1. ΕΙΣΑΓΩΓΗ ΤΙΜΩΝ ΣΕ ΠΙΝΑΚΑ Η εισαγωγή τιµών σε πίνακα γίνεται µε τη χρήση της επαναληπτικής δοµής For ..Next Στο συγκεκριµένο παράδειγµα η εισαγωγή γίνεται ως εξής: For i=1 To 30 vathmoi(i) = InputBox(‘Dose vathmo’) Next i Παράδειγµα 3.1.1. Α. Έστω ότι θέλω να εισάγω σε έναν πίνακα αλφαριθµητικών 10 θέσεων 3 τιµές και να τις εµφανίζω πάνω στη φόρµα µε το πάτηµα του command1. Β. Έστω ότι θέλω να εισάγω σε έναν πίνακα ακεραίων 10 θέσεων 3 τιµές και να τις εµφανίζω πάνω στη φόρµα µε το πάτηµα του command2. Option Explicit Dim Pinakas1(1 To 10) As String Dim Pinakas2(1 To 10) As Integer Private Sub Command1_Click() Dim i As Integer Cls ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr Pinakas1(1) = "Orestiada" Pinakas1(2) = "TK68200" Pinakas1(3) = "Tmhma Dasologias" For i = 1 To 3 Print "H timh tou pinaka Pinakas1 sth thesh " + Str(i) + " einai: " + Pinakas1(i) Next i End Sub Private Sub Command2_Click() Dim i As Integer Cls Pinakas2(1) = 234 Pinakas2(2) = 684 Pinakas2(3) = 199 For i = 1 To 3 Print "H timh tou pinaka Pinakas2 sth thesh " + Str(i) + " einai: " + Str(Pinakas2(i)) Next i End Sub Παράδειγµα 3.1.2. Α. Έστω ότι θέλω να εισάγω σε έναν πίνακα αλφαριθµητικών 10 θέσεων 3 οποιεσδήποτε τιµές µε τη χρήση InputBox και να τις εµφανίζω πάνω στη φόρµα µε το πάτηµα του command1. Β. Έστω ότι θέλω να εισάγω σε έναν πίνακα ακεραίων 10 θέσεων 3 τιµές µε τη χρήση InputBox και να τις εµφανίζω πάνω στη φόρµα µε το πάτηµα του command2. Option Explicit Dim Pinakas1(1 To 10) As String Dim Pinakas2(1 To 10) As Integer __________________________________________________________ Private Sub Command1_Click() Dim i As Integer Cls ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr For i=1 To 3 Pinakas1(i)=InputBox(“Dose keimeno gia apothikefsi”) Next i For i = 1 To 3 Print "H timh tou pinaka Pinakas1 sth thesh " + Str(i) + " einai: " + Pinakas1(i) Next i End Sub __________________________________________________________ Private Sub Command2_Click() Dim i As Integer Cls For i=1 To 3 Pinakas2(i)=InputBox(“Dose arithmo gia apothikefsi”) Next i For i = 1 To 3 Print "H timh tou pinaka Pinakas2 sth thesh " + Str(i) + " einai: " + Str(Pinakas2(i)) Next i End Sub Εικόνα 9. ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr 3.2. Χρήση του Combo Box στους πίνακες της Visual Basic To Combo χρησιµοποιείται για να εµφανίζω µε φιλικό τρόπο τις τιµές ενός πίνακα. Εικόνα 10. Παράδειγµα 3.2.1. _____________________________________________________ Private Sub Command1_Click() Dim i As Integer Cls For i = 1 To 3 Pinakas1(i) = InputBox("Dose keimeno gia apothikefsi") Next i Combo1.Clear For i = 1 To 3 Combo1.AddItem (Pinakas1(i)) Next i End Sub ____________________________________________________ ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr Private Sub Command2_Click() Cls Dim i As Integer For i = 1 To 3 Pinakas2(i) = InputBox("Dose arithmo gia apothikefsi") Next i Combo1.Clear For i = 1 To 3 Combo1.AddItem Str((Pinakas2(i))) Next i End Sub 3.3. Χρήση των CheckBoxes και Option Buttons στη VB Παράδειγµα 3.3.1 Έστω ότι θέλω να υλοποιήσω την πιο κάτω εφαρµογή. Όταν έχω επιλέξει κάποιο check box θα εµφανίζεται το Caption του µε την ένδειξη ON. Αλλιώς θα εµφανίζεται το Caption του µε την ένδειξη OFF. Αντίστοιχα αν έχω επιλέξει ένα option button θα εµφανίζεται το caption του. Στην περίπτωση αυτή θα πρέπει να συντάξω το υποπρόγραµµα Subroutine enhmerosh το οποίο θα τρέχει σε κάθε περίπτωση σχετικού συµβάντος event. Το Interface του προγράµµατος θα είναι το πιο κάτω όπως φαίνεται στην εικόνα 11: ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr Εικόνα 11. Check Boxes και Option Buttons Public Sub enhmerosh() Dim keimeno If Check1.Value = 1 Then keimeno = "Sound: ON" Else keimeno = "Sound: OFF" End If If Check2.Value = 1 Then keimeno = keimeno + Chr(13) +"Mouse: ON" Else keimeno = keimeno + +Chr(13) + "Mouse: OFF" End If If Check3.Value = 1 Then keimeno = keimeno + Chr(13) +"Colors: ON" Else keimeno = keimeno + Chr(13) +"Colors: OFF" End If ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr If option1.Value=True Then keimeno=keimeno + Chr(13) +"FM" End if If option2.Value=True Then keimeno=keimeno + Chr(13) +"AM" End if If option3.Value=True Then keimeno=keimeno + Chr(13) +"CD" End if Label1.Caption=keimeno End Sub Private Sub Check1_Click() enhmerosh End Sub Private Sub Check2_Click() enhmerosh End Sub Private Sub Check3_Click() enhmerosh End Sub Private Sub Form_Load() End Sub Private Sub Option1_Click() enhmerosh End Sub Private Sub Option2_Click() enhmerosh End Sub ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΟΣ ∆ασική Πληροφορική 1 Θεωρία ου 5 ΕΞΑΜΗΝΟΥ ΜΑΘΗΜΑ 1ο Λάζαρος Σ. Ηλιάδης Αναπληρωτής Καθηγητής ∆ΠΘ Email: liliadis@fmenr.duth.gr Private Sub Option3_Click() enhmerosh End Sub
© Copyright 2024 Paperzz