Αφού οι μαθητές της Visual Basic μάθουν τα πάντα για τους βρόχους και τις υπό όρους δηλώσεις και υπορουτίνες και ούτω καθεξής, ένα από τα επόμενα τα πράγματα που συχνά ρωτούν είναι: "Πώς μπορώ να προσθέσω ένα bitmap, ένα αρχείο wav, έναν προσαρμοσμένο δρομέα ή κάποιο άλλο ειδικό αποτέλεσμα;" Ενας η απάντηση είναι αρχεία πόρων. Όταν προσθέτετε ένα αρχείο χρησιμοποιώντας αρχεία πόρων του Visual Studio, ενσωματώνονται απευθείας στο έργο της Visual Basic για μέγιστη ταχύτητα εκτέλεσης και ελάχιστη ταλαιπωρία τη συσκευασία και την ανάπτυξη τα δικα σου εφαρμογή.
Τα αρχεία πόρων είναι διαθέσιμα και στα δύο VB 6 και VB.NET, αλλά ο τρόπος με τον οποίο χρησιμοποιούνται, όπως όλα τα άλλα, είναι αρκετά διαφορετικός μεταξύ των δύο συστημάτων. Λάβετε υπόψη ότι αυτός δεν είναι ο μόνος τρόπος χρήσης αρχείων σε ένα έργο VB, αλλά έχει πραγματικά πλεονεκτήματα. Για παράδειγμα, θα μπορούσατε να συμπεριλάβετε ένα bitmap σε ένα PictureBox τον έλεγχο ή τη χρήση του mciSendString Win32 API. Το "MCI" είναι ένα πρόθεμα που συνήθως υποδεικνύει μια συμβολοσειρά εντολών πολυμέσων.
Δημιουργία αρχείου πόρων στο VB 6
Μπορείτε να δείτε τους πόρους σε ένα έργο τόσο στο VB 6 όσο και στο VB.NET στο Εξερεύνηση έργου (Explorer Solution στο VB.NET - έπρεπε να το κάνουν λίγο διαφορετικό). Ένα νέο έργο δεν θα έχει κανέναν δεδομένου ότι οι πόροι δεν είναι ένα προεπιλεγμένο εργαλείο στο VB 6. Ας προσθέσουμε έναν απλό πόρο σε ένα έργο και να δούμε πώς γίνεται αυτό.
Το πρώτο βήμα είναι να ξεκινήσετε το VB 6 επιλέγοντας a Πρότυπο EXE έργο σχετικά με το Νέος καρτέλα στο παράθυρο διαλόγου εκκίνησης. Τώρα επιλέξτε το Πρόσθετα στη γραμμή μενού και, στη συνέχεια, στο Διαχείριση πρόσθετων ... Αυτό θα ανοίξει το παράθυρο διαλόγου Διαχειριστής πρόσθετων.
Μετακινηθείτε προς τα κάτω στη λίστα και βρείτε Επεξεργαστής πόρων VB 6. Μπορείτε να κάνετε διπλό κλικ ή μπορείτε να βάλετε ένα σημάδι ελέγχου στο Φόρτωση / εκφόρτωση για να προσθέσετε αυτό το εργαλείο στο περιβάλλον VB 6. Αν νομίζετε ότι πρόκειται να χρησιμοποιήσετε πολύ τον επεξεργαστή πόρων, τότε μπορείτε επίσης να τοποθετήσετε ένα σημάδι ελέγχου στο πλαίσιο Φόρτωση κατά την εκκίνηση και δεν θα χρειαστεί να περάσετε ξανά αυτό το βήμα στο μέλλον. Κάντε κλικ στο κουμπί "OK" και ο επεξεργαστής πόρων ανοίγει. Είστε έτοιμοι να ξεκινήσετε να προσθέτετε πόρους στο έργο σας!
Μεταβείτε στη γραμμή μενού και επιλέξτε Εργο έπειτα Προσθήκη νέου αρχείου πόρων ή απλά κάντε δεξί κλικ στον Επεξεργαστή πόρων και επιλέξτε "Άνοιγμα" από το μενού περιβάλλοντος που εμφανίζεται. Θα ανοίξει ένα παράθυρο, το οποίο σας ζητά το όνομα και τη θέση ενός αρχείου πόρων. Η προεπιλεγμένη θέση πιθανόν να μην είναι αυτό που θέλετε, οπότε περιηγηθείτε στο φάκελο του έργου σας και εισάγετε το όνομα του νέου σας αρχείου πόρων στο Ονομα αρχείου κουτί. Σε αυτό το άρθρο, θα χρησιμοποιήσω το όνομα "AboutVB.RES" για αυτό το αρχείο. Θα πρέπει να επιβεβαιώσετε τη δημιουργία του αρχείου σε ένα παράθυρο επαλήθευσης και το αρχείο "AboutVB.RES" θα δημιουργηθεί και θα συμπληρωθεί στον επεξεργαστή πόρων.
VB6 Υποστηρίζει
Το VB6 υποστηρίζει τα εξής:
- Ένας επεξεργαστής πίνακα συμβολοσειρών
("Επεξεργασία πινάκων συμβολοσειρών ...") - Προσαρμοσμένοι δρομείς - αρχεία "CUR"
("Προσθήκη δρομέα ...") - Προσαρμοσμένα εικονίδια - αρχεία "ICO"
("Προσθήκη εικονιδίου ...") - Προσαρμοσμένες εικόνες bitmap - αρχεία "BMP"
("Προσθήκη Bitmap ...") - Προγραμματισμένοι πόροι
("Προσθήκη προσαρμοσμένου πόρου ...")
Το VB 6 παρέχει έναν απλό επεξεργαστή για συμβολοσειρές, αλλά πρέπει να έχετε δημιουργήσει ένα αρχείο σε ένα άλλο εργαλείο για όλες τις άλλες επιλογές. Για παράδειγμα, μπορείτε να δημιουργήσετε ένα αρχείο BMP χρησιμοποιώντας το απλό πρόγραμμα Windows Paint.
Κάθε πόρος στο αρχείο πόρων προσδιορίζεται στο VB 6 από ένα Ταυτότητα και ένα όνομα στον επεξεργαστή πόρων. Για να διαθέσετε έναν πόρο στο πρόγραμμα, προσθέστε τον στον Επεξεργαστή πόρων και, στη συνέχεια, χρησιμοποιήστε το Id και τον πόρο "Type" για να το δείξετε στο πρόγραμμα σας. Ας προσθέσουμε τέσσερα εικονίδια στο αρχείο πόρων και να τα χρησιμοποιήσουμε στο πρόγραμμα.
Όταν προσθέτετε έναν πόρο, το ίδιο το ίδιο το αρχείο αντιγράφεται στο έργο σας. Το Visual Studio 6 παρέχει μια ολόκληρη συλλογή εικονιδίων στο φάκελο ...
C: \ Προγράμματα αρχείων \ Microsoft Visual Studio \ Κοινό \ Γραφικά \ Εικονίδια
Για να προχωρήσουμε με την παράδοση, θα επιλέξουμε τα τέσσερα "στοιχεία" του Έλληνα φιλόσοφου Αριστοτέλη - Γη, Νερό, Αέρα και Φωτιά - από τον υποκατάλογο Στοιχεία. Όταν τα προσθέτετε, το αναγνωριστικό εκχωρείται αυτόματα από το Visual Studio (101, 102, 103 και 104).
Για να χρησιμοποιήσετε τα εικονίδια σε ένα πρόγραμμα, χρησιμοποιούμε μια λειτουργία VB 6 "Resource Load". Υπάρχουν πολλές από αυτές τις λειτουργίες για να επιλέξετε:
- LoadResPicture (ευρετήριο, μορφή) για εικόνες bitmap, εικονίδια και δρομείς
Χρησιμοποιήστε τις προκαθορισμένες σταθερές VB vbResBitmap για bitmaps, vbResIcon για εικονίδια και vbResCursor για δρομείς για την παράμετρο "format". Αυτή η λειτουργία επιστρέφει μια εικόνα που μπορείτε να χρησιμοποιήσετε απευθείας. LoadResData (εξηγείται παρακάτω) επιστρέφει μια συμβολοσειρά που περιέχει τα πραγματικά bits στο αρχείο. Θα δούμε πώς να το χρησιμοποιήσουμε αφού δείξουμε εικονίδια.
- LoadResString (ευρετήριο) για χορδές
- LoadResData (ευρετήριο, μορφή) για οτιδήποτε έως 64Κ
Όπως σημειώθηκε παραπάνω, αυτή η συνάρτηση επιστρέφει μια συμβολοσειρά με τα πραγματικά bits του πόρου. Αυτές είναι οι τιμές που μπορούν να χρησιμοποιηθούν για την παράμετρο μορφοποίησης εδώ:
1 Πόρος δρομέα
2 πόρων bitmap
3 Πόρος εικονιδίων
4 Πόροι μενού
5 Παράθυρο διαλόγου
6 Πόρος στοιχειοσειράς
7 Πηγή πόρων γραμματοσειράς
8 Πόροι γραμματοσειράς
9 Πίνακας επιταχυντή
10 Πόροι που ορίζονται από τον χρήστη
12 Ομαδικός κέρσορας
14 Εικονίδιο ομάδας
Δεδομένου ότι έχουμε τέσσερα εικονίδια στο αρχείο πόρων AboutVB.RES, ας το χρησιμοποιήσουμε LoadResPicture (ευρετήριο, μορφή) για να τις αντιστοιχίσετε στην ιδιότητα Εικόνα ενός CommandButton στο VB 6.
Δημιούργησα μια εφαρμογή με τέσσερις OptionButton τα στοιχεία που φέρουν τη σήμανση Γη, Νερό, Αέρα και Πυρκαγιά και τέσσερα γεγονότα κλικ - ένα για κάθε επιλογή. Στη συνέχεια, πρόσθεσα ένα CommandButton και άλλαξε την ιδιότητα Στυλ στο "1 - Γραφικό". Αυτό είναι απαραίτητο για να μπορέσετε να προσθέσετε ένα προσαρμοσμένο εικονίδιο στο CommandButton. Ο κώδικας για κάθε OptionButton (και το συμβάν φόρτωσης φόρμας - για την αρχικοποίησή του) μοιάζει με αυτό (με τα Id και Caption άλλαξαν ανάλογα για τα άλλα συμβάντα OptionButton Click):
Προσαρμοσμένοι πόροι
Η "μεγάλη διαπραγμάτευση" με τους προσαρμοσμένους πόρους είναι ότι κανονικά πρέπει να παρέχετε έναν τρόπο να τα επεξεργαστείτε στον κώδικα του προγράμματος. Οπως και Microsoft το δηλώνει "αυτό απαιτεί συνήθως τη χρήση των κλήσεων API των Windows". Αυτό θα κάνουμε.
Το παράδειγμα που θα χρησιμοποιήσουμε είναι ένας γρήγορος τρόπος για να φορτώσετε έναν πίνακα με μια σειρά σταθερών τιμών. Θυμηθείτε ότι το αρχείο πόρων περιλαμβάνεται στο έργο σας, έτσι εάν οι τιμές που πρέπει να φορτώσετε αλλαγή, θα πρέπει να χρησιμοποιήσετε μια πιο παραδοσιακή προσέγγιση, όπως ένα διαδοχικό αρχείο που ανοίγετε και ανάγνωση. Το API των Windows που θα χρησιμοποιήσουμε είναι το CopyMemory API. Το CopyMemory αντιγράφει το μπλοκ μνήμης σε διαφορετικό μπλοκ μνήμης, ανεξάρτητα από τον τύπο δεδομένων που αποθηκεύεται εκεί. Αυτή η τεχνική είναι γνωστή στους VB 6'ers ως ένα εξαιρετικά γρήγορο τρόπο για την αντιγραφή δεδομένων μέσα σε ένα πρόγραμμα.
Αυτό το πρόγραμμα είναι λίγο περισσότερο εμπλεκόμενο επειδή πρώτα πρέπει να δημιουργήσουμε ένα αρχείο πόρων που περιέχει μια σειρά από μεγάλες τιμές. Απλώς αποδίδω τιμές σε μια συστοιχία:
Dims (10) Όσο μακρύς
(1) = 123456
(2) = 654321
... και ούτω καθεξής.
Στη συνέχεια, οι τιμές μπορούν να εγγραφούν σε ένα αρχείο που ονομάζεται MyLongs.longs χρησιμοποιώντας τη δήλωση VB 6 "Put".
Είναι καλή ιδέα να θυμάστε ότι το αρχείο πόρων δεν αλλάζει εκτός αν διαγράψετε το παλιό και προσθέσετε ένα νέο. Έτσι, χρησιμοποιώντας αυτήν την τεχνική, θα πρέπει να ενημερώσετε το πρόγραμμα για να αλλάξετε τις τιμές. Για να συμπεριλάβετε το αρχείο MyLongs.longs στο πρόγραμμα σας ως πόρο, προσθέστε το σε ένα αρχείο πόρων χρησιμοποιώντας τα ίδια βήματα που περιγράφονται παραπάνω, αλλά κάντε κλικ στο κουμπί Προσθήκη προσαρμοσμένου πόρου ... αντί για Προσθήκη εικονιδίου... Στη συνέχεια, επιλέξτε το αρχείο MyLongs.longs ως το αρχείο που θέλετε να προσθέσετε. Πρέπει επίσης να αλλάξετε τον "Τύπο" του πόρου κάνοντας δεξί κλικ στον πόρο αυτόν, επιλέγοντας "Ιδιότητες" και αλλάζοντας τον τύπο σε "longs". Σημειώστε ότι αυτός είναι ο τύπος αρχείου του αρχείου MyLongs.longs.
Για να χρησιμοποιήσετε το αρχείο πόρων που δημιουργήσατε για να δημιουργήσετε μια νέα συστοιχία, δηλώστε πρώτα την κλήση API Win32 CopyMemory:
Στη συνέχεια, διαβάστε το αρχείο πόρων:
Στη συνέχεια, μετακινήστε τα δεδομένα από τη συστοιχία bytes σε μια σειρά από μεγάλες τιμές. Κατανομή ενός πίνακα για τις τιμές longs χρησιμοποιώντας την ακέραια τιμή του μήκους της συμβολοσειράς bytes διαιρούμενη με 4 (δηλαδή, 4 bytes ανά μήκος):
Τώρα, αυτό μπορεί να φαίνεται σαν ένα πάρα πολύ πρόβλημα, όταν θα μπορούσατε απλώς να αρχικοποιήσετε τη συστοιχία στο συμβάν φόρτωσης φόρμας, αλλά δείχνει πώς να χρησιμοποιήσετε έναν προσαρμοσμένο πόρο. Εάν είχατε ένα μεγάλο σύνολο σταθερών που χρειάζεστε για να αρχικοποιήσετε τη συστοιχία, θα τρέχει πιο γρήγορα από οποιοδήποτε άλλη μέθοδο που μπορώ να σκεφτώ και δεν θα έπρεπε να έχετε ένα ξεχωριστό αρχείο που περιλαμβάνεται στην αίτησή σας για να το κάνετε το.