Vb6'da liste şeklinde dosya sistemi. Bir metin dosyasına okuma ve yazma

Her programın verileri diske kaydetmesi ve diskten okuması gerekir. Bu, örneğin program ayarlarını kaydetmek için gereklidir; kullanıcının, bir sonraki başlatılışında yeniden yapılandırılması gerekecek olan programı beğenme olasılığı düşüktür.

Bu makalede konuşacağız Visual Basic kullanarak metin dosyalarıyla çalışma hakkında.

Dosya tanımlayıcı

Dosyalarla çalışmak için işletim sistemi G/Ç kanallarını kullanır; Her açık dosya kendi numarası vardır.

Visual Basic'te bir işlev var Ücretsiz Dosya dosyayla çalışmak için kullanılabilecek boş kanalın numarasını döndürür. Boş kanal yoksa bir hata oluşur.

ÜcretsizDosya[(Aralık Numarası) ]

Aralık Numarası-eğer serbest kanalların değer aralığını tanımlamanıza izin veren isteğe bağlı parametre Aralık Numarası= 0 (varsayılan) ise kanal numarası 1 - 255 aralığından, 1 ise 256 - 511 aralığından döndürülür.

Dosyam = ÜcretsizDosya "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 dosya açılmalıdır; bu, operatör kullanılarak yapılır. Açık (Dosya adı) As # içinDosya numarası, Nerede:

Giriş- dosyayı okumak için açın, eğer dosya yoksa bir hata oluşur;

Çıktı- yazmak için, dosya yoksa oluşturulacak ve dosya varsa üzerine yazılacaktır;

Ekle- Eklemek için, eğer dosya yoksa oluşturulacak, eğer dosya varsa veriler dosyanın sonuna eklenecektir.

Metin dosyalarını okumak iki şekilde yapılabilir: karakter karakter oku, bunun için işlevi kullan Giriş(Number_of_characters_read, #Dosya numarası) ve satır satır, fonksiyon bunun için kullanılır Hat Girişi #Dosya numarası, Nerede_okunmalı.

Dosyamı Karart

Dize Olarak S Dim "Okuma verilerini depolamak için değişken

Dosyam = ÜcretsizDosya

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

Satır Girişi #Dosyam, S "TEST.TXT dosyasındaki ilk satırı S değişkenine oku

Dosyamı Karart "Ücretsiz bir dosya için bir değişken bildirin

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

Dize Olarak Dim tS "Dizeleri okumak için değişken

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

Dosyam = ÜcretsizDosya "Dosyalarla çalışmak için ücretsiz bir kanal atama

"Okumak için TEST.TXT dosyasını açın

i = 1 ila 5 için

Satır Girişi #Dosyam, tS "TEST.TXT dosyası satır satır okunuyor

Eğer i => 5 ise S = tS "Beşinci satırsa, onu S değişkeninde saklayın

Sonraki ben

#MyFile'ı kapat "Dosyayı kapat

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

Dim S As String "Okuma verilerini depolamak için değişken

Dosyam = ÜcretsizDosya "Dosyalarla çalışmak için ücretsiz bir kanal atama

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

S = Giriş$(LOG(1), 1) "Dosyanın tamamını S değişkenine oku

#MyFile'ı kapat "Dosyayı kapat

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 şudur: Yazmak Verileri tırnak içine yazar ve Yazdır tırnak işareti olmadan.

Aşağıdaki kod C:\ sürücüsünde oluşturulacaktır. yeni dosya TEST.TXT ve içine iki satır yazın, ilki tırnak işaretleri olmadan, ikincisi tırnak içinde:

Dosyamı Karart "Ücretsiz bir dosya için bir değişken bildirin

Dosyam = ÜcretsizDosya "Dosyalarla çalışmak için ücretsiz bir kanal atama

Open("C:\TEST.txt") #MyFile Olarak Çıktı Almak İçin "Yazmak için TEST.TXT dosyasını açın

#Dosyamı Yazdır, "Bu satır Yazdırma operatörü tarafından yazılmıştır, tırnak işaretleri olmadan..."

#MyFile yazın, "Bu satır Write operatörü tarafından yazılmıştır, tırnak içindedir..."

#MyFile'ı kapat "Dosyayı kapat

Bu kadar. Muhtemelen zaten anladığınız gibi, operatör bir dosyayı kapatmak için kullanılır Kapalı #Dosya numarası burada, # Dosya numarası belirtmek gerekli değildir.

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

pencereler

Çalışmanın amacı: Dosyalarla çalışmak için VB 6 dil operatörlerini öğrenme ve kullanma çeşitli türler: sıralı (metin) dosyalar, rastgele erişimli dosyalar, ikili dosyalar. Aracın araştırılması ve kullanılması YaygınDiyalog dosyaları açmak ve kaydetmek, yazı tipi ve rengi seçmek ve nesneyi kullanmak için Pano basit bir metin düzenleyici oluşturma örneğini kullanarak metin parçalarını depolamak için.

Kontrol soruları:

1. Bir metin dosyasını hangi yollarla açabilirsiniz? Bir metin veya başka bir açık dosya nasıl kapatılır?

2. Yazmaya açık bir metin dosyasına veriler nasıl yazılır? Write ve Print ifadeleri arasındaki fark nedir?

3. Veriler açık bir metin dosyasından nasıl okunur? Giriş ve Hat Giriş operatörleri birbirinden nasıl farklıdır? Bir dosyadan belirli sayıda karakteri okumak için hangi işlev kullanılabilir? Bir dosyanın tüm karakterleri nasıl okunur?

4. Nedir özel tip veriler ve rastgele erişimli dosyalar ile çalışırken bu kavramın nasıl kullanıldığı ( raf)?

5. Dosyadaki hangi operatörlerin kullanılması raf kayıtlar ayrıca dosyaya okunur raf Yeni kayıtlar yazılıyor mu?

6. Bir dosyayla çalışırken indeks hangi amaçla belirleniyor ve kullanılıyor? raf?

7. İkili dosyaları kullanmanın özellikleri nelerdir? Nasıl açılıyorlar? İkili dosyadan okuma ve ikili dosyaya yazma nasıl yapılır?

8. Kontrol nasıl kullanılır? YaygınDiyalog bir metin dosyasının içeriğini bir metin alanına yüklemek için? Düzenlenen metni bir metin dosyasına kaydetmek için aynı kontrolü nasıl kullanabilirim?

9. Kontrol nasıl kullanılır? YaygınDiyalog dosya içeriğini indirmek için rtf sahada ZenginMetin kutusu? Düzenlenen metni bir dosyaya kaydetmek için aynı kontrolü kullanma rtf?

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

Örnek 7.1. Her biri çalışanın kimlik numarasını, tam adını, doğum tarihini ve doğum yerini içeren bir metin dosyasına yazmayı (ve bir metin dosyasından okumayı) “çalışan bilgileri” satırlarını gösteren bir uygulamayı düşünün. Satırlar bir tablo oluşturur; ekran formu Style özelliği 1 – SimpleCombo değerine sahip olan Combo(i) nesnelerinin bir dizisini oluşturarak 4 Combo Box kontrolünü simüle edecektir (Şekil 7.1).

Silinecek satırı seçin", vbExclamation

Tarak(j).RemoveItem i

'Sokmak Yeni giriş masaya:

Özel Alt mnuInsert_Click()

i% = Comb(0).ListIndex

Eğer ben< 0 Then

MsgBox "Önüne eklenecek satırı vurgulayın", vbExclamation

Comb(0).AddItem OutputBox("Sayıyı girin"), i

Comb(1).AddItem OutputBox("Adınızı girin"), i

Comb(2).AddItem OutputBox("Doğum tarihinizi girin."), i

Comb(3).AddItem OutputBox("Doğum yerini girin."), i

‘ Bir tablo girişini değiştirme:

Özel Abone mnuUpdate_Click()

i% = Comb(0).ListIndex

Eğer ben< 0 Then

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

Comb(0).List(i) = OutputBox("Sayıyı girin", Comb(0).List(i))

Comb(1).List(i) = OutputBox("Adınızı girin", Comb(1).List(i))

Comb(2).List(i) = OutputBox("Doğum tarihinizi girin.", Comb(2).List(i))

Comb(3).List(i) = OutputBox("Doğum yerinizi giriniz.", Comb(3).List(i))

‘ Tüm tablonun temizlenmesi:

Özel Abone mnuClear_Click()

' Bir tabloyu bir metin dosyasındaki bilgilerle doldurmak:

Özel Alt mnuLoad_Click()

#1 Girişi İçin "person.txt" dosyasını açın

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

Tarak(0).AddItem uyuşmuş

Tarak(1).AddItem fio

Comb(2).AddItem bdate

Tarak(3).AddItem bloğu

‘Tablo bilgilerini bir metin dosyasına yazma:

Özel Abone mnuSave_Click()

N% = Comb(0).ListCount

#1 Olarak Çıktı İçin "person.txt" dosyasını açın

i = 0 için N - 1 için

uyuşmuş = Val(Comb(0).List(i))

fio = Tarak(1).Liste(i)

bdate = CDate(Comb(2).List(i))

blok = Tarak(3).Liste(i)

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

‘Uygulamanın kapatılması:

Özel Alt mnuExit_Click()

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

Dosya formatı TXT metin alanına (Şekil 7.2'de sol alan) ve dosya formatına yüklenecektir. RTF- sahada ZenginMetin kutusu(Şekil 7.2'deki sağ kenar boşluğu).

nesne

Sınıf

nesne

Mülk

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üzenlemek. Aşağıda yalnızca menü komutları için de prosedür kodu verilmiştir Dosya (Açık, Kaydetmek Ve KaydetmekGibi). Diğer menü komutları için kod oluşturmak bu çalışmanın 2. görevinin konusudur.

Özel Abone mnuOpen_Click()

CommonDialog1.ShowOpen

F$ = CommonDialog1.FileName

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

RichTextBox1.LoadFile F

ElseIf Right(F, 3) = "txt" Sonra

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

S$ = Giriş(N, 1)

Özel Abone mnuSave_Click()

CommonDialog1.ShowSave

F$ = CommonDialog1.FileName

Özel Abone mnuSaveAs_Click()

CommonDialog1.ShowSave

F$ = CommonDialog1.FileName

RichTextBox1.SaveFile F, rtfRTF

Bu çalışma sırasında öğrencinin 2 görevi tamamlaması gerekir.

1. Egzersiz. Ödevi tamamlama sürecinde öğrenciler, VB 6'da bulunan, rastgele erişimli dosyalar ( RAFrastgeleerişimdosya).

Belirli bir veritabanı tablosu için, bir kullanıcı veri türü bildirilir, bu türden bir değişken bildirilir (öğretici, s. 108-112), bir kullanıcı türü değişkeni kullanan prosedürler derlenir ve hata ayıklanır.

Özellikle menü komutlarına yönelik 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 KombinasyonKutu ve menü Düzenlemek beş alt menü komutuyla: Bir not ekle, Girişi sil, Giriş ekle, Girişi düzenle, Tabloyu temizle.

seçenek 1.

“Araba Hizmeti” 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ında alan türleri gösterilmektedir.

seçenek 2.

“Araba Servisi” veritabanının “Arızalar” tablosu (Tablo 7.2) için özel bir veri türü bildirin.

arızalar

İsim

arızalar

Fiyat

Tablo 7.2'nin alt satırında alan türleri gösterilmektedir.

Örnek Uygulama 7.1'i şablon olarak kullanarak, gösterilen tablo için verilerin girişini ve düzenlenmesini düzenleyin, bu verileri rastgele erişim dosyasına yazın ve verileri rastgele erişim dosyasından okuyun. Örnek 7.1'de olduğu gibi, bu eylemler Şekil 7'de gösterilen menü komutlarının çalışması olarak gerçekleştirilir. 7.1.

Görev 2. Ödev sırasında öğrenciler örnek uygulamaya 2, uygulamanın basit bir metin düzenleyicisi olarak görülmesine olanak tanıyan yeni özellikler eklerler.

seçenek 1 YaygınDiyalog menü komutlarını uygulama Yazı tipi Ve Renk(alt menü ile Karakter rengi Ve Arka plan rengi). Bu komutları kullanarak pencerede seçilen metin parçası için bir yazı tipi (adı, stili ve boyutu) seçebilmeniz gerekir. ZenginMetin kutusu, ayrıca seçilen parçanın karakterlerinin rengini seçme ve tüm pencerenin arka plan rengini seçme.

Not: Bir nesneyi ayarlarken YaygınDiyalog(Özel) özelliğini kullanarak bir yazı tipi seçmek için Flags özelliğinin değerini 1, 2 veya 3 olarak ayarladığınızdan emin olun (bkz. kılavuz, sayfa 183).

seçenek 2. Bir kontrolü kullanma YaygınDiyalog menü komutlarını uygulama Düzenlemek(alt menü Kopyala, Kesmek Ve Yapıştırmak), amacı kopyalama veya silme seçilen metin parçasının panosuna ve ayrıca sokmak panonun içeriğinin seçilen metin alanına.

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

Pano. SetText RichTextBox1.SelText

RichTextBox1.SelText = Pano. Metin Getir

8. BİLGİLERİ KAYDETMEK VE OKUMAK

Program tamamlandıktan sonra bellekte oluşturulan tüm verilerin kaybolmamasını sağlamak için bilgileri sabit sürücünüze kaydedebilmeniz gerekir. Aksi takdirde tüm bilgiler iz bırakmadan kaybolacaktır. Veriler çeşitli şekillerde saklanabilir ve okunabilir. Çeşitli boyut ve formatlardaki bilgilerle çalışmak için ikili ve metin dosyalarını kullanabilirsiniz. Küçük miktardaki bilgileri depolamak için Windows kayıt defterini kullanabilirsiniz. Ve en karmaşık görevler için veritabanlarını kullanmak akıllıca olacaktır.

8.1. " operatörünü kullanarak dosyaları açmaAçık "

Dosya, herhangi bir harici depolama cihazının adlandırılmış alanıdır. Veriler bilgisayarın belleğinde "canlıdır" ve dosyalar sabit sürücüde yaşar. 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 belirtilir (ö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 geçerli klasörde, varsayılan olarak uygulamanızın bulunduğu klasörde aranacaktır. Anında 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 dosya biçimini veya hangi program tarafından oluşturulduğunu belirtir.

Dosyayla ç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ç” operatörünü kullanarak bu işaretçi gerekli dosyayla ilişkilendirilir. Ancak bundan sonra program onunla çalışabilecektir. Bir dosyayı açma sözdizimi aşağıdaki gibidir:

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

FileHandle% = FreeFile

' dosyayı aç

FilePath_'i açın

[#]FileHandle% olarak

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

[#]FileHandle'ı kapat

· FileHandle % – dosya işaretçisini saklayan bir değişken;

· FreeFile – dosya işaretçisini döndüren işlevin adı;

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

· FilePath – tam dosya adı;

· İçin – bir anahtar kelime 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ı

Tanım

Ekle

Verileri mevcut bir metin dosyasının sonuna ekleme. Dosya yoksa oluşturulacak

İkili

Bir dosyayı ikili modda açmak, ör. bayt kümesi olarak. Dosya mevcut değilse ancak oluşturulacaksa

Giriş

Metin formatında okumak için bir dosyayı açma

Çıktı

Bir metin dosyası yazmak için bir dosya açın. Bu durumda tüm eski bilgiler silinecektir. Dosya mevcut değilse ancak oluşturulacaksa

Rastgele

Bir dosyayı rastgele erişim modunda açma. Bu mod basit kayıtlarla çalışmak için kullanılır. Dosya mevcut değilse ancak oluşturulacaksa

· Erişim – isteğe bağlı bir anahtar kelime ve ardından erişim türünün açıklaması;

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

· Okuma – okuma;

· Yaz – kaydet;

· Oku Yaz – okuma ve yazma.

Not

Ekleme ve Çıkış erişim modlarıyla yalnızca Yazma erişim türü kullanılabilir, Yalnızca Giriş Okumayla ve İkili ve Rastgele erişim türleriyle üç erişim türü de kullanılabilir.

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

Tablo 16

LockType parametresi için olası değerler

Anlam

Tanım

Paylaşıldı

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

Okumayı Kilitle

Dosyanın okunması 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 kelime ve ardından bir dosya işaretçisidir.

· #, kendisinden sonra gelen değerin bir dosya işaretçisi olduğunu gösteren bir semboldür.

· Len, girişin uzunluğunu belirten bir parametrenin takip etmesi gereken isteğe bağlı bir anahtar kelimedir.

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

· Close, belirtilen tanıtıcıyla ilişkili dosyayı kapatan bir ifadedir.

Bir dosyayla çalışmayı bitirdiğinizde dosyayı kapatmanız önemlidir. "Kapat" ifadesi, dosya işaretçisini ve ilgili hafıza alanını serbest bırakır.

Bir dosyayla çalışırken yani dosyadan okurken dosyanın sonunun belirlenmesi çok önemlidir. EOF (Dosya Sonu) işlevi kullanılarak tanımlanabilir:

EOF(DosyaHandle)

· EOF – işlev adı;

· FileHandle, sonu belirlenmekte olan dosyaya yönelik bir işaretçidir.

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

8.2. Bir metin dosyasına okuma ve yazma

Metin dosyası “Giriş”, “Çıkış” 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. Servis sembolleriyle çalışmanın faydası yoktur.

Bilgileri kaydetmek için, söz dizimi aşağıdaki gibi olan iki "Yazdır" ve "Yaz" operatörünü kullanın:

#FileHandle%, VarBuffer [;] yazdır

#FileHandle%, VarBuffer [;] yazın

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

· #FileHandle % - bilginin yerleştirileceği dosyanın işaretçisi.

· VarBuffer – dosyaya yazılacak değer.

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

Bir dosyadan bilgi okumak için “Giriş” ve “Hat Girişi” operatörlerini kullanın. Sözdizimi birbirine benzer:

Satır Girişi #FileHandle%, VarBuffer

#FileHandle%, VarBuffer girişini yapın

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

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

· VarBuffer – bilgilerin okunacağı değişken.

"Satır Girişi" ve "Giriş" operatörleri arasındaki fark, birincisinin yalnızca metin dosyaları için, ikincisinin ise herhangi biri için tasarlanmış olmasıdır. Metin dosyaları söz konusu olduğunda, "Giriş", ilk sınırlayıcıya kadar bir satırdaki verileri okur (metin verileri için ayırıcı "" (virgül) ve sayısal veriler için - "" (boşluk) ve ",") ve “Satır Girişi » herhangi bir sınırlayıcıyı göz ardı ederek satırın tamamını aynı anda okur.

Not

Visual Basic'in önceden oluşturulmuş dosyaların biçimini denetleme aracı yoktur. Bu nedenle, "2" sembolü karşılık gelen sayı olarak okunabilir ve bunun tersi de geçerlidir.

8.3. İkili dosyalarla çalışma

Dosyalar şurada açılıyor ikili format“İkili” modda “Açık” operatörü. Bu modun ayırt edici özelliği, dosyayla çalışmanın yalnızca belirli baytlara odaklanmasıdır. Visual Basic bir dosyada istenen konumu doğrudan adresleyebildiği için bu moda aynı zamanda − denir. doğrudan erişim modu. Bu modun bir diğer özelliği, dosyayı yeniden açmadan, dosyanın farklı bölümlerine aynı anda bilgi yazma ve okuma yeteneğidir. İkili modda açılan bir dosyaya yazma işlemi aşağıdaki sözdizimi kullanılarak yapılır:

#FileHandle%, , NameVar koyun

· Put – bilgi kayıt operatörünün adı.

· RecNumber – bilgilerin yazılacağı dosyanın bayt numarası (isteğe bağlı parametre).

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

İkili modda bir dosyadan bilgi okumak aşağıdaki operatör kullanılarak yapılır:

#FileHandle%, , NameVar'ı alın

· Al – bilgi kaydetme operatörünün adı.

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

· RecNumber – bilgilerin okunacağı dosyanın bayt numarası (isteğe bağlı parametre).

· NameVar – okunan bilginin 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: ya "Bayt", ardından baytın sayısal değeri okunacaktır veya sabit uzunlukta bir karakter bir karakterden oluşuyorsa bayt, kodu bayt boyutuna karşılık gelen ANSI karakteri olarak okunacaktır. Bu karakter, metin dosyalarında elde edilemeyen bir kontrol karakteri bile olabilir.

Not

RecNumber parametresinin yokluğunda, dosyanın daha önce çalışıldığı bayttan sonraki baytında bilgi yazma veya okuma işlemi gerçekleşir.

8.4. Grafik manipülasyonu

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

ImageCtrl.Picture = LoadPicture(DosyaYolu)

· ImageCtrl – bir görüntü penceresi denetiminin, görüntü kontrolünün veya formun adı;

· LoadPicture – işlev adı;

· FilePath – tam dosya adı.

SavePicture ImageCtrl .Resim, DosyaYolu

· SavePicture – operatör adı;

· ImageCtrl – bir görüntü penceresi denetiminin, görüntü kontrolünün veya formun adı;

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

· FilePath – dosyanın diskteki konumunu belirten tam adı.

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

Windows Kayıt Defteri, küçük bilgi parçalarını karakter biçiminde depolamak için kullanılabilir. Visual Basic'te ona erişmek için kullanabileceğiniz dört prosedür vardır. Kullanımları çok kolaydır ancak bir ana dezavantajı vardır: verilere yalnızca belirli bir kayıt defteri anahtarından erişebilirsiniz: "Bilgisayarım\HKEY_CURRENT_USER\Software\VB ve VBA Program Ayarları". Kayıt defterinin diğer bölümlerine erişmek için "Win 32 API" özel işlevlerini kullanmanız gerekir.

Windows kayıt defterinin Visual Basic bölümünden bir ayarın değerini almak için aşağıdaki işlevi kullanmanız gerekir:

MyString = GetSetting(VBKeyName, Bölüm, Anahtar [,Default])

· MyString – işlevin döndürdüğü değeri saklayan bir dize;

· GetSetting – işlev adı.

· VBKeyName, dahili 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 (eksik parametre) değeri döndürülecek olan isteğe bağlı bir bağımsız değişken.

Bir değeri Windows kayıt defterinde saklamak için aşağıdaki ifadeyi kullanın:

SaveSetting VBKeyName, Bölüm, Anahtar, MyString

· SaveSetting – operatör adı.

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

Belirli bir alt anahtardaki tüm parametre değerlerini içeren kayıt defterinden bir dizi elde etmek için aşağıdaki işlevi kullanın:

MyVariant = SetAllSettings(VBKeyName, Bölüm)

· MyVariant, işlevin döndürdüğü "Variant" türündeki değerlerin bir dizisidir.

· SetAllSettings – işlev adı.

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

Parametrelerin bir bölümünün tamamını kaldırmak için aşağıdaki sözdizimine sahip bir ifade kullanın:

SilSetting VBKeyAdı, Bölüm, Anahtar

· SilSetting – operatör adı.

Kendi kendine test için test soruları

  1. Bazı bilgileri uzun vadede nasıl saklayabilirsiniz?
  2. Dosya nedir?
  3. Hangi dosya adlarını biliyorsunuz?
  4. “Aç” operatörünün sözdizimini verin. Parametrelerinin amacını açıklayın.
  5. Birden fazla uygulama aynı anda bir dosyaya erişimi nasıl paylaşabilir?
  6. Bir dosyadaki bilgilerin tükendiği nasıl belirlenir?
  7. Bir dosyayla çalıştıktan sonra neden kapatılması öneriliyor?
  8. Metin ve ikili dosya modları arasındaki fark olarak ne 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 "Yazdır" operatörleri arasındaki fark nedir?
  12. Dosyalarla çalışırken "Giriş" ve "Hat Girişi" operatörleri arasındaki fark nedir?
  13. Grafik verileriyle nasıl çalışabilirsiniz?
  14. Windows kayıt defteriyle çalışmanın temel ilkeleri nelerdir?



Tepe