ΚΕΝΤΡΟ ΠΛΗ.ΝΕ.Τ. Ν. ΦΛΩΡΙΝΑΣ

Ασκήσεις στη Visual Basic

 

Άσκηση 1η – Οι Συναρτήσεις InputBox(), MsgBox() και MsgBox 

Να δημιουργηθεί μια φόρμα που θα περιέχει δύο πλήκτρα εντολής με τις ετικέτες Καταχώρηση Ονόματος και Εμφάνιση Ονόματος αντίστοιχα. Όταν θα κάνουμε κλικ στο πρώτο πλήκτρο εντολής, θα εμφανίζεται ένα πλαίσιο διαλόγου όπου θα καταχωρούμε ένα όνομα και όταν θα κάνουμε κλικ στο δεύτερο πλήκτρο εντολής, θα εμφανίζεται σ’ ένα άλλο πλαίσιο διαλόγου το όνομα που γράψαμε.

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm01
Άσκηση 1η

Πλήκτρο εντολής-1

Name
Caption

cmdGet
Καταχώρηση Ονόματος

Πλήκτρο εντολής-2

Name
Caption

cmdShow
Εμφάνιση Ονόματος

Στην περιοχή γενικών δηλώσεων της φόρμας γράφουμε τα εξής :

Dim sName As String            'ορατή και από τα δύο πλήκτρα

Η μεταβλητή επιπέδου φόρμας sName θα λάβει είσοδο από τη συνάρτηση InputBox() και θα παρουσιάσει έξοδο με τη συνάρτηση MsgBox().

Στην εφαρμογή αυτή, όταν ο χρήστης πατά το πλήκτρο με τον τίτλο «Καταχώρηση Ονόματος», εμφανίζεται ένα πλαίσιο διαλόγου που ζητά ένα όνομα. Η είσοδος ελέγχεται για να δούμε αν ο χρήστης έχει γράψει κάτι και θα παρουσιάζουμε ένα μήνυμα λάθους αν είναι κενό το πλαίσιο διαλόγου ή αν ο χρήστης πατήσει το πλήκτρο Cancel.

Η διαδικασία cmdGet_Click() είναι η εξής :

Private Sub cmdGet_Click()

sName = InputBox$("Δώστε όνομα : ", "Καταχώρηση Ονόματος")

If sName = "" Then

MsgBox "Δεν δόθηκε κάποια τιμή!", 48, "Λάθος"

End if

End Sub

Τώρα θα γράψουμε και τον κώδικα για το συμβάν «πάτημα» (Click) του πλήκτρου cmsShow. Όταν πατάμε το πλήκτρο αυτό, η τρέχουσα τιμή της μεταβλητής sName παρουσιάζεται σ' ένα πλαίσιο διαλόγου μ’ ένα ερωτηματικό και με τα τρία πλήκτρα Yes, No, Cancel.

Ανάλογα με το ποιο από τα τρία παραπάνω πλήκτρα θα πατήσει ο χρήστης, θα εμφανισθεί κι ένα ανάλογο μήνυμα.

Private Sub cmdShow_Click()

Dim sMsg As String

Dim iRetVal As Integer

iRetVal = MsgBox("Γράψατε : " & sName, 35, "Εμφάνιση Ονόματος")

If iRetVal = 6 Then

sMsg = "Πατήσατε το Ναι"

ElseIf iRetVal = 7 Then

            sMsg = "Πατήσατε το Όχι"

Else

            sMsg = "Πατήσατε το Άκυρο"

End If

MsgBox sMsg, 64, "Η Διαδικασία MsgBox"

End Sub

Ένας άλλος τρόπος λύσης της παραπάνω διαδικασίας με χρήση της δομής Select Case End Select είναι ο εξής :

Private Sub cmdShow_Click()

Dim sMsg As String

Dim iRetVal As Integer

iRetVal = MsgBox("Γράψατε : " & sName, 35, "Εμφάνιση Ονόματος")

Select Case iRetVal

            Case 6

sMsg = "Πατήσατε το Ναι"

Case 7

                        sMsg = "Πατήσατε το Όχι"

            Case Else

            sMsg = "Πατήσατε το Άκυρο"

End Select

MsgBox sMsg, 64, "Η Διαδικασία MsgBox"

End Sub

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

Τα πλαίσια διαλόγου InputBox και MsgBox ανήκουν στην κατηγορία των υποχρεωτικών πλαισίων διαλόγου (modal dialog boxes), δηλ. πρέπει να επιλέξουμε κάτι και να τα κλείσουμε πριν συνεχίσουμε την εργασία μας μ’ ένα άλλο παράθυρο.

 

Άσκηση 2η – Δημιουργία Χρονομέτρου – Οι Συναρτήσεις Now() και Format()

Να δημιουργηθεί μια φόρμα που θα περιέχει δύο πλήκτρα εντολής με τις ετικέτες StartTime και StopTime αντίστοιχα. Όταν θα κάνουμε κλικ στο πρώτο πλήκτρο εντολής, θα εμφανίζεται η τρέχουσα ώρα σ’ ένα διπλανό πλαίσιο κειμένου και όταν θα κάνουμε κλικ στο δεύτερο πλήκτρο εντολής, θα εμφανίζεται η τρέχουσα ώρα σ’ ένα άλλο διπλανό πλαίσιο κειμένου αλλά και ο χρόνος που μεσολάβησε ανάμεσα στα δύο πατήματα σ’ ένα τρίτο πλαίσιο κειμένου.

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm02
Άσκηση 2η - Χρονόμετρο

Πλήκτρο εντολής-1

Name
Caption

cmdStartTime
StartTime

Πλήκτρο εντολής-2

Name
Caption

cmdStopTime
StopTime

Πλαίσιο Κειμένου-1

Name

txtStartTime

Πλαίσιο Κειμένου-2

Name

txtStopTime

Πλαίσιο Κειμένου-2

Name

txtElapsedTime

Στην περιοχή γενικών δηλώσεων της φόρμας γράφουμε τα εξής :

Dim StartTime As Variant

Dim StopTime As Variant

Dim ElapsedTime As Variant

        ‘ Δηλώνουμε τρεις μεταβλητές για τους τρεις χρόνους

Οι υπόλοιπες διαδικασίες που πρέπει να γράψουμε είναι οι εξής :

Private Sub cmdStartTime_Click()

StartTime = Now()

txtStartTime = Format(StartTime, "hh:mm:ss")

cmdStopTime.Enabled = True

End Sub

 

Private Sub cmdStopTime_Click()

StopTime = Now()

txtStopTime = Format(StopTime, "hh:mm:ss")

ElapsedTime = StopTime - StartTime

txtElapsedTime = Format(ElapsedTime, "hh:mm:ss")

End Sub

 

Private Sub frm02_Load()

cmdStopTime.Enabled = False

End Sub

Η συνάρτηση Now() επιστρέφει την τρέχουσα ώρα του συστήματος και η συνάρτηση Format() μορφοποιεί μια τιμή σύμφωνα με το πρότυπο που θα της υποδείξουμε.

Με το ξεκίνημα της εφαρμογής, δηλ. στο συμβάν Load της φόρμας, κάνουμε το δεύτερο πλήκτρο εντολής cmdStopTime να μην είναι ενεργό. Θα γίνει ενεργό μόνο όταν κάνουμε κλικ στο πρώτο πλήκτρο εντολής cmdStartTime.

Δηλώσαμε τις τρεις μεταβλητές σαν τύπου Variant για να μπορούν να χειριστούν και αριθμούς και αλφαριθμητικά.
 

Άσκηση 3η – Μετατροπή από Βαθμούς Κελσίου σε Βαθμούς Φαρενάιτ

Να δημιουργηθεί μια φόρμα που να περιέχει τρία πλήκτρα εντολής. Το πρώτο πλήκτρο ενττολής (Καταχώρηση Θερμοκρασίας) θα καλεί μια διαδικασία όπου θα καταχωρούμε έναν αριθμό, το δεύτερο πλήκτρο εντολής θα μετατρέπει αυτόν τον αριθμό από βαθμούς Φαρενάιτ σε βαθμούς Κελσίου (Φαρενάιτ-Κελσίου) και το τρίτο πλήκτρο εντολής θα μετατρέπει αυτόν τον αριθμό από βαθμούς Κελσίου σε βαθμούς Φαρενάιτ (Κελσίου-Φαρενάιτ).

Οι τύποι μετατροπής είναι οι εξής :

K = (F - 32) * 5 / 9

F = 9 * K / 5 + 32

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm03
Άσκηση 3η – Βαθμοί
KF

Πλήκτρο εντολής-1

Name
Caption

cmdRead
Καταχώρηση Θερμοκρασίας

Πλήκτρο εντολής-2

Name
Caption

cmdFK
Φαρενάιτ – Κελσίου

Πλήκτρο εντολής-3

Name
Caption

cmdKF
Κελσίου – Φαρενάιτ

Στην περιοχή γενικών δηλώσεων της φόρμας γράφουμε τα εξής :

Dim b As Integer        'ο βαθμός που θα διαβασθεί

Οι διαδικασίες που πρέπει να γράψουμε είναι οι εξής :

Private Sub cmdFK_Click()

Dim k As Integer

k = (b - 32) * 5 / 9

MsgBox "Θερμοκρασία Κελσίου : " & k, 64,_

"Μετατροπή Φαρενάιτ-Κελσίου"

End Sub

 

Private Sub cmdKF_Click()

Dim f As Integer

f = 9 * b / 5 + 32

MsgBox "Θερμοκρασία Φαρενάιτ : " & f, 64,_

"Μετατροπή Κελσίου-Φαρενάιτ"

End Sub

 

Private Sub cmdRead_Click()

b = InputBox("Δώσε Θερμοκρασία", "Καταχώρηση Θερμοκρασίας")

End Sub

 

Άσκηση 4η – Οι Συναρτήσεις Len(), Mid(), Asc(), UCase(), LCase() και InStr()

Να δημιουργηθεί μια φόρμα που να περιέχει μια ετικέτα (label) με το κείμενο Καταχώρηση Ονόματος και ένα διπλανό πλαίσιο κειμένου (txtName) στο οποίο θα μπορούμε να καταχωρήσουμε ένα όνομα.

Ακριβώς από κάτω θα υπάρχουν 6 πλήκτρα εντολής με αντίστοιχες διπλανές ετικέτες. Αφού καταχωρήσουμε ένα όνομα στο πλαίσιο κειμένου και κάνουμε κλικ σ’ ένα από τα πλήκτρα εντολής, θα εμφανίζεται στη διπλανή ετικέτα το αποτέλεσμα της αντίστοιχης συνάρτησης η οποία θα επιδρά στο περιεχόμενο του πλαισίου κειμένου txtName.

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm04
Άσκηση 4η – Χρήσιμες Συναρτήσεις

Ετικέτα

Name
Caption

Label1
Καταχώρηση Ονόματος

Πλαίσιο Κειμένου

Name

txtName

Πλήκτρο εντολής-1

Name
Caption

cmdLen
Len()

Πλήκτρο εντολής-2

Name
Caption

cmdMid
Mid()

Πλήκτρο εντολής-3

Name
Caption

cmdAsc
Asc()

Πλήκτρο εντολής-4

Name
Caption

cmdUCase
UCase()

Πλήκτρο εντολής-5

Name
Caption

cmdLCase
LCase()

Πλήκτρο εντολής-6

Name
Caption

cmdInStr
InStr
()

Ετικέτα-1

Name

lblLen

Ετικέτα-2

Name

lblMid

Ετικέτα-3

Name

lblAsc

Ετικέτα-4

Name

lblUCase

Ετικέτα-5

Name

lblLCase

Ετικέτα-6

Name

lblInStr

 Οι έξι συναρτήσεις που θα χρησιμοποιήσουμε είναι οι εξής :

Για τους σκοπούς της άσκησης, η συνάρτηση Mid() θα επιστρέψει τους 3 πρώτους χαρακτήρες του ονόματος που θα καταχωρήσουμε, η συνάρτηση Asc() θα επιστρέψει τον ascii κώδικα του πρώτου χαρακτήρα του ονόματος και η συνάρτηση InStr() θα επιστρέψει τη θέση του χαρακτήρα a μέσα στο όνομα. Αν δεν υπάρχει το γράμμα a, η συνάρτηση θα επιστρέψει 0.

Οι διαδικασίες που πρέπει να γράψουμε είναι οι εξής :

Private Sub cmdLen_Click()

lblLen.Caption = Len(txtName)

End Sub

Private Sub cmdMid_Click()

lblMid.Caption = Mid(txtName, 1, 3)

End Sub

Private Sub cmdAsc_Click()

lblAsc.Caption = Asc(Mid(txtName, 1, 1))

End Sub

Private Sub cmdUCase_Click()

lblUCase.Caption = UCase(txtName)

End Sub

Private Sub cmdLCase_Click()

lblLCase.Caption = LCase(txtName)

End Sub

Private Sub cmdInStr_Click()

lblInStr.Caption = InStr(txtName, "a")

End Sub

 

Άσκηση 5η – Οι Συναρτήσεις Left(), Right(), Mid() και Chr()

Να δημιουργηθεί μια φόρμα που να περιέχει μια ετικέτα (label) με το κείμενο Καταχώρηση Ονόματος και ένα διπλανό πλαίσιο κειμένου (txtName) στο οποίο θα μπορούμε να καταχωρήσουμε ένα όνομα.

Ακριβώς από κάτω θα υπάρχουν 4 πλήκτρα εντολής με αντίστοιχες διπλανές ετικέτες. Αφού καταχωρήσουμε ένα όνομα στο πλαίσιο κειμένου και κάνουμε κλικ σ’ ένα από τα πλήκτρα εντολής, θα εμφανίζεται στη διπλανή ετικέτα το αποτέλεσμα της αντίστοιχης συνάρτησης η οποία θα επιδρά στο περιεχόμενο του πλαισίου κειμένου txtName.

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm05
Άσκηση 5η – Χρήσιμες Συναρτήσεις

Ετικέτα

Name
Caption

Label1
Καταχώρηση Ονόματος

Πλαίσιο Κειμένου

Name

txtName

Πλήκτρο εντολής-1

Name
Caption

cmdLeft
Left()

Πλήκτρο εντολής-2

Name
Caption

cmdRight
Right()

Πλήκτρο εντολής-3

Name
Caption

cmdMid
Mid()

Πλήκτρο εντολής-4

Name
Caption

cmdChr
Chr
()

Ετικέτα-1

Name

lblLeft

Ετικέτα-2

Name

lblRight

Ετικέτα-3

Name

lblMid

Ετικέτα-4

Name

lblChr

Οι τέσσερις συναρτήσεις που θα χρησιμοποιήσουμε είναι οι εξής :

Για τους σκοπούς της άσκησης, η συνάρτηση Left() θα επιστρέψει τους 2 πρώτους χαρακτήρες από αριστερά του ονόματος που θα καταχωρήσουμε, η συνάρτηση Right() θα επιστρέψει τους 3 τελευταίους χαρακτήρες από δεξιά του ονόματος που θα καταχωρήσουμε, η συνάρτηση Mid() θα επιστρέψει ό,τι υπάρχει από τον τρίτο χαρακτήρα και μετά και η συνάρτηση Chr() θα επιστρέψει τον ascii χαρακτήρα ενός κωδικού.

Όσον αφορά τη συνάρτηση Mid(), η σύνταξη που θα δούμε εδώ θα δέχεται σαν ορίσματα ένα string και έναν αριθμό και θα επιστρέφει το κομμάτι του string από τη θέση που δηλώνει ο αριθμός και μετά μέχρι το τέλος του string.

Οι διαδικασίες που πρέπει να γράψουμε είναι οι εξής :

Private Sub cmdLeft_Click()

lblLeft.Caption = Left(txtName, 2)

End Sub

Private Sub cmdRight_Click()

lblRight.Caption = Right(txtName, 3)

End Sub

Private Sub cmdMid_Click()

lblMid.Caption = Mid(txtName, 3)

End Sub

Private Sub cmdChr_Click()

lblChr.Caption = Chr(Len(txtName) + 60)

End Sub


 

Άσκηση 6η – Καταχώρηση Συνθηματικού (Password)

Να δημιουργηθεί μια φόρμα που να περιέχει μια ετικέτα (label) με το κείμενο Καταχώρηση Συνθηματικού και ένα διπλανό πλαίσιο κειμένου (txt-Password) στο οποίο θα μπορούμε να καταχωρήσουμε ένα συνθηματικό.

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

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm06
Άσκηση 6η – Συνθηματικά

Ετικέτα

Name
Caption

Label1
Καταχώρηση Συνθηματικού

Πλαίσιο Κειμένου

Name

txtPassword

Πλήκτρο εντολής-1

Name
Caption

cmdAccept
Αποδοχ
ή

Πλήκτρο εντολής-2

Name
Caption

cmdCancel
Ακύρωση

 Θα χρησιμοποιήσουμε τις ιδιότητες PasswordChar και Tag του πλαισίου κειμένου, όπου στην πρώτη θα δώσουμε την τιμή *, έτσι ώστε ό,τι καταχωρούμε στο πλαίσιο κειμένου να εμφανίζεται σαν * και στην δεύτερη την τιμή FLORINA, που θα είναι η τιμή του συνθηματικού.

Θα χρησιμοποιήσουμε ακόμα και τις ιδιότητες SelStart και SelLength του πλαισίου κειμένου, όπου η πρώτη ορίζει την αρχή του επιλεγμένου κειμένου και η δεύτερη το μήκος του επιλεγμένου κειμένου.

Με το κλικ στο πλήκτρο εντολής Ακύρωση θα τελειώνει το πρόγραμμα.

Οι διαδικασίες που πρέπει να γράψουμε είναι οι εξής :

Private Sub cmdCancel_Click()

            End                             ‘τελειώνει το πρόγραμμα

End Sub

Private Sub cmdAccept_Click()

            Static iTries                             ‘μεταβλητή που μετρά τις προσπάθειες

            ‘αυτό που γράψαμε είναι ίδιο με το συνθηματικό

            If UCase(txtPassword) = txtPassword.Tag Then

                        MsgBox "Μπράβο!", vbExclamation, "Αποκτήσατε πρόσβαση!"

            Else                 ‘αυτό που γράψαμε δεν είναι το ίδιο με το συνθηματικό

                        iTries = iTries + 1     ‘αυξάνονται οι προσπάθειες

                        If iTries = 3 Then

                                    MsgBox "Λάθος!", vbCritical, "Απαγόρευση πρόσβασης!"

                                    End                 ‘τελειώνει το πρόγραμμα

                        Else

                                    MsgBox "Δοκιμάστε Ξανά", vbInformation,

"Λάθος Συνθηματικό!"

                                    ‘φωτίζουμε την τελευταία καταχώρηση

                                    txtPassword.SelStart = 0

                                    txtPassword.SelLength = Len(txtPassword)

                        EndIf

            EndIf

            ‘η μέθοδος SetFocus τοποθετεί τον δείκτη του ποντικιού

‘στο πλαίσιο κειμένου txtPassword

            txtPassword.SetFocus

End Sub

Η μεταβλητή που χρησιμοποιήσαμε για να μετρήσουμε τις προσπάθειες, η iTries, δηλώθηκε σαν τύπου Static και αυτό για να μπορεί να διατηρεί την τιμή της στις διαδοχικές κλήσεις της διαδικασίας. 


 

Άσκηση 7η – Αξία Προϊόντος με ΦΠΑ

Να δημιουργηθεί μια φόρμα που να περιέχει τρεις ετικέτες (labels) με τα κείμενα Ποσότητα, Τιμή Μονάδας και ΦΠΑ και τρία διπλανά πλαίσια κειμένου (txtQuantity, txtPrice και txtFPA) όπου θα μπορούμε να καταχωρήσουμε αντίστοιχες τιμές.

Ακριβώς από κάτω θα υπάρχει μια ακόμα ετικέτα (lblTotal) όπου θα εμφανίζεται η τελική αξία του προϊόντος (Καθαρή Αξία + Αξία ΦΠΑ). Θα υπάρχουν ακόμα δύο πλήκτρα εντολής με ετικέτες Υπολογισμός και Καθάρισμα και ονόματα cmdCalc και cmdClear αντίστοιχα, για τον υπολογισμό και την εμφάνιση της τελικής αξίας του προϊόντος και τον μηδενισμό όλων των πεδίων υπολογισμού.

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm07
Άσκηση 7η – Αξία Προϊόντος με ΦΠΑ

Ετικέτα

Name
Caption

Label1
Ποσότητα

Ετικέτα

Name
Caption

Label2
Τιμή Μονάδας

Ετικέτα

Name
Caption

Label3
ΦΠΑ

Πλαίσιο Κειμένου

Name

txtQuantity

Πλαίσιο Κειμένου

Name

txtPrice

Πλαίσιο Κειμένου

Name

txtFPA

Ετικέτα

Name
Caption

lblTotal

Πλήκτρο εντολής-1

Name
Caption

cmdCalc
Υπολογισμός

Πλήκτρο εντολής-2

Name
Caption

cmdClear
Καθάρισμα

Οι διαδικασίες που πρέπει να γράψουμε είναι οι εξής :

Private Sub cmdCalc_Click()

            lblTotal.Caption = txtQuantity * txtPrice * (1 + txtFPA / 100)

End Sub

Private Sub cmdClear_Click()

            txtQuantity = 0

            txtPrice = 0

            txtFPA = 0

            lblTotal.Caption = 0

End Sub

 
 

Άσκηση 8η – Επώνυμο και Όνομα

Να δημιουργηθεί μια φόρμα που να περιέχει δύο ετικέτες (labels) με τα κείμενα Επίθετο και Όνομα και δύο διπλανά πλαίσια κειμένου (txtEpitheto και txtOnoma) όπου θα μπορούμε να καταχωρήσουμε ένα επίθετο και ένα όνομα αντίστοιχα.

Ακριβώς από κάτω θα υπάρχει μια ακόμα ετικέτα (lblName) όπου θα εμφανίζεται το κείμενο Ονοματεπώνυμο : και δίπλα το επίθετο και το όνομα που καταχωρήσαμε παραπάνω, αλλά με το πρώτο γράμμα κεφαλαίο και όλα τα υπόλοιπα πεζά καθώς και μ’ ένα κενό ανάμεσά τους. Θα υπάρχει ακόμα ένα πλήκτρο εντολής με ετικέτα Εμφάνιση και όνομα cmdDisplay, όπου με το κλικ θα εμφανίζεται στην ετικέτα lblName το ονοματεπώνυμο με την παραπάνω μορφή. 

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm08
Άσκηση 8η – Επώνυμο και Όνομα

Ετικέτα

Name
Caption

Label1
Επίθετο

Ετικέτα

Name
Caption

Label2
Όνομα

Πλαίσιο Κειμένου

Name

txtEpitheto

Πλαίσιο Κειμένου

Name

txtOnoma

Ετικέτα

Name
Caption

lblName
Ονοματεπώνυμο :

Πλήκτρο εντολής

Name
Caption

cmdDisplay
Εμφάνιση

Η διαδικασία που πρέπει να γράψουμε είναι η εξής :

Private Sub cmdDisplay_Click()

            lblName.Caption = "Ονοματεπώνυμο : " +

UCase(Left(txtEpitheto, 1)) + LCase(Mid(txtEpitheto, 2)) +

" " + UCase(Left(txtOnoma, 1)) + LCase(Mid(txtOnoma, 2))

End Sub

 

Άσκηση 9η – Πλαίσια Λίστας και Πλαίσια Κειμένου

Να δημιουργηθεί μια φόρμα που να περιέχει ένα πλαίσιο λίστας (list box), δύο πλαίσια κειμένου και δύο πλήκτρα εντολών.

Στο ένα πλαίσιο κειμένου θα καταχωρούμε ένα όνομα και με κλικ στο πρώτο πλήκτρο εντολής, με ετικέτα <-- και όνομα cmdInsert, θα καταχωρείται αυτό το όνομα στο πλαίσιο λίστας, ενώ με κλικ στο δεύτερο πλήκτρο εντολής, με ετικέτα --> και όνομα cmdRemove, θα αφαιρείται το όνομα που έχουμε επιλέξει με κλικ πάνω στο πλαίσιο λίστας.

Κάθε φορά που κάνουμε κλικ σ’ ένα από τα πλήκτρα εντολής, στο δεύτερο πλαίσιο κειμένου θα εμφανίζεται το πλήθος των στοιχείων της λίστας. 

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm09
Άσκηση 9η – Πλαίσια Λίστας και
Πλαίσια Κειμένου

Πλαίσιο Κειμένου-1

Name

txtOnoma

Πλαίσιο Κειμένου-2

Name

txtCount

Πλαίσιο Λίστας

Name

lstA

Πλήκτρο εντολής-1

Name
Caption

cmdInsert
<--

Πλήκτρο εντολής-2

Name
Caption

cmdRemove
-->

Οι διαδικασίες που πρέπει να γράψουμε είναι οι εξής :

Private Sub cmdInsert_Click()

            lstA.AddItem txtOnoma.Text

            txtCount.Text = lstA.ListCount

End Sub

Private Sub cmdRemove_Click()

            If lstA.ListIndex > -1 Then

            lstA.RemoveItem lstA.ListIndex

            txtCount.Text = lstA.ListCount

            Else

                        MsgBox "Πρέπει να επιλέξετε κάτι από το πλαίσιο λίστας!"

            End If

End Sub


 

Άσκηση 10η – Πλαίσια Λίστας και Πλαίσια Κειμένου-2

Να δημιουργηθεί μια φόρμα που να περιέχει δύο πλαίσια λίστας (list boxes), δύο πλαίσια κειμένου και τρία πλήκτρα εντολών.

Στο ένα πλαίσιο κειμένου θα καταχωρούμε ένα όνομα και μόλις πατάμε το πλήκτρο enter, τα περιεχόμενα του πλαισίου κειμένου θα καταχωρούνται στη λίστα που βρίσκεται από κάτω και το πλαίσιο κειμένου θα καθαρίζει. Μόλις κάνουμε διπλό κλικ σ’ ένα στοιχείο μιας λίστας, θα μεταφέρεται το στοιχείο αυτό στην άλλη λίστα και θα αφαιρείται από την αρχική.

Τα δύο πλήκτρα εντολής θα έχουν ετικέτες Delete και μόλις κάνουμε κλικ πάνω τους θα αφαιρείται το επιλεγμένο στοιχείο της αντίστοιχης λίστας. Το τρίτο πλήκτρο εντολής θα έχει ετικέτα Clear All και με μόλις κάνουμε κλικ πάνω του θα αφαιρούνται όλα τα στοιχεία και από τις δύο λίστες. Για να γίνει αυτό δεν θα πρέπει να χρησιμοποιηθεί η μέθοδος Clear.

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm10
Άσκηση 10η – Πλαίσια Λίστας και
Πλαίσια Κειμένου
-2

Πλαίσιο Κειμένου-1

Name

txt1

Πλαίσιο Κειμένου-2

Name

txt2

Πλαίσιο Λίστας-1

Name

lst1

Πλαίσιο Λίστας-2

Name

lst2

Πλήκτρο εντολής-1

Name
Caption

cmdDelete1
Delete

Πλήκτρο εντολής-2

Name
Caption

cmdDelete2
Delete

Πλήκτρο εντολής-2

Name
Caption

cmdClear
Clear All

Οι διαδικασίες που πρέπει να γράψουμε είναι οι εξής :

Private Sub txt1_KeyPress(keyascii As Integer)

            If keyascii = 13 And txt1.Text <> " " Then

            lst1.AddItem txt1.Text

                        txt1.Text = " "

            End If

End Sub

Private Sub txt2_KeyPress(keyascii As Integer)

            If keyascii = 13 And txt2.Text <> " " Then

            lst2.AddItem txt2.Text

                        txt2.Text = " "

            End If

End Sub

Private Sub lst1_DblClick()

lst2.AddItem lst1.Text

            lst1.RemoveItem lst1.ListIndex

End Sub

Private Sub lst2_DblClick()

lst1.AddItem lst2.Text

            lst2.RemoveItem lst2.ListIndex

End Sub

Private Sub cmdDelete1_Click()

lst1.RemoveItem lst1.ListIndex

End Sub

Private Sub cmdDelete2_Click()

lst2.RemoveItem lst2.ListIndex

End Sub

Private Sub cmdClear_Click()

Dim i As Integer

For i = lst1.ListCount – 1 To 0 Step –1

            lst1.RemoveItem i

Next i

For i = lst2.ListCount – 1 To 0 Step –1

            lst2.RemoveItem i

Next i

End Sub

 Ακολουθούν άλλοι δύο τρόποι επίλυσης της τελευταίας διαδικασίας :

Private Sub cmdClear_Click()

Dim i, k As Integer

k = lst1.ListCount

For i = 1 To k

            lst1.RemoveItem 0

Next i

k = lst2.ListCount

For i = 1 To k

            lst2.RemoveItem 0

Next i

End Sub

Private Sub cmdClear_Click()

Do While lst1.ListCount > 0

            lst1.RemoveItem 0

Loop

Do While lst2.ListCount > 0

            lst2.RemoveItem 0

Loop

End Sub

 

Άσκηση 11η – Σύνθετο Πλαίσιο Λίστας

Να δημιουργηθεί μια φόρμα που να περιέχει ένα σύνθετο πλαίσιο λίστας (combo box) και τρεις ετικέτες (labels).

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

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm11
Άσκηση 11η – Σύνθετο Πλαίσιο
Λίστας

Σύνθετο Πλαίσιο
Λίστας

Name

cbo_country

Ετικέτα-1

Name

lbl1

Ετικέτα-2

Name

lbl2

Ετικέτα-3

Name

lbl_country

Οι διαδικασίες που πρέπει να γράψουμε είναι οι εξής :

General Declarations

Dim Capital(0 To 3) As String

Private Sub Form_Load()

            Capital(0) = "Αθήνα"

            Capital(1) = "Βουκουρέστι"

            Capital(2) = "Σόφια"

            Capital(3) = "Βελιγράδι"

            cbo_country.AddItem "Ελλάδα"

            cbo_country.AddItem "Ρουμανία"

            cbo_country.AddItem "Βουλγαρία"

            cbo_country.AddItem "Γιουγκοσλαβία"

End Sub

Private Sub cbo_country_Click()

            lbl_country.Caption = Capital(cbo_country.ListIndex)

End Sub

 

Άσκηση 12η – Επιλογή Χώρας από Πλαίσιο Λίστας

Να δημιουργηθεί μια φόρμα που να περιέχει ένα πλαίσιο λίστας (list box), ένα πλήκτρο εντολής και δύο ετικέτες (labels).

Από το πλαίσιο λίστας θα μπορούμε να επιλέγουμε μια από τέσσερις χώρες και παρακάτω θα υπάρχει μια ετικέτα με λεζάντα Επιλεγείσα Χώρα :. Δίπλα από το πλαίσιο λίστας θα υπάρχει ένα πλήκτρο εντολής με λεζάντα Επιλογή.

Όταν κάνουμε διπλό κλικ στο πλαίσιο λίστας, η επιλεγείσα χώρα θα εμφανίζεται σε μια άλλη ετικέτα δίπλα από την ετικέτα με τη λεζάντα Επιλεγείσα Χώρα :. Η επιλεγείσα χώρα θα εμφανίζεται ακόμη και όταν την επιλέξουμε με απλό κλικ και μετά με κλικ στο πλήκτρο εντολής.

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm12
Άσκηση 12η – Επιλογή Χώρας
από Πλαίσιο Λίστας

Πλαίσιο Λίστας

Name

lst_country

Ετικέτα-1

Name

lbl1

Ετικέτα-2

Name

lbl_country

Πλήκτρο Εντολής

Name
Caption

cmd_country
Επιλογή

Οι διαδικασίες που πρέπει να γράψουμε είναι οι εξής :

Private Sub Form_Load()

            lst_country.AddItem "Γαλλία"

            lst_country.AddItem "Ιταλία"

            lst_country.AddItem "Γερμανία"

            lst_country.AddItem "Ελβετία"

End Sub

Private Sub lst_country_DblClick()

            lbl_country.Caption = lst_country.Text

End Sub

Private Sub cmd_country_Click()

            lst_country_DblClick

End Sub

 

Άσκηση 13η – Πλήκτρα Επιλογής

Να δημιουργηθεί μια φόρμα που να περιέχει δύο πλαίσια επιλογής, όπου το ένα θα περιέχει τρία πλήκτρα επιλογής με ετικέτες Α, Β και Γ και το άλλο θα περιέχει δύο πλήκτρα επιλογής με ετικέτες Αγόρι και Κορίτσι.

Αφού επιλέξουμε ένα πλήκτρο επιλογής από κάθε πλαίσιο επιλογής και κάνουμε κλικ σ’ ένα πλήκτρο εντολής με ετικέτα ΟΚ, θα πρέπει να εμφανίζεται σε μια ετικέτα το εξής κείμενο : «Είναι Αγόρι (ή Κορίτσι) και πηγαίνει στην Α (ή Β ή Γ) τάξη».

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm13
Άσκηση 13η – Πλήκτρα Επιλογής

Πλήκτρο Επιλογής-1

Name
Caption

opta
A

Πλήκτρο Επιλογής-2

Name
Caption

optb
Β

Πλήκτρο Επιλογής-3

Name
Caption

optc
Γ

Πλήκτρο Επιλογής-4

Name
Caption

optboy
Αγόρι

Πλήκτρο Επιλογής-5

Name
Caption

optgirl
Κορίτσι

Ετικέτα

Name

lbl_result

Πλήκτρο Εντολής

Name
Caption

cmd_ok
OK

Η διαδικασία που πρέπει να γράψουμε είναι η εξής :

Private Sub cmd_ok_Click()

            Dim taxi, fylo As String

            If opta Then

                        taxi = "Α"

            ElseIf optb Then

                        taxi = "Β"

            Else

                        taxi = "Γ"

            End If

            If optboy Then

                        fylo = "Αγόρι"

            Else

                        fylo = "Κορίτσι"

End If

lbl_result.Caption = "Είναι " & fylo & " και πηγαίνει στην " & taxi & _

" τάξη"

End Sub

 

Άσκηση 14η – Πλαίσια Λίστας και Πλαίσια Ελέγχου

Να δημιουργηθεί μια φόρμα που να περιέχει μια ετικέτα με λεζάντα Όνομα :, ένα πλαίσιο κειμένου, δύο πλαίσια ελέγχου με λεζάντες ListA και ListB, δύο πλαίσια λίστας και δύο πλήκτρα εντολής με ετικέτες Insert και Delete.

Αφού καταχωρήσουμε ένα όνομα στο πλαίσιο κειμένου και επιλέξουμε ένα ή και τα δύο πλαίσια ελέγχου, με το κλικ στο πλήκτρο εντολής με την ετικέτα Insert θα καταχωρείται το κείμενο του πλαισίου κειμένου στην πρώτη λίστα αν είναι επιλεγμένο το πλαίσιο ελέγχου με ετικέτα ListA ή/και στη δεύτερη λίστα αν είναι επιλεγμένο το πλαίσιο ελέγχου με ετικέτα ListB.

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

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm14
Άσκηση 14η – Πλαίσια Λίστας και Πλαίσια Ελέγχου

Ετικέτα

Name
Caption

lbl1
Όνομα :

Πλαίσιο Κειμένου

Name

txtname

Πλαίσιο Ελέγχου-1

Name
Caption

chka
ListA

Πλαίσιο Ελέγχου-2

Name
Caption

chkb
ListB

Πλαίσιο Λίστας-1

Name

lsta

Πλαίσιο Λίστας-2

Name

lstb

Πλήκτρο Εντολής-1

Name
Caption

cmd_insert
Insert

Πλήκτρο Εντολής-2

Name
Caption

cmd_delete
Delete

Οι διαδικασίες που πρέπει να γράψουμε είναι οι εξής :

Private Sub cmd_insert_Click()

            If chka.Value = 1 Then

                        lsta.AddItem txtname.Text

            End If

            If chkb.Value = 1 Then

                        lstb.AddItem txtname.Text

            End If

End Sub

Private Sub cmd_delete_Click()

            If chka.Value = 1 And lsta.ListIndex > -1 Then

                        lsta.RemoveItem lsta.ListIndex

            End If

            If chkb.Value = 1 And lstb.ListIndex > -1 Then

                        lstb.RemoveItem lstb.ListIndex

            End If

End Sub

 

 Άσκηση 15η – Πλήκτρα Επιλογής και Πλαίσια Ελέγχου

Να δημιουργηθεί μια φόρμα που να περιέχει ένα πλαίσιο επιλογής απ’ όπου θα μπορούμε να επιλέξουμε την τάξη ενός μαθητή (Α’, Β’, Γ’) και ένα άλλο πλαίσιο επιλογής απ’ όπου θα μπορούμε να επιλέξουμε τρία μαθήματα επιλογής από ένα σύνολο πέντε μαθημάτων. Αν τα επιλεγμένα μαθήματα δεν είναι τρία, θα πρέπει να εμφανίζεται ένα σχετικό μήνυμα.

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm15
Άσκηση 15η – Πλήκτρα Επιλογής και Πλαίσια Ελέγχου

Πλήκτρο Επιλογής-1

Name
Caption

opt1
Α’

Πλήκτρο Επιλογής-2

Name
Caption

opt2
Β’

Πλήκτρο Επιλογής-3

Name
Caption

opt3
Γ’

Πλαίσιο Ελέγχου-1

Name
Caption

chk1
Μουσικ
ή

Πλαίσιο Ελέγχου-2

Name
Caption

chk2
Θέατρο

Πλαίσιο Ελέγχου-3

Name
Caption

chk3
Πληροφορική

Πλαίσιο Ελέγχου-4

Name
Caption

chk4
Γυμναστική

Πλαίσιο Ελέγχου-5

Name
Caption

chk5
Ιταλικά

Πλήκτρο Εντολής

Name
Caption

cmd_ok
ΟΚ

Η διαδικασία που πρέπει να γράψουμε είναι η εξής :

Private Sub cmd_ok_Click()

            Dim i As Integer

            If chk1.Value = 1 Then

                        i = i+1

            End If

            If chk2.Value = 1 Then

                        i = i+1

            End If

            If chk3.Value = 1 Then

                        i = i+1

            End If

            If chk4.Value = 1 Then

                        i = i+1

            End If

            If chk5.Value = 1 Then

                        i = i+1

            End If

            If i =3 Then

                        MsgBox "Οι επιλογές σου είναι εντάξει"

            Else

                        MsgBox "Προσοχή! Πρέπει να επιλέξεις τρία μαθήματα"

            End If

End Sub

 

Άσκηση 16η – Πλήκτρα Επιλογής και Πλαίσια Ελέγχου

Να δημιουργηθεί μια φόρμα που να περιέχει ένα πλαίσιο επιλογής απ’ όπου θα μπορούμε να επιλέξουμε το χρώμα ενός αυτοκινήτου (κόκκινο, πράσινο, μπλε, λευκό) και ένα άλλο πλαίσιο επιλογής απ’ όπου θα μπορούμε να επιλέξουμε τα επιπλέον χαρακτηριστικά του, όπως ABS, Κλιματισμό, Υδραυλικό Τιμόνι, Ηλεκτρικά Παράθυρα, Αερόσακους κ.ά.

Αφού επιλέξουμε το χρώμα και όσα χαρακτηριστικά επιπλέον θέλουμε, με το κλικ σ’ ένα πλήκτρο εντολής θα πρέπει να εμφανίζονται οι επιλογές μας σ’ ένα πλαίσιο μηνύματος.

Αντικείμενο

Ιδιότητα

Τιμή

Φόρμα

Name
Caption

frm16
Άσκηση 16η – Πλήκτρα Επιλογής και Πλαίσια Ελέγχου

Πλήκτρο Επιλογής-1

Name
Caption

opt1
Κόκκινο

Πλήκτρο Επιλογής-2

Name
Caption

opt2
Πράσινο

Πλήκτρο Επιλογής-3

Name
Caption

opt3
Μπλε

Πλήκτρο Επιλογής-4

Name
Caption

opt4
Λευκό

Πλαίσιο Ελέγχου-1

Name
Caption

chk1
ABS

Πλαίσιο Ελέγχου-2

Name
Caption

chk2
Αυτόματος Κλιματισμός

Πλαίσιο Ελέγχου-3

Name
Caption

chk3
Υδραυλικό Τιμόνι

Πλαίσιο Ελέγχου-4

Name
Caption

chk4
Ηλεκτρικά Παράθυρα

Πλαίσιο Ελέγχου-5

Name
Caption

chk5
Αερόσακος

Πλήκτρο Εντολής

Name
Caption

cmd_ok
ΟΚ

Η διαδικασία που πρέπει να γράψουμε είναι η εξής :

Private Sub cmd_insert_Click()

            Dim k As String

            k = "Το χρώμα είναι : "

            If opt1 Then

                        k = k & "Κόκκινο" & chr(13)

            ElseIf opt2 Then

                        k = k & "Πράσινο" & chr(13)

            ElseIf opt3 Then

                        k = k & "Μπλε" & chr(13)

            Else

                        k = k & "Λευκό" & chr(13)

            End If

            If chk1.Value = 1 Then

                        k = k & "ABS" & chr(13)

            End If

            If chk2.Value = 1 Then

                        k = k & "Αυτόματος Κλιματισμός" & chr(13)

            End If

            If chk3.Value = 1 Then

                        k = k & "Υδραυλικό Τιμόνι" & chr(13)

            End If

            If chk4.Value = 1 Then

                        k = k & "Ηλεκτρικά Παράθυρα" & chr(13)

            End If

            If chk5.Value = 1 Then

                        k = k & "Αερόσακος" & chr(13)

            End If

            MsgBox k

End Sub

 

Άσκηση 1

Να δημιουργηθεί μια φόρμα μ’ ένα πλαίσιο κειμένου που να καταλαμβάνει το πάνω μέρος της φόρμας και δύο πλήκτρα εντολής στο κάτω μέρος της φόρμας. Κάθε φορά που αλλάζουμε το μέγεθος της φόρμας, θα πρέπει το πλαίσιο κειμένου να καταλαμβάνει πάντα το πλήρες πλάτος της φόρμας και να αφήνει μια περιοχή στο κάτω μέρος της φόρμας για τα πλήκτρα εντολής.

Private Sub frm01_Resize()

            text01.Height = frm01.ScaleHeight - 825

            text01.Width = frm01.ScaleWidth

            cmdOK.Top = frm01.ScaleHeight - 600

            cmdCancel.Top = cmdOK.Top

            cmdOK.Left = frm01.ScaleWidth / 2 – 690 – cmdOK.Width

            cmdCancel.Left = frm01.ScaleWidth / 2 + 690

End Sub

 

Άσκηση 1

Να δημιουργηθεί μια φόρμα η οποία να τοποθετείται πάντα στο κέντρο της οθόνης.

Private Sub frm01_Load()

            frm01.Left = (Screen.Width – frm01.Width) / 2

            frm01.Top = (Screen.Height – frm01.Height) / 2

End Sub


 

Άσκηση 1

Να καταχωρηθούν τα ονόματα κάποιων χωρών σ’ ένα πλαίσιο λίστας και να εμφανίζεται η επιλεγείσα χώρα σε μια ετικέτα είτε κάνοντας διπλό κλικ πάνω στο στοιχείο στη λίστα ή επιλέγοντάς το με απλό κλικ και κάνοντας κλικ σ’ ένα πλήκτρο εντολής 

Private Sub Form_Load()

            lstCountries.AddItem "Γαλλία"

            lstCountries.AddItem "Ιταλία"

            lstCountries.AddItem "Ελλάδα"

            lstCountries.AddItem "Ισπανία"

End Sub

Private Sub lstCountries_DblClick()

            cmdSelect_Click

End Sub

Private Sub cmdSelect_Click()

            lblChosenCountry.Caption = "Επιλεγείσα χώρα : " & lstCountries.Text

End Sub

Private Sub cmdOK_Click()

            Unload frmCountry

End Sub

 

Άσκηση 20η

Να δημιουργηθεί μια φόρμα με 4 πλαίσια κειμένου, όπου στα δύο πρώτα θα καταχωρούμε το Καθαρό Ποσό και το Ποσοστό ΦΠΑ και στα άλλα δύο θα υπολογίζονται και θα εμφανίζονται το Ποσό ΦΠΑ και το Συνολικό Ποσό. Για να γίνουν οι υπολογισμοί θα κάνουμε κλικ σ’ ένα πλήκτρο εντολής με ετικέτα Υπολογισμός.

Const VatPercentage = 18

Const VatRate = Vat / 100

Private Sub cmdCalculate_Click()

            ‘Δήλωση τοπικών μεταβλητών

            Dim NetAmount, VAT, GrossAmount As Currency

            ‘Εισαγωγή ποσού για υπολογισμούς

            NetAmount = Val(txtNet.Text)

            ‘Υπολογισμός ποσών

            VAT = NetAmount * VatRate

            GrossAmount = NetAmount + VAT

            ‘Εμφάνιση των αποτελεσμάτων στα πλαίσια κειμένου

            txtVAT.Text = Format(VAT, "0.00")

            txtGross.Text = Format(GrossAmount, "0.00")

End Sub

Private Sub cmdExit_Click()

            Unload frmVat

End Sub

Private Sub Form_Load()

            ‘Εμφάνιση του ποσοστού ΦΠΑ στο αντίστοιχο πλαίσιο

            txtRate.Text = Str(VatPercentage)

End Sub

Private Sub txtNet_LostFocus()

            cmdCalculate_Click

End Sub

 

Άσκηση 21η

Να δημιουργηθεί μια φόρμα με τίτλο Μετατροπές από Κωδικούς Ascii σε Χαρακτήρες, που θα περιέχει τα εξής τέσσερα πλαίσια κειμένου :

Κάθε φορά που θα εισάγουμε έναν κωδικό ASCII ή έναν χαρακτήρα στα αντίστοιχα πλαίσια κειμένου, θα εμφανίζεται ο χαρακτήρας ή ο κωδικός ASCII, αντίστοιχα, στα άλλα δύο πλαίσια κειμένου.

Private Sub txtFromASCII_Change()

            Dim ASCIINum As Integer

            ‘Μετατροπή κειμένου σε αριθμό

            ASCIINum = Val(txtFromASCII.Text)

            ‘Μετατροπή κωδικού ASCII σε χαρακτήρα

            txtToChar.Text = Chr(ASCIINum)

End Sub

Private Sub

            Dim ASCIINum As Integer

            ‘Μετατροπή κειμένου σε ASCII

            ‘Το κενό διάστημα χρειάζεται στην περίπτωση που το πλαίσιο

‘κειμένου είναι τελείως κενό

            ASCIINum = Asc(txtFromChar.Text & Chr(32))

            ‘Τα πλαίσια κειμένου μπορούν να εμφανίσουν αριθμούς χωρίς να

            ‘γίνει μετατροπή τους πρώτα σε αλφαριθμητικό

            txtToASCII.Text = ASCIINum

End Sub


 

Άσκηση 22η

Να δημιουργηθεί μια φόρμα με τίτλο Calculator που θα περιέχει τα παρακάτω χειριστήρια :

Αν δεν έχουμε καταχωρήσει αριθμούς και στα δύο πλαίσια κειμένου Ν1 και Ν2, θα εμφανίζεται αντίστοιχη προειδοποίηση σε Message Box.

 

Άσκηση 23η

Να δημιουργηθεί μια φόρμα με τον τίτλο Μετατροπές Κελσίου-Φαρενάιτ και με τα εξής χειριστήρια :

 

Άσκηση 24η

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

Η αντιστοιχία της δραχμής με τα παραπάνω νομίσματα είναι η εξής :

Αφού θα έχουμε καταχωρήσει ένα ποσό σε δραχμές στο πλαίσιο κειμένου Drachmas, θα επιλέγουμε ένα ξένο νόμισμα από τη λίστα και το αποτέλεσμα θα καταχωρείται στο πλαίσιο κειμένου Coin. Επίσης, η ετικέτα Νόμισμα θα αντικαθίσταται με το αντίστοιχο νόμισμα μετατροπής.

 

Άσκηση 25η

Να δημιουργηθεί μια φόρμα με τον τίτλο Μετατροπές Ημερομηνίας-Ώρας και με τα εξής χειριστήρια :

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

Στην περιοχή General Declarations της φόρμας γράφουμε την εξής δήλωση :

‘Δήλωση του πίνακα με τις ημέρες της εβδομάδας

Dim WeekDayString(7) As String

Private Sub Form_Load()

            ‘Δημιουργία του πίνακα με τις ημέρες της εβδομάδας

            WeekDayString(1) = "Κυριακή"

            WeekDayString(2) = "Δευτέρα"

            WeekDayString(3) = "Τρίτη"

            WeekDayString(4) = "Τετάρτη"

            WeekDayString(5) = "Πέμπτη"

            WeekDayString(6) = "Παρασκευή"

            WeekDayString(7) = "Σάββατο"

End Sub

Private Sub txtDateTimeIn_Change()

            ‘Δίνουμε έναν αριθμό κινητής υποδιαστολής και η διαδικασία

‘υπολογίζει την αντίστοιχη πραγματική τιμή ημερομηνίας/ώρας

‘εμφανίζοντας και την ημέρα της εβδομάδας

            Dim DateIn As Date

            Dim DayNumber As Integer

            Dim DateString As String, DayOfWeek As String

            Dim HourString As String, MinString As String

            Dim SecString As String, TimeString As String

            ‘Υπολογισμός και εμφάνιση της ημέρας της εβδομάδας

            DateIn = Val(txtDateTimeIn.Text)

            DayNumber = WeekDay(DateIn)

            DayOfWeek = WeekDayString(DayNumber)

            ‘Εξαγωγή των συστατικών της ημερομηνίας και δημιουργία της

            συμβολοσειράς

            DateString = Day(DateIn) & "/" & Month(DateIn) & "/"_

                        & Year(DateIn)

            txtDate.Text = DayOfWeek & " " & DateString

            ‘Εξαγωγή των συστατικών της ώρας και δημιουργία της

            συμβολοσειράς

            HourString = Right("00" & Hour(DateIn), 2)

            MinString = Right("00" & Minute(DateIn), 2)

            SecString = Right("00" & Second(DateIn), 2)

            TimeString = HourString & ":" & MinString & ":" & SecString

            txtTime.Text = TimeString
            ‘Ανανέωση της ετικέτας ημερομηνίας-ώρας

            lblNow.Caption = "Τελευταία εισαγωγή ημ/νίας – ώρας : " & Str(Now)

End Sub

Private Sub cmdCalculate_Click()

            ‘Δίνουμε μια πραγματική τιμή ημερομηνίας/ώρας και έναν αριθμό

‘ημερών για πρόσθεση ή αφαίρεση και η διαδικασία υπολογίζει ποια

‘ημέρα της εβδομάδας είναι καθώς και την αριθμητική τιμή

‘της ημερομηνίας αυτής και τη νέα ημερομηνία που προκύπτει από την

προσθαφαίρεση των ημερών

            Dim DateNumber As Date, ResultDateNumber As Date

            Dim DayNumber As Integer

            ‘Υπολογισμός της τιμής ημ/νίας - ώρας

            DateNumber = DateValue(txt.DateIn.Text)

            txtDateTime.Text = Format(DateNumber, "#####")

            ‘Υπολογισμός της ημέρας της εβδομάδας

            DayNumber = WeekDay(DateNumber)

            txtDayOfWeek.Text = WeekDayString(DayNumber)

            ‘Υπολογισμός της τιμής για το πλαίσιο αποτελέσματος

            ResultDateNumber = DateNumber + Val(textAddDays.Text)

            txtResult.Text = Format(ResultDateNumber, "dd/mm/yy")

            ‘Ανανέωση της ετικέτας ημ/νίας-ώρας

            lblNow.Caption = "Τελευταία εισαγωγή ημ/νίας – ώρας : " & Str(Now)

End Sub

 

 Άσκηση 26η

Να δημιουργηθεί μια φόρμα με τον τίτλο Κουλοχέρης (Reel Magic) και με τα εξής χειριστήρια :

Αν ο παίκτης πετύχει τρεις καρδιές, θα εμφανίζεται το μήνυμα Μεγάλο Κέρδος, ενώ αν πετύχει τρία άλλα ίδια χρώματα, θα εμφανίζεται το μήνυμα Κέρδισες.

Σύμφωνα με τους κανόνες του παιχνιδιού, ο παίκτης κερδίζει 4 φορές το ποντάρισμα που έχει κάνει αν φέρει 3 καρδιές και 2 φορές το ποντάρισμα που έχει κάνει αν φέρει 3 άλλα ίδια χρώματα, ενώ χάνει σε κάθε άλλη περίπτωση.

Επειδή είναι σχετικά δύσκολο να κερδίσει κάποιος, θα προστεθεί ο κατάλληλος κώδικας έτσι ώστε αν υπάρχουν 10 συνεχόμενες αποτυχίες, να κερδίσει οπωσδήποτε μ’ ένα χρώμα της αρεσκείας του. Αν, όμως, ο παίκτης τύχει να κερδίσει κανονικά, θα πρέπει να αρχίσουμε να μετράμε και πάλι από την αρχή μέχρι να συμπληρωθούν 10 συνεχόμενες αποτυχίες.

Στην περιοχή General Declarations της φόρμας γράφουμε τις εξής δηλώσεις :

Const KOUPES=1, SPATHIA=2, KARRO=3, MPASTOUNIA=4

Const MEGALO_KERDOS=4, APLO_KERDOS=2

Const KEFALAIO As Currency

Private Sub cmdSpin_Click()

            ‘Οι τρεις τυχαίοι αριθμοί

            Dim p1 As Integer, p2 As Integer, p3 As Integer

            Static every10 As Integer

            ‘Δημιουργία των τυχαίων αριθμών

            p1 = Int(4 * Rnd + 1)

            p2 = Int(4 * Rnd + 1)

            p3 = Int(4 * Rnd + 1)

            ‘Αν υπάρχουν 10 συνεχόμενες αποτυχίες, θα κερδίζει στην 11η

            ‘με απλό κέρδος, π.χ. KARRO

            If every10 > 9 Then

                        p1 = KARRO

                        p2 = KARRO

                        p3 = KARRO

                        ‘Οι αποτυχίες αρχίζουν από την αρχή

                        every10 = 0

            End If

            ‘Εμφάνιση πρώτης εικόνας

            If p1 = KOUPES Then

                        imgSLOT1 = imgKOUPES.Picture

            ElseIf p1 = SPATHIA Then

                        imgSLOT1 = imgSPATHIA.Picture

            ElseIf p1 = KARRO Then

                        imgSLOT1 = imgKARRO.Picture

            ElseIf p1 = MPASTOUNIA Then

                        imgSLOT1 = imgMPASTOUNIA.Picture

            End If

            ‘Εμφάνιση δεύτερης εικόνας

            If p2 = KOUPES Then

                        imgSLOT2 = imgKOUPES.Picture

            ElseIf p2 = SPATHIA Then

                        imgSLOT2 = imgSPATHIA.Picture

            ElseIf p2 = KARRO Then

                        imgSLOT2 = imgKARRO.Picture

            ElseIf p2 = MPASTOUNIA Then

                        imgSLOT2 = imgMPASTOUNIA.Picture

            End If

            ‘Εμφάνιση τρίτης εικόνας

            If p3 = KOUPES Then

                        imgSLOT3 = imgKOUPES.Picture

            ElseIf p3 = SPATHIA Then

                        imgSLOT3 = imgSPATHIA.Picture

            ElseIf p3 = KARRO Then

                        imgSLOT3 = imgKARRO.Picture

            ElseIf p3 = MPASTOUNIA Then

                        imgSLOT3 = imgMPASTOUNIA.Picture

            End If

            ‘Έλεγχος αν έχει κερδίσει ο παίκτης

            If p1 = p2 And p2 = p3 Then

                        ‘Έχει κερδίσει

                        every10 = 0    ‘Οι αποτυχίες αρχίζουν από την αρχή

                        If p1 = KOUPES Then

                                    KEFALAIO = KEFALAIO +

MEGALO_KERDOS * Val(txtPontarisma.Text)

                                    MsgBox "Μεγάλο Κέρδος"

                        Else

                                    KEFALAIO = KEFALAIO +

APLO_KERDOS * Val(txtPontarisma.Text)

                                    MsgBox "Κέρδισες"

                        End If

            Else

                        ‘Δεν έχει κερδίσει

                        KEFALAIO = KEFALAIO – Val(txtPontarisma.Text)

                        every10 = every10 + 1         ‘αυξάνονται οι ατυχίες

            End If

            ‘Ανάλογα με το αν κέρδισε ή έχασε,

‘γίνεται ενημέρωση του Κεφαλαίου

            txtKEFALAIO.Text = Str(KEFALAIO)

End Sub

Private Sub Form_Load()

            Randomize

            KEFALAIO = 1000

End Sub

Private Sub HScroll1_Change()

            TxtPontarisma.Text = HScroll1.Value

End Sub

 

Άσκηση 27η

Να δημιουργηθεί μια φόρμα με τον τίτλο Επιλογή Χώρας και με τα εξής χειριστήρια :

Private Sub cboCountry_LostFocus()

            Dim Reps(0 To 3) As String

            Dim SelectedRegion As Integer

            Dim Rep as String

            ‘Απόδοση αρχικών τιμών στα στοιχεία του πίνακα

            Reps(0) = "Ρώμη"                  ‘Ιταλία

            Reps(1) = "Μαδρίτη"            ‘Ισπανία

            Reps(2) = "Παρίσι"               ‘Γαλλία

            Reps(3) = "Βερολίνο"           ‘Γερμανία

            ‘Εύρεση της τιμής του δείκτη της λίστας και

            ‘εμφάνιση της αντίστοιχης πρωτεύουσας

            SelectedRegion = cboRegion.ListIndex

            Rep = Reps(SelectedRegion)

            lblRep.Caption = "Πρωτεύουσα : " & Rep

End Sub

 

Άσκηση 28η

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

Private Sub cmdInchCm_Click()

            Dim Inches As Single, Cm As Single

            Const CmPerInch = 2.54

            Inches = Val(txtEntry.Text)

            Cm = (Int((Inches * CmPerInch * 100) + 0.5)) / 100

            txtResult.Text = Str(Cm)

            lblEntry.Caption = "Ίντσες : "

            lblResult.Caption = "Εκατοστά : "

End Sub

Private Sub cmdCmInch_Click()

            Dim Inches As Single, Cm As Single

            Const CmPerInch = 2.54

            Cm = Val(txtEntry.Text)

            Inches = (Int((Cm / CmPerInch * 100) + 0.5)) / 100

            txtResult.Text = Str(Inches)

            lblEntry.Caption = "Εκατοστά : "

            lblResult.Caption = "Ίντσες : "

End Sub

Private Sub cmdExit_Click()

            Unload frmUnits

End Sub

 

Άσκηση 29η

Να δημιουργηθεί μια φόρμα με τον τίτλο Υπολογισμός Εβδομάδων και Ημερών και με τα εξής χειριστήρια :

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

Private Sub cmdCalculate_Cclick()

            Dim Days1 As Single, Days2 As Single

            Dim NumWeeks As Long

            Dim NumDays As Integer

            ‘Μετατροπή των καταχωρήσεων σε τύπο ημερομηνίας

            Days1 = DateValue(txtDate1.Text)

            Days2 = DateValue(txtDate2.Text)

            ‘Υπολογισμός εβδομάδων και ημερών

            NumWeeks = Int((Days2 – Days1) / 7)

            NumDays = (Days2 – Days1) Mod 7

            ‘Εμφάνιση των αποτελεσμάτων στα αντίστοιχα πλαίσια κειμένου

            txtWeeks.Text = NumWeeks

            txtDays.Text = NumDays

End Sub

 

Άσκηση 30η

Να γραφεί συνάρτηση που να διαβάζει μια γραμμή κειμένου από ένα αρχείο, να την εμφανίζει στην οθόνη και μετά να την καταχωρεί σ’ ένα άλλο αρχείο (είσοδος – έξοδος σειριακών αρχείων).

Function Input_Output()

            Dim Input_Line As String

            Open "C:\Data.in" For Input As #1

            Open "C:\Data.out" For Output As #2

            Line Input #1, Input_Line

            MsgBox Input_Line

            Print #2, Input_Line

            Close #1

            Close #2

End Function

 

Άσκηση 31η

Να γραφεί συνάρτηση που να διαβάζει μια τιμή από το πληκτρολόγιο και να την τοποθετεί σ’ ένα κελί λογιστικού φύλλου που θα αποθηκευθεί με το όνομα Data.xls. Ο χρήστης θα πρέπει να δώσει και τις συντεταγμένες i και j του κελιού.

Function Save_Excel()

            Dim i, j As Integer

            Dim X As Double

            Dim xlSheet As Object

            X = InputBox("Δώστε τιμή για το λογιστικό φύλλο : ")

            i = InputBox("Δώστε αριθμό γραμμής : ")

            j = InputBox("Δώστε αριθμό στήλης : ")

            xlSheet.Cells(i, j) = X

            xlSheet.SaveAs "C:\Data.xls"

End Function

 

 Άσκηση 32η

Να καταχωρηθούν δύο λέξεις από το πληκτρολόγιο και να εμφανισθεί ένα μήνυμα στην οθόνη αν έχουν το ίδιο μήκος, ενώ αν έχουν διαφορετικό μήκος να εμφανισθεί η μεγαλύτερη λέξη (δομή If ... Else … End If).

            A = InputBox("Δώστε την πρώτη λέξη : ")

            B = InputBox("Δώστε τη δεύτερη λέξη : ")

            If Len(A) = Len(B) Then

                        MsgBox "Οι λέξεις έχουν το ίδιο μήκος"

            Else

                        If Len(A) > Len(B) Then

                                    MsgBox A

                        Else

                                    MsgBox B

                        End If

            End If

 

Άσκηση 33η

Να καταχωρηθεί ο αριθμός ενός μήνα από το πληκτρολόγιο και να εμφανισθεί στην οθόνη ο αριθμός των ημερών του μήνα (δομή Select Case).

            M = InputBox("Δώστε τον αριθμό του μήνα (1 – 12) : ")

            Select Case M

                        Case 1, 3, 5, 7, 8, 10, 12

                                    MsgBox "Ο μήνας έχει 31 ημέρες"

                        Case 4, 6, 9, 11

                                    MsgBox "Ο μήνας έχει 30 ημέρες"

                        Case 2

                                    MsgBox "Ο μήνας έχει 28 ή 29 ημέρες"

                        Case Else

                                    MsgBox "Λάθος αριθμός μήνα"

            End Select

 

Άσκηση 34η

Να καταχωρηθούν από το πληκτρολόγιο οι βαθμοί της τάξης σ’ ένα διαγώνισμα και να υπολογισθεί και να εμφανισθεί ο μέσος όρος των βαθμών. Το πρόγραμμα τελειώνει όταν καταχωρηθεί ένας αρνητικός αριθμός (δομή While … Wend).

Function MO()

            Dim X, S As Double

            Dim N As Integer

            S = 0               ‘Άθροισμα βαθμών

            N = 0              ‘Πλήθος βαθμών

            X = InputBox("Δώστε βαθμό : ")

            While X >= 0

                        N = N + 1

                        S = S + X

                        X = InputBox("Δώστε επόμενο βαθμό : ")

            Wend

            X = S / N

            MsgBox "Ο μέσος όρος είναι : " & X

End Function

 

Άσκηση 35η

Να καταχωρηθούν από το πληκτρολόγιο οι βαθμοί 5 μαθητών σ’ ένα διαγώνισμα και να υπολογισθεί και να εμφανισθεί ο μέσος όρος των βαθμών (δομή For … Next).

Function MO()

            Dim X, S As Double

            Dim I, N As Integer

            S = 0               ‘Άθροισμα βαθμών

            N = 5              ‘Πλήθος βαθμών

            For I = 1 To N

                        X = InputBox("Δώστε βαθμό : ")

                        S = S + X

            Next I

            X = S / N

            MsgBox "Ο μέσος όρος είναι : " & X

End Function

 

Άσκηση 36η

Να γραφεί μια συνάρτηση που να δέχεται σαν όρισμα τον αριθμό ενός μήνα και να επιστρέφει τον αριθμό των ημερών του μήνα.

Function Hmeres(M As Integer) As Integer

            Select Case M

                        Case 1, 3, 5, 7, 8, 10, 12

                                    Hmeres = 31

                        Case 4, 6, 9, 11

                                    Hmeres = 30

                        Case 2

                                    Hmeres = 28

                        Case Else

                                    Hmeres = 0

            End Select

End Function

            Η κλήση της παραπάνω συνάρτησης μπορεί να γίνει ως εξής :

           

            M = InputBox("Δώστε τον αριθμό του μήνα : ")

            MsgBox "Ο μήνας " & Μ & " έχει " & Hmeres(M) & " ημέρες"

            …

 

 Άσκηση 37η

Να γίνει μια εφαρμογή σε Visual Basic που θα δίνει τη δυνατότητα σ’ έναν καθηγητή να καταγράφει και να παρακολουθεί τους βαθμούς των σπουδαστών. Το πρόγραμμα θα έχει τις εξής τρεις φόρμες :

Από την κάθε φόρμα θα γίνονται τα εξής :

Main Form

Input Marks Form

Review Marks Form

Η μετατροπή των βαθμών από ποσοστό σε κανονικό βαθμό γίνεται ως εξής :

            80 έως 100     = A

            60 έως 79       = B

            50 έως 59       = C

            40 έως 49       = D

            20 έως 39       = E

            0 έως 19         = F

Το όνομα του αρχείου κειμένου θα πρέπει να περιέχει τον κωδικό του module, δηλ. για το module CP1007, το όνομα του αρχείου θα πρέπει να είναι CP1007.txt.

Για να υλοποιηθεί αυτή η εφαρμογή, πρέπει να δημιουργηθούν οι εξής τρεις φόρμες :

Στη Form1, όταν κάνουμε κλικ στο command button με την ετικέτα Go to input marks form, εκτελείται η ακόλουθη διαδικασία :

Private Sub Command1_Click()

Form2.Show

End Sub

Στη Form1, όταν κάνουμε κλικ στο command button με την ετικέτα Go to review marks form, εκτελείται η ακόλουθη διαδικασία :

Private Sub Command2_Click()

Form3.Show

End Sub

Στη Form1, όταν κάνουμε κλικ στο command button με την ετικέτα Exit program, εκτελείται η ακόλουθη διαδικασία :

Private Sub Command3_Click()

End

End Sub

Στη Form2, όταν φορτώνουμε (load) τη φόρμα εκτελείται η εξής διαδικασία :

Private Sub Form_Load()

i = 1

End Sub

Στη Form2, όταν κάνουμε κλικ στο command button με την ετικέτα Add Student, εκτελείται η ακόλουθη διαδικασία :

Private Sub Command2_Click()

Dim StudentGrade As String

'Εδώ μετατρέπουμε τον βαθμό του σπουδαστή από ποσοστό σε κανονικό

βαθμό (grade)

Select Case Val(StudentMark)

    Case 80 To 100

        StudentGrade = "A"

    Case 60 To 79

        StudentGrade = "B"

    Case 50 To 59

        StudentGrade = "C"

    Case 40 To 49

        StudentGrade = "D"

    Case 20 To 39

        StudentGrade = "E"

    Case 0 To 19

        StudentGrade = "F"

End Select

'Εδώ προσθέτουμε το όνομα και τον βαθμό του σπουδαστή στο τέλος των πινάκων (arrays)

St_Names(i) = StudentName

St_Grades(i) = StudentGrade

'Πηγαίνουμε στην επόμενη θέση του πίνακα

i = i + 1

End Sub

Στη Form2, όταν κάνουμε κλικ στο command button με την ετικέτα Add to File, εκτελείται η ακόλουθη διαδικασία :

Private Sub Command1_Click()

Dim iFileNumber, j As Integer

'Διαλέγουμε έναν τυχαίο αριθμό για το text file

iFileNumber = FreeFile

'Ανοίγουμε το text file μόνο για output

Open "C:\" & ModuleCode & ".txt" For Output As #iFileNumber

'Γράφουμε το Module Name και το Module Code στο text file

Print #iFileNumber, ModuleName

Print #iFileNumber, ModuleCode

'Γράφουμε τα περιεχόμενα των δύο πινάκων στο text file

For j = 1 To i

    Print #iFileNumber, St_Names(j)

    Print #iFileNumber, St_Grades(j)

Next

'Κλείνουμε το text file

Close #iFileNumber

End Sub

Στη φόρμα3, όταν φορτώνουμε (load) τη φόρμα, εκτελείται η ακόλουθη διαδικασία :

Private Sub Form_Load()

Dim iFileNumber As Integer

'Αυτά τα strings περιέχουν τα ονόματα και τους βαθμούς όλων των

σπουδαστών

Dim S_Names, S_Grades As String

'Αυτά είναι τα πεδία (fields) του text file

Dim sModuleName, sModuleCode, sStudentName, sStudentGrade As String

'Δίνουμε αρχικές τιμές στα δύο strings

S_Names = ""

S_Grades = ""

'Διαλέγουμε έναν τυχαίο αριθμό για το text file

iFileNumber = FreeFile

'Ανοίγουμε το text file μόνο για input

Open "C:\CP1007.txt" For Input As #iFileNumber

'Διαβάζουμε το Module Name και το Module Code από το text file

Line Input #iFileNumber, sModuleName

Line Input #iFileNumber, sModuleCode

'Τοποθετούμε το Module Name και το Module Code στις αντίστοιχες ετικέτες

Label2.Caption = sModuleName

Label3.Caption = sModuleCode

'Διαβάζουμε τα ονόματα και τους βαθμούς των σπουδαστών μέχρι να

‘φθάσουμε στο τέλος του αρχείου

Do Until EOF(iFileNumber)

    Line Input #iFileNumber, sStudentName

    Line Input #iFileNumber, sStudentGrade

    'Προσθέτουμε τα ονόματα και τους βαθμούς των μαθητών στα αντίστοιχα

    ‘strings συν τους χαρακτήρες return και line feed

    S_Names = S_Names + sStudentName + Chr(13) + Chr(10)

    S_Grades = S_Grades + sStudentGrade + Chr(13) + Chr(10)

Loop

'Τοποθετούμε τα ονόματα και τους βαθμούς των μαθητών στις αντίστοιχες

ετικέτες

Label6.Caption = S_Names

Label7.Caption = S_Grades

'Κλείνουμε το text file

Close #iFileNumber

End Sub

Δημιουργούμε ένα module όπου γράφουμε τα εξής :

Public St_Names(10) As String

Public St_Grades(10) As String

Public i, j As Integer

 

Άσκηση 38η 

Να καταχωρηθούν τα λεπτά της ώρας σ’ ένα πλαίσιο κειμένου, να γίνει έλεγχος αν η τιμή είναι μεγαλύτερη του 59 και αν ναι, να εμφανίζεται ένα προειδοποιητικό μήνυμα σε μια ετικέτα, να καταχωρείται η τιμή 59 στο πλαίσιο κειμένου και ο χρήστης να αναγκάζεται να καταχωρήσει μια άλλη τιμή (συμβάν LostFocus).

Private Sub txtMinutes_LostFocus()

            If Val(txtMinutes.Text) > 59 Then

                        lblWarning.Caption = "Όχι τιμή μεγαλύτερη από 59"

                        txtMinutes.Text = "59"

                        txtMinutes.SetFocus

            End If

End Sub

 

Άσκηση 39η

Να δημιουργηθεί μια φόρμα που θα περιέχει ένα πλαίσιο κειμένου με όνομα txtEntry και ένα μενού με τις επιλογές για Αποκοπή, Αντιγραφή και Επικόλληση του επιλεγμένου κειμένου του πλαισίου κειμένου προς και από το Πρόχειρο. Το μενού θα περιέχει και μια επιλογή για Καθάρισμα του περιεχομένου του πλαισίου κειμένου.

Private Sub mnuEditCut_Click()

            ‘Καθάρισμα του Προχείρου

            Clipboard.Clear

            ‘Αποκοπή του επιλεγμένου κειμένου στο Πρόχειρο

            Clipboard.SetText txtEntry.SelText

txtEntry.SelText = ""

End Sub

Private Sub mnuEditCopy_Click()

            ‘Καθάρισμα του Προχείρου

            Clipboard.Clear

            ‘Αντιγραφή του επιλεγμένου κειμένου στο Πρόχειρο

            Clipboard.SetText txtEntry.SelText

End Sub

Private Sub mnuEditPaste_Click()

            ‘Επικόλληση του επιλεγμένου κειμένου από το Πρόχειρο

txtEntry.SelText = Clipboard.GetText()

End Sub

Private Sub mnuEditClear_Click()

            ‘Καθάρισμα του πλαισίου κειμένου

txtEntry.Text = ""

End Sub

 

back.gif (9867 bytes)

Επιστροφή