Visual Basic öğrencileri döngüler, koşullu ifadeler ve altyordamlar vb. Hakkında her şeyi öğrendikten sonra, sık sık sordukları şey, "Nasıl bir bitmap, wav dosyası, özel bir imleç veya başka bir özel efekt ekleyebilirim?" Bir cevap kaynak dosyaları. Visual Studio kaynak dosyalarını kullanarak bir dosya eklediğinizde, bunlar maksimum yürütme hızı ve minimum güçlük için doğrudan Visual Basic projenize entegre edilir paketleme ve dağıtım sizin uygulama.
Kaynak dosyaları hem VB 6 hem de VB.NET, ancak kullanım şekilleri, diğer her şey gibi, iki sistem arasında biraz farklıdır. Bunun bir VB projesinde dosyaları kullanmanın tek yolu olmadığını, ancak gerçek avantajlara sahip olduğunu unutmayın. Örneğin, bir bitmap'i bir Resim kutusu kontrol edin veya kullanın mciSendString Win32 API'sı. "MCI" genellikle bir Multimedya Komut Dizesini gösteren bir önektir.
VB 6'da Kaynak Dosya Oluşturma
Bir projedeki kaynakları hem VB 6 hem de VB.NET'te Proje Gezgini (VB.NET'te Solution Explorer - biraz farklı yapmak zorunda kaldılar). Kaynaklar VB 6'da varsayılan bir araç olmadığından yeni bir projede herhangi bir şey olmayacak. Şimdi bir projeye basit bir kaynak ekleyelim ve bunun nasıl yapıldığını görelim.
Birinci adım, VB 6'yı bir Standart EXE üzerinde proje Yeni sekmesini tıklayın. Şimdi Eklentileri seçeneğini seçin ve ardından Eklenti Yöneticisi ... Bu, Eklenti Yöneticisi iletişim penceresini açar.
Listeyi aşağı kaydırın ve bulun VB 6 Kaynak Editörü. Sadece çift tıklayabilir veya üzerine bir onay işareti koyabilirsiniz. Loaded / Yüksüz Bu aracı VB 6 ortamınıza eklemek için Kaynak Düzenleyiciyi çok kullanacağınızı düşünüyorsanız, kutuya bir onay işareti de yerleştirebilirsiniz. Başlangıçta Yükle ve gelecekte bu adımı tekrar atmanız gerekmeyecek. "Tamam" ı tıkladığınızda Kaynak Düzenleyici açılır. Projenize kaynak eklemeye hazırsınız!
Menü çubuğuna gidin ve proje sonra Yeni Kaynak Dosyası Ekle veya Kaynak Düzenleyici'ye sağ tıklayın ve açılan içerik menüsünden "Aç" ı seçin. Bir kaynak dosyasının adını ve konumunu girmenizi isteyen bir pencere açılacaktır. Varsayılan konum muhtemelen istediğiniz gibi olmayacaktır, bu nedenle proje klasörünüze gidin ve yeni kaynak dosyanızın adını Dosya adı Kutu. Bu makalede, bu dosya için "AboutVB.RES" adını kullanacağım. Bir doğrulama penceresinde dosyanın oluşturulmasını onaylamanız gerekir ve bir "AboutVB.RES" dosyası oluşturulur ve Kaynak Düzenleyici'ye doldurulur.
VB6 Destekleri
VB6 aşağıdakileri destekler:
- Bir dize tablosu düzenleyicisi
("Dize Tablolarını Düzenle ...") - Özel imleçler - "CUR" dosyaları
("İmleç Ekle ...") - Özel simgeler - "ICO" dosyaları
("Simge Ekle ...") - Özel bitmapler - "BMP" dosyaları
("Bitmap ekle ...") - Programcı tanımlı kaynaklar
("Özel Kaynak Ekle ...")
VB 6, dizeler için basit bir düzenleyici sağlar, ancak tüm diğer seçenekler için başka bir araçta oluşturulmuş bir dosyaya sahip olmanız gerekir. Örneğin, basit Windows Paint programını kullanarak bir BMP dosyası oluşturabilirsiniz.
Kaynak dosyadaki her kaynak VB 6'ya bir İD Kaynak Düzenleyici'de bir ad. Bir kaynağı programınız için kullanılabilir duruma getirmek amacıyla, bunları Kaynak Düzenleyicisi'ne ekler ve ardından programınızda işaret etmek üzere Kimlik ve "Tür" kaynağını kullanırsınız. Kaynak dosyasına dört simge ekleyelim ve bunları programda kullanalım.
Bir kaynak eklediğinizde, gerçek dosyanın kendisi projenize kopyalanır. Visual Studio 6, klasördeki tüm simgeler koleksiyonunu sunar ...
C: \ Program Dosyaları \ Microsoft Visual Studio \ Common \ Graphics \ Icons
Geleneği sürdürmek için Yunan filozofu Aristoteles'in dört "elementini" - Dünya, Su, Hava ve Ateş - Elementler alt dizininden seçeceğiz. Bunları eklediğinizde, kimlik Visual Studio (101, 102, 103 ve 104) tarafından otomatik olarak atanır.
Bir programdaki simgeleri kullanmak için VB 6 "Kaynak Yükle" işlevini kullanıyoruz. Aralarından seçim yapabileceğiniz bu işlevlerden bazıları vardır:
- LoadResPicture (dizin, biçim) bitmapler, simgeler ve imleçler için
VB önceden tanımlanmış sabitleri kullanma vbResBitmap bitmap'ler için, vbResIcon simgeler için ve vbResCursor imleçler için "format" parametresi. Bu işlev, doğrudan kullanabileceğiniz bir resim döndürür. LoadResData (aşağıda açıklanmıştır) dosyadaki gerçek bitleri içeren bir dize döndürür. Simgeleri gösterdikten sonra bunu nasıl kullanacağımızı göreceğiz.
- LoadResString (dizin) teller için
- LoadResData (dizin, biçim) 64K'ya kadar herhangi bir şey için
Daha önce belirtildiği gibi, bu işlev kaynaktaki gerçek bitleri içeren bir dize döndürür. Burada format parametresi için kullanılabilecek değerler şunlardır:
1 İmleç kaynağı
2 Bitmap kaynağı
3 Simge kaynağı
4 Menü kaynağı
5 İletişim kutusu
6 Dize kaynağı
7 Yazı tipi dizini kaynağı
8 Yazı tipi kaynağı
9 Hızlandırıcı tablosu
10 Kullanıcı tanımlı kaynak
12 Grup imleci
14 Grup simgesi
AboutVB.RES kaynak dosyamızda dört simge bulunduğundan, kullanalım LoadResPicture (dizin, biçim) bunları VB 6'daki bir KomutDüğmesi Picture özelliğine atamak için.
Dört kişilik bir uygulama oluşturdum Seçenek tuşu Dünya, Su, Hava ve Ateş ve dört Tıklama olayı etiketli bileşenler - her seçenek için bir tane. Sonra bir KomutDüğmesi ve Style özelliğini "1 - Grafik" olarak değiştirdi. Bu, KomutDüğmesine özel bir simge ekleyebilmek için gereklidir. Her OptionButton (ve Form Load olayı - başlatmak için) kodu aşağıdaki gibi görünür (Id ve Altyazı diğer OptionButton Tıklama olayları için buna göre değişir):
Özel Kaynaklar
Özel kaynaklarla "büyük bir anlaşma" normalde onları program kodunuzda işlemek için bir yol sağlamak zorunda olmasıdır. Gibi Microsoft, "bu genellikle Windows API çağrılarının kullanılmasını gerektirir." Yapacağımız şey bu.
Kullanacağımız örnek, bir dizi sabit değer içeren bir dizi yüklemenin hızlı bir yoludur. Kaynak dosyasının projenize dahil edildiğini unutmayın, bu nedenle yüklemeniz gereken değerler değiştirdiğinizde, açtığınız sıralı bir dosya gibi daha geleneksel bir yaklaşım kullanmanız ve okuyun. Kullanacağımız Windows API'sı CopyMemory API. CopyMemory, burada saklanan veri türüne bakılmaksızın bellek bloğunu farklı bir bellek bloğuna kopyalar. Bu teknik, VB 6'ers tarafından bir program içindeki verileri kopyalamanın ultra hızlı bir yolu olarak iyi bilinir.
Bu program biraz daha kapsayıcı çünkü öncelikle bir dizi uzun değer içeren bir kaynak dosyası oluşturmamız gerekiyor. Sadece bir diziye değerler atadım:
Loş uzun (10) Uzun
uzun ürünler (1) = 123456
uzun ürünler (2) = 654321
... ve benzerleri.
Daha sonra değerler şu adlı bir dosyaya yazılabilir: MyLongs.longs VB 6 "Put" deyimini kullanarak.
Eski dosyayı silmedikçe ve yeni bir dosya eklemedikçe kaynak dosyasının değişmediğini hatırlamak iyi bir fikirdir. Bu nedenle, bu tekniği kullanarak değerleri değiştirmek için programı güncellemeniz gerekir. MyLongs.longs dosyasını bir kaynak olarak programınıza dahil etmek için, yukarıda açıklanan adımların aynısını kullanarak bir kaynak dosyasına ekleyin, ancak Özel Kaynak Ekle ... Simge Ekle yerine... Ardından, eklenecek dosya olarak MyLongs.longs dosyasını seçin. Ayrıca, kaynağa sağ tıklayarak, "Özellikler" i seçip Türü "uzun ürün" olarak değiştirerek kaynağın "Türünü" değiştirmeniz gerekir. Bunun MyLongs.longs dosyanızın dosya türü olduğunu unutmayın.
Yeni bir dizi oluşturmak için oluşturduğunuz kaynak dosyasını kullanmak için önce Win32 CopyMemory API çağrısını bildirin:
Ardından kaynak dosyasını okuyun:
Ardından, verileri bayt dizisinden uzun değerler dizisine taşıyın. Bayt dizesinin uzunluğunun tamsayı değerini bölü 4'e (yani, uzunluğunda 4 bayta) kullanarak uzun değerler için bir dizi ayırın:
Şimdi, Form Yükleme olayında diziyi başlatabildiğinizde bu çok fazla sorun gibi görünebilir, ancak özel bir kaynağın nasıl kullanılacağını gösterir. Diziyi başlatmak için ihtiyaç duyduğunuz çok sayıda sabitiniz varsa, herhangi birinden daha hızlı çalışır düşünebileceğim diğer bir yöntem var ve uygulamanızla birlikte gelen ayrı bir dosyaya sahip olmanız gerekmeyecek o.