pencereler

Amaç: Sıralı (metin) dosyalar, rastgele erişimli dosyalar, ikili dosyalar gibi çeşitli türlerdeki dosyalarla çalışmak için VB 6 dil operatörlerini öğrenmek ve kullanmak. Aracı araştırma ve kullanma YaygınDiyalog dosyaları açmak ve kaydetmek, bir yazı tipi ve renk seçmek ve nesneyi kullanmak için Panometin parçalarını depolamak için - basit bir metin düzenleyici oluşturma örneğini kullanarak.

Test soruları:

1. Bir metin dosyasını hangi yollarla açabilirsiniz? Bir metin dosyasını ve diğer açık bir dosyayı nasıl kapatırım?

2. Veriler yazmak için açılan bir metin dosyasına nasıl yazılır? Yaz ve Yazdır ifadeleri arasındaki fark nedir?

3. Veriler, okunması açık bir metin dosyasından nasıl okunur? Giriş ve Satır Giriş ifadeleri birbirinden nasıl farklıdır? Bir dosyadan belirli sayıda karakteri okumak için hangi işlev kullanılabilir? Bir dosyadaki tüm karakterleri nasıl okuyabilirim?

4. Özel veri türü nedir ve rastgele erişimli dosyalar ile çalışırken bu kavram nasıl kullanılır ( raf)?

5. Dosyadaki hangi operatörlerle raf kayıtlar dosyaya okunur rafyeni kayıtlar yazılıyor mu?

6. Bir dosya ile çalışırken dizin hangi amaçla belirlenir ve kullanılır? raf?

7. İkili dosyaları kullanmanın özellikleri nelerdir? Nasıl açılıyor? İkili dosyadan okumak ve ikili dosyaya yazmak nasıl yapılır?

8. Kontrol nasıl uygulanabilir? YaygınDiyalog bir metin dosyasının içeriğini bir metin kutusuna yüklemek için? Aynı kontrolü kullanarak düzenlenen metni bir metin dosyasına nasıl kaydedebilirim?

9. Kontrol nasıl uygulanabilir? YaygınDiyalog dosya içeriğini indirmek için rtf tarlada ZenginMetin kutusu? Düzenlenen metni aynı kontrolü kullanarak bir dosyaya kaydetme rtf?

10. Kontrol nasıl uygulanabilir? YaygınDiyalog yazı tipi parametrelerinin değerlerini değiştirmek ve penceredeki metnin rengini değiştirmek için Metin kutusu (veya bir pencerede seçilen bir metin parçası ZenginMetin kutusu)?

Örnek 7.1. Bir metin dosyasına yazmayı (ve bir metin dosyasından okurken) "çalışanlar hakkında bilgi" - her biri bir çalışanın kimlik numarası, tam adı, doğum tarihi ve doğum yerini içeren satırlar gösteren bir uygulama düşünün. Satırlar, ekranda 4 Combo Box kontrolünü simüle edecek (Şekil 7.1), Style özelliği 1 - SimpleCombo olarak ayarlanmış bir Comb (i) nesnesi dizisi oluşturan bir tablo oluşturur.

Silinecek satırı vurgulayın ", vbExclamation

Tarak (j) .Kaldır Öğesi i

Tabloya yeni kayıt ekle:

Özel Alt mnuInsert_Click ()

i% \u003d Tarak (0) .ListIndex

Eğer ben< 0 Then

MsgBox "Önüne eklenecek satırı seçin", vbExclamation

Comb (0) .AddItem InputBox ("Numara girin"), i

Tarak (1) .AddItem InputBox ("Ad girin"), i

Comb (2) .AddItem InputBox ("Doğum tarihini girin."), I

Comb (3) .AddItem InputBox ("Doğum yerini girin."), I

Tablodaki girişi değiştirin:

Özel Alt mnuUpdate_Click ()

i% \u003d Tarak (0) .ListIndex

Eğer ben< 0 Then

MsgBox "Değiştirilecek satırı seçin", vbExclamation

Comb (0) .List (i) \u003d InputBox ("Numara girin", Comb (0) .List (i))

Comb (1) .List (i) \u003d InputBox ("Adınızı girin", Comb (1) .List (i))

Comb (2) .List (i) \u003d InputBox ("Doğum tarihinizi girin", Comb (2) .List (i))

Comb (3) .List (i) \u003d InputBox ("Doğum yerini girin.", Comb (3) .List (i))

Tüm tabloyu temizlemek:

Özel Alt mnuClear_Click ()

Tabloyu bir metin dosyasındaki bilgilerle doldurmak:

Özel Alt mnuLoad_Click ()

1 Numaralı Giriş için "kişi. Txt" yi açın

Giriş # 1, uyuşmuş, fio, bdate, blok

Tarak (0) .AddItem uyuşması

Tarak (1) .AddItem fio

Tarak (2) .AddItem bdate

Tarak (3) .AddItem bloğu

Bir metin dosyasına tablo bilgisi yazma:

Özel Alt mnuSave_Click ()

N% \u003d Tarak (0) .ListCount

Çıktı # 1 İçin "kişi. Txt" yi açın

İ \u003d 0 - N - 1 için

numb \u003d Val (Comb (0) .List (i))

fio \u003d Tarak (1) .Liste (i)

bdate \u003d CDate (Comb (2) .List (i))

bloc \u003d Tarak (3) .List (i)

# 1, uyuşmuş, fio, bdate, bloc yaz

"Uygulama kapatma:

Özel Alt mnuExit_Click ()

Örnek 7.2 ... Kontrollerin kullanımını gösteren bir uygulama düşünün YaygınDiyalog bir dosyayı açıp kaydetmek, bir yazı tipi ve rengi seçmek ve metni düzenlemek için.

Dosyayı biçimlendir Txt metin kutusuna (Şekil 7.2'de soldaki kutu) ve format dosyası RTF - tarlada ZenginMetin kutusu (Şekil 7.2'de sağ kenar boşluğu).

nesne

Sınıf

nesne

Emlak

nesne

Mülk değeri

"Genel paneller

diyalog "

Aç / Farklı Kaydet Sekmesi

Yazı Tipi Sekmesi

Renk Sekmesi

Tablo, menü komutlarının özelliklerini göstermiyor Yazı tipi, Renk ve Düzenle... Aşağıda yalnızca menü komutları için de prosedürlerin kodu verilmiştir Dosya (Açık, Kayıt etmek ve Kayıt etmekGibi). Diğer menü komutları için kod yazmak, bu çalışmanın 2. görevinin konusudur.

Özel Sub mnuOpen_Click ()

CommonDialog1.ShowOpen

F $ \u003d CommonDialog1.FileName

Sağ (F, 3) \u003d "rtf" ise O zaman

RichTextBox1.LoadFile F

ElseIf Right (F, 3) \u003d "txt" Sonra

# 1 Olarak Giriş İçin F'yi Aç

S $ \u003d Giriş (N, 1)

Özel Alt mnuSave_Click ()

CommonDialog1.ShowSave

F $ \u003d CommonDialog1.FileName

Özel Alt mnuSaveAs_Click ()

CommonDialog1.ShowSave

F $ \u003d CommonDialog1.FileName

RichTextBox1.SaveFile F, rtfRTF

Bu çalışma sırasında öğrenci 2 görevi tamamlamalıdır.

1. Egzersiz. Ödevi tamamlama sürecinde, öğrenciler rastgele erişimli dosyalar ( RAF -rastgelegirişdosya).

Belirli bir veritabanı tablosu için, özel bir veri türü bildirirsiniz, bu türden bir değişken bildirirsiniz (öğretici, s. 108 - 112), özel bir tür değişkeni kullanan yordamları derler ve hata ayıklama prosedürlerini kullanırsınız.

Özellikle menü komutları için prosedürler uygulanmaktadır Dosyaya yazRAF ve Dosyadan okuRAF... Örnek 7.1'de olduğu gibi, verileri düzenlemek için bir dizi nesne kullanılır. ComboKutu ve menü Düzenle beş alt menü komutuyla: Bir not ekle, Girişi sil, Kayıt ekle, Kaydı değiştir, Tabloyu temizle.

seçenek 1.

"Autoservice" veritabanının "Araba" tablosu (Tablo 7.1) için özel bir veri türü bildirin.

araba

araba

arızalar

Tablo 7.1'in alt satırı, alan türlerini gösterir.

seçenek 2.

"Autoservice" veritabanının "Hatalar" tablosu (Tablo 7.2) için özel bir veri türü bildirin.

arızalar

İsim

arızalar

Ücret

Tablo 7.2'nin alt satırında alan türleri yer almaktadır.

Örnek uygulama 7.1'i örnek olarak kullanarak, sunulan tablo için veri girişini ve düzenlemeyi organize edin, bu verileri rastgele erişimli bir dosyaya yazın ve rastgele erişimli bir dosyadan veri okuyun. Örnek 7.1'de olduğu gibi, bu eylemler Şekil 2'de gösterilen menü komutlarının çalışması olarak uygulanır. 7.1.

Görev 2. Öğrenciler ödevi tamamladıklarında, Örnek 2'deki uygulamaya yeni özellikler ekleyerek uygulamayı basit bir metin düzenleyici olarak görüntülemelerine olanak tanır.

seçenek 1 YaygınDiyalog menü komutlarını uygulamak Yazı tipi ve Renk (alt menülü Karakter rengi ve Arka plan rengi). Bu komutlar yardımı ile pencerede seçilen metin parçası için yazı tipi seçimi (adı, stili ve boyutu) sağlanmalıdır. ZenginMetin kutusuyanı sıra seçim sembollerinin renginin seçimi ve tüm pencerenin arka plan renginin seçimi.

Not: Bir nesneyi kurarken YaygınDiyalog (Özel) özelliğini kullanarak bir yazı tipi seçmek için, Flags özellik değerini 1, 2 veya 3 olarak ayarladığınızdan emin olun (eğitici, s. 183'e bakın).

seçenek 2... Kontrolü kullanma YaygınDiyalog menü komutlarını uygulamak Düzenle (alt menü Kopyala, Kesmek ve Yapıştırmak), amacı kopyalama veya silme seçili metin parçasının panosuna ve eklemek pano içeriğinin metninde vurgulanan yere.

Not: Panoya (nesne Pano) SetText ve GetText yöntemlerini kullanabilirsiniz:

Pano. SetText RichTextBox1.SelText

RichTextBox1.SelText \u003d Pano. GetText

Her program veriyi diske kaydetmeli ve diskten okumalıdır. Bu, örneğin program ayarlarını kaydetmek için gereklidir, kullanıcının programı beğenmesi pek olası değildir ve bir sonraki başlatıldığında yeniden yapılandırılması gerekecektir.

Bu makale, Visual Basic kullanarak metin dosyalarıyla çalışmaya odaklanacaktır.

Dosya tanımlayıcı

İşletim sistemi, dosyalarla çalışmak için giriş / çıkış kanallarını kullanır. her açık dosyanın kendi numarası vardır.

Visual Basic'in bir işlevi vardır FreeFile, dosya ile çalışmak için kullanılabilecek ücretsiz bir kanalın numarasını döndürür. Boş kanal yoksa, bir hata oluşur.

FreeFile [(Aralık Numarası) ]

Aralık Numarası - eğer varsa, ücretsiz kanalların değer aralığını belirlemenizi sağlayan isteğe bağlı bir parametre Aralık Numarası \u003d 0 (varsayılan), bu durumda kanal numarası 1-255 aralığından ve 1 ise 256 - 511 aralığından döndürülür.

MyFile \u003d FreeFile "MyFile değişkenine ücretsiz bir kanal atandı ve artık dosyalarla çalışmak için kullanılabilir

Metin dosyalarıyla çalışma

Çoğu zaman metin dosyalarıyla karşılaşırsınız. Metin dosyaları, ASCII (Bilgi Değişimi için Amerikan Standart Kodu) karakter setinden oluşur.

Veri yazmaya / okumaya başlamadan önce dosyanın açılması gerekir, bu operatör kullanılarak yapılır. Aç (Dosya adı) As #Dosya numarasınerede:

Giriş - dosya yoksa, okumak için dosyayı açın, o zaman bir hata oluşur;

Çıktı - Yazmak için, eğer dosya yoksa, o zaman yaratılacak ve dosya varsa, üzerine yazılacaktır;

Ekle - eklemek için, eğer dosya yoksa, o zaman oluşturulacak ve dosya varsa, veri dosyanın sonuna eklenecektir.

Metin dosyalarını okumak iki şekilde yapılabilir: karakter karakter okuma, bunun için işlevi kullanın Giriş (Okunacak Karakter Sayısı, #Dosya numarası) ve satır satır, işlev bunun için kullanılır Hat Girişi #Dosya numarası, Where_to_read.

Dim MyFile

Dize Olarak Dim S "Okunan verileri depolamak için değişken

MyFile \u003d FreeFile

# MyFile Olarak Giriş İçin ("C: \\ TEST.txt") Açın

Hat Girişi # MyFile, S "TEST.TXT dosyasındaki ilk satırı S değişkenine okuma

Dim MyFile "Ücretsiz bir dosya için bir değişken bildirin

Tamsayı Olarak Dim i "Döngü için değişken

Dize Olarak Dim tS "Satırları okumak için değişken

Dize Olarak Dim S "Nihai verileri depolamak için değişken

MyFile \u003d FreeFile "Dosyalarla çalışmak için ücretsiz bir kanal atama

"TEST.TXT dosyasını okumak için açma

İ \u003d 1 ila 5 için

Hat Girişi #MyFile, tS "TEST.TXT dosyasını satır satır okumak

İ \u003d\u003e 5 ise S \u003d tS "Beşinci satırsa, onu S değişkeninde saklarız

Sonraki ben

Kapat #MyFile "Dosyayı kapatın

Dim MyFile "Ücretsiz bir dosya için bir değişken bildirin

Dim S As String "Okunan verileri depolamak için değişken

MyFile \u003d FreeFile "Dosyalarla çalışmak için ücretsiz bir kanal atama

# MyFile Olarak Giriş İçin ("C: \\ TEST.txt") Açın "TEST.TXT dosyasını okumak için açma

S \u003d Girdi $ (LOG (1), 1) "Dosyanın tamamını S değişkenine okuma

Kapat #MyFile "Dosyayı kapatın

Bir dosyaya yazmak için operatörler var Yazdır #Dosya numarası, Veri ve Yazmak #Dosya numarası, Veri... Bu operatörler arasındaki tek fark, Yazmak veriyi tırnak içinde yazar ve Yazdır tırnak işareti olmadan.

Aşağıdaki kod, C: \\ sürücüsünde yeni bir TEST.TXT dosyası oluşturacak ve ona iki satır yazacaktır; birincisi tırnaksız ve ikincisi tırnak içinde:

Dim MyFile "Ücretsiz bir dosya için bir değişken bildirin

MyFile \u003d FreeFile "Dosyalarla çalışmak için ücretsiz bir kanal atama

# MyFile Olarak Çıktı İçin Aç ("C: \\ TEST.txt") "Kayıt için TEST.TXT dosyasını açın

#MyFile Yazdır, "Bu dize Yazdırma operatörü tarafından yazılmıştır, tırnak işaretleri yoktur ..."

#MyFile yazın, "Bu satır Write ifadesiyle yazılmıştır, tırnak içinde ..."

Kapat #MyFile "Dosyayı kapatın

Bu kadar. Muhtemelen zaten anladığınız gibi, operatör dosyayı kapatmak için kullanılır Kapat #Dosya numarasıburada # Dosya numarası İsteğe bağlı.

Makale biraz kaba ama acemi programcılar için faydalı olacaktır. Bir dahaki sefere ikili dosyalar ile çalışmaktan bahsedeceğim.

8. BİLGİ KAYDETME VE OKUMA

Böylece, program sonlandırıldıktan sonra bellekte oluşturulan tüm verilerin kaybolmaması için, bilgileri sabit diskinize kaydedebilmeniz gerekir. Aksi takdirde, tüm bilgiler iz bırakmadan kaybolur. Verileri farklı şekillerde kaydedebilir ve okuyabilirsiniz. Çeşitli boyut ve biçimlerdeki bilgilerle çalışmak için ikili ve metin dosyalarını kullanabilirsiniz. Küçük miktarlarda bilgi depolamak için Windows kayıt defterini kullanabilirsiniz. Ve en karmaşık görevler için veri tabanlarını kullanmak mantıklıdır.

8.1. Operatörü kullanarak dosyaları açma "Aç "

Dosya, herhangi bir harici depolama aygıtının adlandırılmış bir alanıdır. Bilgisayar belleğinde "canlı" veriler ve sabit diskteki dosyalar. Program doğrudan dosyalarla çalışmaz, ancak işletim sistemini aracı olarak kullanır.

İki tür dosya adı vardır: tam - dosya adına ek olarak, dosyanın harici ortamdaki konumu da gösterilir (örneğin, "C: \\ Program Files \\ Microsoft Visual Studio \\ VB98 \\ VB 6.EXE") ve kısa - yalnızca dosya adı (VB 6.EXE ). Dosya konumu belirtilmezse, varsayılan olarak geçerli klasörde - uygulamanızın bulunduğu klasörde - aranacaktır. Doğrudan dosya adı iki bölümden oluşur: gerçek benzersiz dosya adı ve uzantısı. Adın kendisi dosyayı tanımlar ve uzantı genellikle dosyanın biçimini veya hangi program tarafından oluşturulduğunu belirtir.

Dosya ile çalışmaya başlamadan önce işletim sistemine sormalısınız. işaretçi (tanımlayıcı) dosya... Bunu elde etmek için "FreeFile" işlevini kullanın. Daha sonra, "Aç" ifadesini kullanarak, bu işaretçi gerekli dosyayla ilişkilendirilir. Ancak o zaman program onunla çalışabilir. Bir dosyayı açmanın sözdizimi aşağıdaki gibidir:

Ücretsiz bir dosya işaretçisi edinin ve bir değişkene atayın

FileHandle% \u003d FreeFile

'Dosyayı aç

FilePath'i açın _

[#] FileHandle% olarak

... (bir dosyayla çalışmak)

[#] FileHandle'ı kapat

· FileHandle% - dosya işaretçisini depolayan bir değişken;

· FreeFile - bir dosya işaretçisi döndüren işlevin adı;

· Açık - operatör adı;

· FilePath, dosyanın tam adıdır;

· For - bir anahtar sözcük ve ardından dosya erişim modunun açıklaması;

· Mod - dosya erişim modu (bkz. Tablo 15);

Tablo 15

Dosya erişim modları

Erişim modları

Açıklama

Ekle

Mevcut bir metin dosyasının sonuna veri ekleyin. Dosya yoksa, oluşturulacaktır

İkili

Bir dosyayı ikili modda açmak, yani bayt kümesi olarak. Dosya yoksa ancak oluşturulacaksa

Giriş

Metin biçiminde okumak için bir dosya açma

Çıktı

Bir metin dosyası yazmak için bir dosyayı açma. Bu, tüm eski bilgileri kaldıracaktır. Dosya yoksa ancak oluşturulacaksa

Rastgele

Bir dosyayı rastgele erişim modunda açmak. Bu mod, basit kayıtlarla çalışmak için kullanılır. Dosya yoksa ancak oluşturulacaksa

· Erişim, isteğe bağlı bir anahtar sözcüktür ve ardından erişim türünün bir açıklaması gelir;

· AccessType - erişim türünün açıklaması:

· Oku - okuma;

· Yaz - yaz;

· Oku Yaz - oku ve yaz.

Not

Ekleme ve Çıktı erişim modları için, yalnızca Yazma erişim türü, Giriş için, yalnızca Okuma ve İkili ve Rastgele için üç erişim türü de mevcuttur.

· LockType, programınız üzerinde çalışırken diğer programların bu dosyayı kullanıp kullanamayacağını belirleyen isteğe bağlı bir parametredir. Genellikle ağ oluşturma ile ilişkilidir (bkz. Tablo 16).

Tablo 16

LockType parametresi için olası değerler

Değer

Açıklama

Paylaşılan

Gerekli haklara sahip tüm kullanıcılar dosyaya tam erişime sahip olacak

Kilit Oku

Dosya okuma engellendi, ancak yazmaya izin verildi

Yazmayı kilitle

Dosyaya yazma engellendi, ancak okumaya izin verildi

Okuma Yazmayı Kilitle

Hem okumak hem de yazmak yasaktır

· As bir anahtar sözcük ve ardından bir dosya tanıtıcısıdır.

· # Kendisinden sonraki değerin bir dosya tanıtıcısı olduğunu belirten bir karakterdir.

· Len, isteğe bağlı bir anahtar kelimedir ve ardından kaydın uzunluğunu belirten bir parametredir.

· CharInBuffer% - rastgele erişim modunda (Rastgele) açılan bir dosya için kayıt uzunluğu.

· Close, belirtilen tutamaçla ilişkili dosyayı kapatan ifadedir.

Çalışmayı bitirdikten sonra dosyayı kapatmak önemlidir. "Close" ifadesi, dosya işaretçisini ve ilgili bellek alanını serbest bırakır.

Bir dosyayla çalışırken, yani ondan okurken dosyanın sonunu belirlemek çok önemlidir. EOF (Dosya Sonu) işlevi kullanılarak belirlenebilir:

EOF (FileHandle)

· EOF - işlev adı;

· FileHandle, bitişini belirtmek için dosya tanıtıcısıdır.

İşlev, dosyanın sonuna ulaşıldığında True döndürür; aksi takdirde False döndürür.

8.2. Bir metin dosyasına okuma ve yazma

Metin dosyası "Giriş", "Çıktı" veya "Ekle" erişim modunda açılır (bkz. Tablo 15). Bu modun özelliği, yalnızca belirli yazdırılabilir karakterlerle çalışmasıdır. Hizmet sembolleri ile çalışmak faydasızdır.

Bilgi yazmak için, sözdizimi aşağıdaki gibi "Yazdır" ve "Yaz" olmak üzere iki operatör kullanın:

# FileHandle%, VarBuffer [;] yazdır

# FileHandle%, VarBuffer [;] yazın

· Yazdır / Yaz - operatör anahtar sözcükleri.

· # FileHandle% - bilgilerin yerleştirileceği dosyaya işaretçi.

· VarBuffer, dosyaya yazılacak değerdir.

· ; - bir metin dosyasına yazarken kullanılan isteğe bağlı bir parametre, bir sonraki değerin aynı satıra ve yoksa bir sonrakine yazılacağı anlamına gelir.

Bir dosyadan bilgi okumak için, "Giriş" ve "Satır Girişi" operatörlerini kullanın. Sözdizimi birbirine benzer:

Satır Girişi # FileHandle%, VarBuffer

Girdi # FileHandle%, VarBuffer

· Hat Girişi / Girişi - operatör anahtar sözcükleri.

· # FileHandle% - bilginin okunacağı dosya işaretçisi.

· VarBuffer, bilgilerin okunacağı bir değişkendir.

"Satır Girişi" ve "Giriş" operatörleri arasındaki fark, birincisinin yalnızca metin dosyaları için ve ikincisinin - herhangi biri için tasarlanmış olmasıdır. Metin dosyaları söz konusu olduğunda, "Giriş" verileri birinci ayırıcıya kadar bir satırda okur (metin verileri için ayırıcı "," (virgül) ve sayısal veriler için "" (boşluk) ve ",") ve "Satır Girişi »Sınırlayıcıları yok sayarak tüm satırı tek seferde okur.

Not

Visual Basic, önceden oluşturulmuş dosyalar için biçim denetimi içermez. Bu nedenle, "2" karakteri karşılık gelen sayı olarak okunabilir ve bunun tersi de geçerlidir.

8.3. İkili dosyalarla çalışma

Açılan dosyalar ikili biçim "İkili" modda "Aç" operatörü tarafından. Bu modun ayırt edici bir özelliği, bir dosyayla çalışmanın yalnızca belirli baytlara odaklanmasıdır. Visual Basic dosyada doğrudan istenen konuma adresleyebildiğinden, bu mod aynı zamanda - doğrudan erişim modu... Bu modun bir başka özelliği de, yeniden açmadan dosyanın farklı bölümlerindeki bilgileri aynı anda yazma ve okuma becerisidir. İkili modda açılan bir dosyaya yazma, aşağıdaki sözdizimi kullanılarak yapılır:

# FileHandle% ,, NameVar koyun

· Koy - bilgi kayıt operatörünün adı.

· RecNumber - bilginin yazılacağı dosyanın bayt numarası (isteğe bağlı).

· NameVar, içeriği bir dosyaya yazılacak bir değişkendir.

İkili modda bir dosyadan bilgi okuma, aşağıdaki operatör kullanılarak gerçekleştirilir:

# FileHandle% ,, NameVar'ı alın

· Get - bilgi kayıt operatörünün adı.

· FileHandle% - dosya tanıtıcısı.

· RecNumber - bilginin okunacağı dosya bayt numarası (isteğe bağlı).

· NameVar - okunan bilgilerin yerleştirileceği değişkenin adı.

İkili mod bilgi baytlarına odaklandığından, bir dosyadan okurken, arabellek değişkeni kesin olarak tanımlanmış bir türe sahip olmalıdır: "Bayt", sonra baytın sayısal değeri veya bir karakterdeki sabit uzunluktaki karakter değeri okunacak, bayt bir karakter olarak okunacaktır, ANSI , kodu bayt boyutuna karşılık gelir. Bu sembol, metin dosyaları durumunda elde edilemeyen bir kontrol sembolü bile olabilir.

Not

"RecNumber" parametresi yoksa, bilgi daha önce çalıştıkları dosyanın sonraki baytına yazılacak veya okunacaktır.

8.4. Grafik işleme

Ayrıca grafik görüntüleri kaydedebilir ve dosyalara çıkarabilirsiniz. Bir bitmap veya dosyadan bir simgeyi almak ve bunu PictureBox ve Image kontrollerinin Picture özelliğine atamak için aşağıdaki sözdizimiyle LoadPicture () işlevini kullanın:

ImageCtrl.Picture \u003d LoadPicture (Dosya Yolu)

· ImageCtrl - resim penceresi kontrolünün, resim kontrolünün veya formunun adı;

· LoadPicture, işlevin adıdır;

· FilePath, dosyanın tam adıdır.

SavePicture ImageCtrl .Picture, FilePath

· SavePicture - operatör adı;

· ImageCtrl - resim penceresi kontrolünün, resim kontrolünün veya formunun adı;

· Resim - görüntüden sorumlu nesne özelliğinin adı;

· FilePath, disk üzerindeki tam nitelikli dosya adı ve konumdur.

8.5. Kayıt defterindeki verilerle çalışma

Küçük karakter biçimi bilgilerini depolamak için Windows kayıt defterini kullanabilirsiniz. Visual Basic'te ona erişmek için kullanabileceğiniz dört yordam vardır. Kullanımları çok kolaydır, ancak önemli bir dezavantajları vardır: Verilere yalnızca belirli bir kayıt defteri anahtarından erişebilirsiniz: "Bilgisayarım \\ HKEY _CURRENT _USER \\ Yazılım \\ VB ve VBA Program Ayarları". Diğer kayıt defteri anahtarlarına erişmek için, "Win 32 API" özel işlevlerini kullanmanız gerekir.

Bir Visual Basic Windows kayıt defteri anahtarından bir parametrenin değerini almak için aşağıdaki işlevi kullanın:

MyString \u003d GetSetting (VBKeyName, Section, Key [, Default])

· MyString - işlev tarafından döndürülen değeri depolamak için bir dize;

· GetSetting, işlevin adıdır.

· VBKeyName, dahili bir VB / VBA alt anahtarının adı olan bir dize değeridir.

· Anahtar, bölümdeki parametrenin adını temsil eden bir dize değeridir.

· Varsayılan, bir hata durumunda (parametrenin olmaması) değeri döndürülecek olan isteğe bağlı bir bağımsız değişkendir.

Aşağıdaki ifade, Windows kayıt defterinde bazı değerleri depolamak için kullanılır:

SaveSetting VBKeyName, Section, Key, MyString

· SaveSetting - operatör adı.

· MyString, bulunan değerin yerleştirileceği bir dize değişkenidir.

Kayıt defterinden belirli bir alt anahtardaki tüm parametre değerlerini içeren bir dizi almak için aşağıdaki işlevi kullanın:

MyVariant \u003d SetAllSettings (VBKeyName, Bölüm)

· MyVariant, işlev tarafından döndürülen bir "Değişken" değerleri dizisidir.

· SetAllSettings, işlevin adıdır.

· Bölüm - Belirli bir uygulamanın bir bölümünü veya alt bölümünü temsil eden bir dize değeri.

Bir parametre bölümünün tamamını silmek için aşağıdaki sözdizimine sahip bir ifade kullanın:

DeleteSetting VBKeyName, Section, Key

· Silme Ayarı - operatör adı.

Kendi kendine test için test soruları

  1. Bazı bilgiler nasıl uzun süre saklanabilir?
  2. Dosya nedir?
  3. Hangi dosya adlarını biliyorsunuz?
  4. "Aç" ifadesi için sözdizimini verin. Parametrelerinin amacını açıklayın.
  5. Birden fazla uygulama aynı dosyayı aynı anda nasıl paylaşabilir?
  6. Dosyadaki bilgilerin tükendiğini nasıl belirleyebilirim?
  7. Bir dosya ile çalıştıktan sonra kapatılması neden önerilir?
  8. Metin ve ikili dosya modları arasındaki farkı nasıl görüyorsunuz?
  9. Veriler metin dosyası modunda nasıl okunur ve yazılır?
  10. Veriler ikili dosya modunda nasıl okunur ve yazılır?
  11. Dosyalarla çalışırken "Yazdır" ve "Yaz" operatörleri arasındaki fark nedir?
  12. Dosyalarla çalışırken "Giriş" ve "Satır Girişi" operatörleri arasındaki fark nedir?
  13. Grafik verilerle nasıl çalışabilirsiniz?
  14. Windows kayıt defteriyle çalışmanın temel ilkeleri nelerdir?