Vb6-da siyahı şəklində fayl sistemi. Mətn faylını oxumaq və yazmaq

Hər bir proqram məlumatları diskdə saxlamalı və onu diskdən oxumalıdır. Bu, məsələn, proqram parametrlərini saxlamaq üçün lazımdır; istifadəçinin proqramı bəyənməsi ehtimalı azdır, növbəti dəfə işə salındıqda yenidən konfiqurasiya edilməli olacaq.

Bu məqalədə danışarıq Visual Basic istifadə edərək mətn faylları ilə işləmək haqqında.

Fayl deskriptoru

Fayllarla işləmək üçün əməliyyat sistemi I/O kanallarından istifadə edir, yəni. hər faylı açınöz nömrəsi var.

Visual Basic-də bir funksiya var Pulsuz Fayl, faylla işləmək üçün istifadə edilə bilən pulsuz kanalın nömrəsini qaytarır. Pulsuz kanallar yoxdursa, xəta baş verir.

Pulsuz fayl[(RangeNumber) ]

RangeNumber-sərbəst kanalların dəyərlərinin diapazonunu müəyyən etməyə imkan verən əlavə parametr RangeNumber= 0 (standart), sonra kanal nömrəsi 1 - 255 diapazonundan, 1 olarsa, 256 - 511 diapazonundan qaytarılır.

MyFile = Pulsuz Fayl "MyFile dəyişəninə pulsuz kanal təyin edilib və indi fayllarla işləmək üçün istifadə oluna bilər

Mətn faylları ilə işləmək

Çox vaxt mətn faylları ilə qarşılaşırsınız. Mətn faylları ASCII (Məlumat Mübadiləsi üçün Amerika Standart Kodu) simvol dəstindən ibarətdir.

Məlumatı yazmağa/oxumağa başlamazdan əvvəl fayl açılmalıdır, bu operatordan istifadə etməklə edilir Açıq (Fayl adı) # kimiFayl_nömrəsi, Harada:

Giriş- faylı oxumaq üçün açın, əgər fayl yoxdursa, xəta baş verir;

Çıxış- yazmaq üçün, əgər fayl yoxdursa, yaradılacaq, fayl varsa, onun üzərinə yazılacaq;

Əlavə et- əlavə etmək üçün, əgər fayl mövcud deyilsə, yaradılacaq və fayl varsa, məlumat faylın sonuna əlavə olunacaq.

Mətn fayllarının oxunması iki yolla edilə bilər: simvol-xarakter oxuyun, bunun üçün funksiyadan istifadə edin Giriş(Oxunan_simvolların_sayı, #Fayl_nömrəsi) və sətir-sətir funksiyası bunun üçün istifadə olunur Xətt Girişi #Fayl_nömrəsi, Harada_oxumaq.

MyFile'ı zəiflədin

Dim S Sim kimi "Oxunmuş məlumatların saxlanması üçün dəyişən

MyFile = Pulsuz Fayl

#MyFile kimi daxil etmək üçün açın("C:\TEST.txt").

Xətt Girişi #Mənim Faylım, S "TEST.TXT faylından S dəyişəninə birinci sətri oxuyun

MyFile'ı zəiflədin "Pulsuz fayl üçün dəyişən elan edin

Tam ədəd kimi Dim "Dövrə üçün dəyişən

Dim tS String kimi "Sətrləri oxumaq üçün dəyişən

Dim S Sim kimi "Son məlumatların saxlanması üçün dəyişən

MyFile = Pulsuz Fayl "Fayllarla işləmək üçün pulsuz kanalın təyin edilməsi

"Oxumaq üçün TEST.TXT faylını açın

i = 1-dən 5-ə qədər

Xətt Girişi #Mənim Faylım, tS "TEST.TXT faylının sətir-sətir oxunması

Əgər i => 5 olarsa, S = tS olar "Beşinci sətirdirsə, onu S dəyişənində saxlayın

Növbəti i

#Faylımı bağlayın "Faylı bağlayın

Dim MyFile "Pulsuz fayl üçün dəyişən elan edin

Dim S As String "Oxunan məlumatların saxlanması üçün dəyişən

MyFile = Pulsuz Fayl "Fayllarla işləmək üçün pulsuz kanalın təyin edilməsi

#MyFile kimi daxil etmək üçün açın("C:\TEST.txt"). "Oxumaq üçün TEST.TXT faylını açın

S = Giriş$(LOG(1), 1) "Bütün faylı S dəyişəninə oxuyun

#Faylımı bağlayın "Faylı bağlayın

Fayla yazmaq üçün operatorlar var Çap #Fayl_nömrəsi, Data# yazınFayl_nömrəsi, Data. Bu operatorlar arasında yeganə fərq ondadır yaz məlumatları dırnaq içərisində yazır və Çap et sitatlar olmadan.

Aşağıdakı kod C:\ diskində yaradılacaq. yeni fayl TEST.TXT və ona iki sətir yazın, birincisi dırnaqsız, ikincisi isə dırnaq içərisində:

MyFile'ı zəiflədin "Pulsuz fayl üçün dəyişən elan edin

MyFile = Pulsuz Fayl "Fayllarla işləmək üçün pulsuz kanalın təyin edilməsi

#MyFile kimi çıxış üçün açın("C:\TEST.txt"). "Yazmaq üçün TEST.TXT faylını açın

Print #MyFile, "Bu sətir Çap operatoru tərəfindən yazılmışdır, dırnaqsızdır..."

#MyFile yazın, "Bu sətir Write operatoru tərəfindən yazılmışdır, dırnaq içərisindədir..."

#Faylımı bağlayın "Faylı bağlayın

Hamısı budur. Yəqin ki, artıq başa düşdüyünüz kimi, operator faylı bağlamaq üçün istifadə olunur Yaxın #Fayl_nömrəsi, burada, # Fayl_nömrəsi göstərmək lazım deyil.

Məqalə bir az kobuddur, lakin təcrübəsiz proqramçılar üçün faydalı olacaq. Növbəti dəfə ikili fayllarla işləmək haqqında danışacağam.

Windows

İşin məqsədi: Fayllarla işləmək üçün VB 6 dil operatorlarını öyrənmək və istifadə etmək müxtəlif növlər: ardıcıl (mətn) fayllar, təsadüfi giriş faylları, ikili fayllar. Alətin tədqiqi və istifadəsi ÜmumiDialoq faylları açmaq və saxlamaq, şrift və rəng seçmək və obyektdən istifadə etmək üçün Bufer sadə mətn redaktoru yaratmaq nümunəsindən istifadə edərək mətn fraqmentlərinin saxlanması üçün.

Nəzarət sualları:

1. Mətn faylını hansı üsullarla aça bilərsiniz? Mətni və ya hər hansı digər açıq faylı necə bağlamaq olar?

2. Yazı üçün açıq olan mətn faylına verilənlər necə yazılır? Yaz və Çap ifadələri arasında fərq nədir?

3. Açıq mətn faylından verilənlər necə oxunur? Giriş və Xətt Giriş operatorları bir-birindən nə ilə fərqlənir? Fayldan müəyyən sayda simvol oxumaq üçün hansı funksiyadan istifadə edilə bilər? Faylın bütün simvollarını necə oxumaq olar?

4. Nədir xüsusi tip verilənlər və bu konsepsiyanın təsadüfi giriş faylları ilə işləyərkən necə istifadə edildiyi ( raf)?

5. Fayldan hansı operatorlardan istifadə etməklə raf qeydlər də faylda oxunur raf Yeni yazılar yazılır?

6. Faylla işləyərkən indeks hansı məqsədlə müəyyən edilir və istifadə olunur? raf?

7. Binar faylların istifadəsinin xüsusiyyətləri hansılardır? Necə açırlar? Binar fayldan oxumaq və ikili fayla yazmaq necə aparılır?

8. Nəzarətdən necə istifadə etmək olar ÜmumiDialoq mətn faylının məzmununu mətn sahəsinə yükləmək üçün? Redaktə edilmiş mətni mətn faylında saxlamaq üçün eyni idarədən necə istifadə edə bilərəm?

9. Nəzarətdən necə istifadə etmək olar ÜmumiDialoq fayl məzmununu yükləmək üçün rtf sahəsində ZənginMətn qutusu? Redaktə edilmiş mətni faylda saxlamaq üçün eyni idarəetmədən necə istifadə etmək olar rtf?

10. Nəzarətdən necə istifadə etmək olar ÜmumiDialoqşrift parametrlərinin dəyərlərini dəyişdirmək və pəncərədəki mətn rəngini dəyişdirmək üçün Mətn qutusu(və ya pəncərədə seçilmiş mətn parçası ZənginMətn qutusu)?

Misal 7.1. Mətn faylına yazmağı (və mətn faylından oxumağı) nümayiş etdirən bir tətbiqi nəzərdən keçirin "işçi haqqında məlumat" - hər birində şəxsiyyət nömrəsi, tam adı, doğum tarixi və işçinin doğum yeri olan sətirlər. Satırlar bir cədvəl təşkil edir, hansı ekran forması 4 Combo Box idarəetmə elementini simulyasiya edəcək (Şəkil 7.1), Stil xassəsi 1 – SimpleCombo dəyərinə malik Comb(i) obyektlərinin massivini təşkil edəcək.

Silinəcək xətti seçin", vbExclamation

Tarağı(j).RemoveElement i

'Daxil et yeni giriş masaya:

Şəxsi Alt mnuInsert_Click()

i% = Comb(0).ListIndex

Əgər mən< 0 Then

MsgBox "Ondan əvvəl daxil ediləcək xətti vurğulayın", vbExclamation

Comb(0).AddItem InputBox("Nömrə daxil edin"), i

Comb(1).AddItem InputBox("Adınızı daxil edin"), i

Comb(2).AddItem InputBox("Ad gününüzü daxil edin."), i

Comb(3).AddItem InputBox("Doğum yerini daxil edin."), i

‘ Cədvəl girişinin dəyişdirilməsi:

Şəxsi Alt mnuUpdate_Click()

i% = Comb(0).ListIndex

Əgər mən< 0 Then

MsgBox "Dəyişdiriləcək sıranı vurğulayın", vbExclamation

Comb(0).Siyahı(i) = InputBox("Nömrə daxil edin", Comb(0).Siyahı(i))

Comb(1).List(i) = InputBox("Adınızı daxil edin", Comb(1).Siyahı(i))

Comb(2).List(i) = InputBox("Doğum gününüzü daxil edin.", Comb(2).List(i))

Comb(3).List(i) = InputBox("Doğum yerini daxil edin.", Comb(3).Siyahı(i))

' Bütün cədvəlin təmizlənməsi:

Şəxsi Alt mnuClear_Click()

‘ Mətn faylından məlumatla cədvəlin doldurulması:

Şəxsi Alt mnuLoad_Click()

№1 kimi daxil etmək üçün "şəxs. txt" açın

Daxiletmə #1, uyuşma, fio, bdate, blok

Tarağı (0).Əlavə et

Daraq(1).Əlavə et

Daraq(2).Elementin tarixini əlavə edin

Comb(3).AddItem bloku

‘ Mətn faylına cədvəl məlumatının yazılması:

Şəxsi Alt mnuSave_Click()

N% = Comb(0).Siyahı Sayısı

№1 kimi çıxış üçün "person. txt" açın

i = 0 üçün N - 1

key = Val(Daraq(0).Siyahı(i))

fio = Taraq(1).Siyahı(i)

bdate = CDate(Daraq(2).Siyahı(i))

blok = Comb(3).Siyahı(i)

# 1, key, fio, bdate, blok yazın

‘ Proqramın bağlanması:

Şəxsi Alt mnuExit_Click()

Misal 7.2 . Nəzarət vasitələrinin istifadəsini nümayiş etdirən tətbiqi nəzərdən keçirək ÜmumiDialoq faylı açmaq və saxlamaq, şrift və rəng seçmək və mətni redaktə etmək üçün.

Fayl formatı mətn mətn sahəsinə (Şəkil 7.2-də sol sahə) və fayl formatına yüklənəcək RTF- sahədə ZənginMətn qutusu(Şəkil 7.2-də sağ kənar).

obyekt

Sinif

obyekt

Əmlak

obyekt

Əmlak dəyəri

“Ümumi panellər

dialoq"

Açın/Vəzifə kimi Saxlayın

Şrift nişanı

Rəng nişanı

Cədvəl menyu əmrlərinin xüsusiyyətlərini göstərmir Şrift, RəngRedaktə et. Aşağıda yalnız menyu əmrləri üçün prosedur kodu verilmişdir Fayl (Açıq, Yadda saxlaYadda saxlakimi). Digər menyu əmrləri üçün kodun tərtib edilməsi bu işin 2-ci tapşırığının mövzusudur.

Şəxsi Alt mnuOpen_Click()

CommonDialog1.ShowOpen

F$ = CommonDialog1.FileName

Əgər Sağ (F, 3) = "rtf" O zaman

RichTextBox1.LoadFile F

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

№1 kimi daxil etmək üçün F açın

S$ = Giriş (N, 1)

Şəxsi Alt mnuSave_Click()

CommonDialog1.ShowSave

F$ = CommonDialog1.FileName

Şəxsi Alt mnuSaveAs_Click()

CommonDialog1.ShowSave

F$ = CommonDialog1.FileName

RichTextBox1.SaveFile F, rtfRTF

Bu iş zamanı tələbə 2 tapşırığı yerinə yetirməlidir.

Məşq 1. Tapşırığın yerinə yetirilməsi prosesində tələbələr təsadüfi giriş faylları ilə işləmək üçün VB 6-da mövcud olan imkanlara yiyələnirlər ( RAFtəsadüfiGirişfayl).

Verilən verilənlər bazası cədvəli üçün istifadəçi məlumat tipi elan edilir, bu tipli dəyişən elan edilir (dərslik, s. 108–112), istifadəçi tipli dəyişəndən istifadə edən prosedurlar tərtib edilir və sazlanır.

Xüsusilə, menyu əmrləri üçün prosedurlar həyata keçirilir Fayla yazınRAFFayldan oxuyunRAF. Nümunə 7.1-də olduğu kimi, verilənləri redaktə etmək üçün bir sıra obyektlərdən istifadə olunur ComboQutu və menyu Redaktə et beş alt menyu əmri ilə: Qeyd əlavə edin, Girişi silin, Giriş daxil edin, Girişi redaktə edin, Cədvəli təmizləyin.

Seçim 1.

“Avtomobil xidməti” məlumat bazasının “Avtomobil” cədvəli (Cədvəl 7.1) üçün fərdi məlumat tipini elan edin.

avtomobil

avtomobil

nasazlıqlar

Cədvəl 7.1-in alt sətirində sahə növləri göstərilir.

Seçim 2.

“Avtomobil Xidməti” verilənlər bazasının “Xətalar” cədvəli (Cədvəl 7.2) üçün fərdi məlumat növünü elan edin.

nasazlıqlar

ad

nasazlıqlar

Qiymət

Cədvəl 7.2-nin alt sətirində sahə növləri göstərilir.

Şablon kimi Nümunə Tətbiq 7.1-dən istifadə edərək, göstərilən cədvəl üçün məlumatların daxil edilməsini və redaktəsini təşkil edin, həmin məlumatların təsadüfi giriş faylına yazılmasını və təsadüfi giriş faylından verilənlərin oxunmasını təşkil edin. Misal 7.1-də olduğu kimi, bu hərəkətlər Şəkil 1-də göstərilən menyu əmrlərinin işləməsi kimi həyata keçirilir. 7.1.

Tapşırıq 2. Tapşırıq zamanı tələbələr proqrama sadə mətn redaktoru kimi baxmağa imkan verən nümunə proqram 2-yə yeni funksiyalar əlavə edirlər.

Seçim 1 ÜmumiDialoq menyu əmrlərini yerinə yetirmək ŞriftRəng(alt menyu ilə Xarakter rəngiFon rəngi). Bu əmrlərdən istifadə edərək, pəncərədə seçilmiş mətn fraqmenti üçün şrift (onun adı, üslubu və ölçüsü) seçə bilməlisiniz. ZənginMətn qutusu, həmçinin seçilmiş fraqmentin simvollarının rəngini seçmək və bütün pəncərənin fon rəngini seçmək.

Qeyd: Bir obyekt qurarkən ÜmumiDialoq(Xüsusi) xassəsindən istifadə edərək şrifti seçmək üçün Flags xassəsinin dəyərini 1, 2 və ya 3-ə təyin etməyi unutmayın (bax: təlimat, səhifə 183).

Seçim 2. Nəzarətdən istifadə ÜmumiDialoq menyu əmrlərini yerinə yetirmək Redaktə et(alt menyu Kopyalayın, kəsməkYapışdır), məqsədi olan kopyalama və ya silinmə seçilmiş mətn fraqmentinin mübadilə buferinə və həmçinin daxil edin panonun məzmununun seçilmiş mətn sahəsinə.

Qeyd: Mübadilə buferinə (obyekt Bufer) SetText və GetText üsullarından istifadə edə bilərsiniz:

Bufer. SetText RichTextBox1.SelText

RichTextBox1.SelText = Bufer. GetText

8. MƏLUMATLARIN SAXLANILMASI VƏ OXUNMASI

Proqram başa çatdıqdan sonra yaddaşda yaradılmış bütün məlumatların itirilməməsini təmin etmək üçün siz məlumatları sabit diskinizdə saxlaya bilməlisiniz. Əks təqdirdə, bütün məlumatlar iz qoymadan yox olacaq. Məlumat müxtəlif yollarla saxlanıla və oxuna bilər. Müxtəlif ölçülü və formatlı məlumatlarla işləmək üçün ikili və mətn fayllarından istifadə edə bilərsiniz. Kiçik miqdarda məlumat saxlamaq üçün Windows reyestrindən istifadə edə bilərsiniz. Və ən mürəkkəb tapşırıqlar üçün verilənlər bazalarından istifadə etmək müdrikdir.

8.1. Operatordan istifadə edərək faylların açılması "Aç »

Fayl hər hansı bir xarici yaddaş cihazının adlandırılmış sahəsidir. Məlumatlar kompüterin yaddaşında, fayllar isə sabit diskdə “yaşayır”. Proqram birbaşa fayllarla işləmir, əməliyyat sistemindən vasitəçi kimi istifadə edir.

İki növ fayl adı var: tam - fayl adına əlavə olaraq faylın xarici mediada yeri də göstərilir (məsələn, “C:\Program Files\Microsoft Visual Studio\VB98\VB 6.EXE" ) və qısa - yalnız fayl adı (VB 6.EXE ). Faylın yeri göstərilməyibsə, o, cari qovluqda, standart olaraq tətbiqinizin yerləşdiyi qovluqda axtarılacaq. Dərhal fayl adı iki hissədən ibarətdir: faktiki unikal fayl adı və onun uzantısı. Adın özü faylı müəyyən edir və genişlənmə adətən fayl formatını və ya onun hansı proqram tərəfindən yaradıldığını göstərir.

Faylla işləməyə başlamazdan əvvəl əməliyyat sistemindən soruşmalısınız göstərici (deskriptor) fayl. Onu əldə etmək üçün “FreeFile” funksiyasından istifadə edin. Sonra "Açıq" operatorundan istifadə edərək, bu göstərici tələb olunan faylla əlaqələndirilir. Yalnız bundan sonra proqram onunla işləyə biləcək. Faylın açılması üçün sintaksis aşağıdakı kimidir:

'pulsuz bir fayl göstəricisi əldə edin və onu dəyişənə təyin edin

FileHandle% = Pulsuz Fayl

' faylı açın

FilePath_-ı açın

[#]FileHandle% olaraq

...(faylla işləmək)

[#]FileHandle'ı bağlayın

· FileHandle % – fayl göstəricisini saxlayan dəyişən;

· FreeFile – fayl göstəricisini qaytaran funksiyanın adı;

· Açıq – operator adı;

· FilePath – tam fayl adı;

· For – fayla giriş rejiminin təsvirindən sonra açar söz;

· Mode – fayla giriş rejimi (bax Cədvəl 15);

Cədvəl 15

Fayl giriş rejimləri

Giriş rejimləri

Təsvir

Əlavə et

Mövcud mətn faylının sonuna verilənlərin əlavə edilməsi. Əgər fayl mövcud deyilsə, o yaradılacaq

İkili

Faylın ikili rejimdə açılması, yəni. bayt dəsti kimi. Əgər fayl mövcud deyilsə, lakin yaradılacaq

Giriş

Mətn formatında oxumaq üçün faylın açılması

Çıxış

Mətn faylı yazmaq üçün faylı açın. Bu halda bütün köhnə məlumatlar silinəcək. Əgər fayl mövcud deyilsə, lakin yaradılacaq

Təsadüfi

Faylın təsadüfi giriş rejimində açılması. Bu rejim sadə qeydlərlə işləmək üçün istifadə olunur. Əgər fayl mövcud deyilsə, lakin yaradılacaq

· Access – istəyə bağlı açar söz, ardınca giriş növünün təsviri;

· AccessType – giriş növünün təsviri:

· oxumaq - oxumaq;

· Yazmaq - qeyd etmək;

· Oxu Yaz - oxu və yaz.

Qeyd

Əlavə və Çıxış giriş rejimləri ilə yalnız Yazma giriş növü mövcuddur, Giriş yalnız Oxu ilə və Binar və Təsadüfi ilə hər üç giriş növü mövcuddur.

· LockType, proqramınız onunla işləyərkən digər proqramların bu fayldan istifadə edib-etmədiyini müəyyən edən əlavə parametrdir. Bu, adətən şəbəkədə işləmək ilə əlaqələndirilir (bax Cədvəl 16).

Cədvəl 16

LockType parametri üçün mümkün dəyərlər

Məna

Təsvir

Paylaşıldı

Lazımi hüquqlara malik olan bütün istifadəçilər fayla tam giriş əldə edəcəklər

Oxumağı kilidləyin

Faylın oxunması bloklanır, lakin yazmağa icazə verilir

Yazmağı Kilidləyin

Fayla yazmaq qadağandır, lakin oxumağa icazə verilir

Oxu Yazını Kilidləyin

Ona həm oxumaq, həm də yazmaq qadağandır

· Açar sözdən sonra fayl göstəricisidir.

· # ondan sonrakı dəyərin fayl göstəricisi olduğunu göstərən simvoldur.

· Len, girişin uzunluğunu təyin edən parametrlə izlənilməli olan isteğe bağlı açar sözdür.

· CharInBuffer % - təsadüfi giriş rejimində (Təsadüfi) açılmış fayl üçün qeyd uzunluğu.

· Close müəyyən edilmiş tutacaqla əlaqəli faylı bağlayan ifadədir.

Faylla işləməyi bitirdikdən sonra onu bağlamaq vacibdir. "Bağla" ifadəsi fayl göstəricisini və əlaqəli yaddaş sahəsini azad edir.

Faylla işləyərkən, yəni ondan oxuyarkən, faylın sonunu müəyyən etmək çox vacibdir. EOF (Faylın sonu) funksiyasından istifadə etməklə müəyyən edilə bilər:

EOF(FileHandle)

· EOF – funksiyanın adı;

· FileHandle sonu müəyyən edilən fayla işarədir.

Faylın sonuna çatdıqda funksiya True, əks halda isə False qaytarır.

8.2. Mətn faylını oxumaq və yazmaq

Mətn faylı "Giriş", "Çıxış" və ya "Əlavə" giriş rejimində açılır (Cədvəl 15-ə baxın). Bu rejimin özəlliyi ondan ibarətdir ki, o, yalnız çap edilə bilən xüsusi simvollarla işləyir. Xidmət simvolları ilə işləmək faydasızdır.

Məlumatı qeyd etmək üçün sintaksisi aşağıdakı kimi olan iki "Çap et" və "Yaz" operatorundan istifadə edin:

Çap #FileHandle%, VarBuffer [;]

#FileHandle%, VarBuffer yazın [;]

· Print /Write – operator açar sözləri.

· #FileHandle % - məlumatın yerləşdiriləcəyi faylın göstəricisi.

· VarBuffer – fayla yazılacaq dəyər.

· ; – mətn faylına yazarkən istifadə olunan isteğe bağlı parametr, növbəti dəyərin eyni sətirə, yoxdursa, növbəti sətirə yazılacağını bildirir.

Fayldan məlumatı oxumaq üçün “Giriş” və “Xətt Girişi” operatorlarından istifadə edin. Sintaksis bir-birinə bənzəyir:

Xətt Girişi #FileHandle%, VarBuffer

#FileHandle%, VarBuffer daxil edin

· Line Input / Input – operator açar sözləri.

· #FileHandle % - məlumatın oxunacağı faylın göstəricisi.

· VarBuffer – məlumatın oxunacağı dəyişən.

“Xətt Girişi” və “Giriş” operatorları arasındakı fərq ondan ibarətdir ki, birincisi yalnız mətn faylları üçün, ikincisi isə hər hansı biri üçün nəzərdə tutulub. Mətn faylları vəziyyətində, "Giriş" məlumatları birinci ayırıcıya qədər bir sətirdə oxuyur (mətn məlumatları üçün ayırıcı "," (vergül), rəqəmsal məlumatlar üçün - "" (boşluq) və ",") , və “Xətt Girişi » hər hansı ayırıcılara məhəl qoymadan bütün sətri bir anda oxuyur.

Qeyd

Visual Basic-də əvvəllər yaradılmış faylların formatına nəzarət etmək üçün heç bir vasitə yoxdur. Buna görə də, "2" simvolu müvafiq rəqəm kimi və əksinə oxuna bilər.

8.3. Binar fayllarla işləmək

Fayllar açılır ikili format"İkili" rejimdə "Açıq" operatoru. Bu rejimin fərqli xüsusiyyəti, faylla işləməyin yalnız xüsusi baytlara yönəldilməsidir. Visual Basic faylda istədiyiniz yeri birbaşa ünvanlaya bildiyi üçün bu rejim həm də − adlanır birbaşa giriş rejimi. Bu rejimin başqa bir xüsusiyyəti faylın müxtəlif hissələrinə məlumatları yenidən açmadan eyni vaxtda yazmaq və oxumaq imkanıdır. Binar rejimdə açılmış fayla yazmaq aşağıdakı sintaksisdən istifadə etməklə həyata keçirilir:

#FileHandle%, , NameVar qoyun

· Put – məlumatların qeydiyyatı operatorunun adı.

· RecNumber – məlumatın yazılacağı faylın bayt nömrəsi (isteğe bağlı parametr).

· NameVar, məzmunu fayla yazılacaq dəyişəndir.

İkili rejimdə fayldan məlumatın oxunması aşağıdakı operatordan istifadə etməklə həyata keçirilir:

#FileHandle%, , NameVar əldə edin

· Get – məlumatı qeyd edən operatorun adı.

· FileHandle % - fayl idarəsi.

· RecNumber – məlumatın oxunacağı faylın bayt nömrəsi (isteğe bağlı parametr).

· NameVar – oxunan məlumatın yerləşdiriləcəyi dəyişənin adı.

Binar rejim məlumat baytlarına yönəldildiyi üçün, fayldan oxuyarkən bufer dəyişəninin ciddi şəkildə müəyyən edilmiş bir növü olmalıdır: ya "Bayte", sonra baytın ədədi dəyəri oxunacaq, ya da sabit uzunluq simvolu. bir simvol, sonra bayt bir simvol kimi oxunacaq, kodu bayt ölçüsünə uyğun gələn ANSI . Bu simvol hətta mətn faylları vəziyyətində əldə edilə bilməyən bir nəzarət simvolu ola bilər.

Qeyd

"RecNumber" parametri olmadıqda, məlumatın yazılması və ya oxunması əvvəllər işləndiyi baytdan sonra faylın növbəti baytında baş verəcəkdir.

8.4. Qrafik manipulyasiya

Siz həmçinin qrafik şəkilləri fayllardan saxlaya və çıxara bilərsiniz. Bitmap və ya ikona faylından şəkil çıxarmaq və onu “PictureBox” və “Image” idarəetmə elementlərinin “Şəkil” xassəsinə təyin etmək üçün aşağıdakı sintaksislə “LoadPicture()” funksiyasından istifadə edin:

ImageCtrl.Picture = LoadPicture(FilePath)

· ImageCtrl – şəkil pəncərəsinə nəzarət, təsvirə nəzarət və ya forma adı;

· LoadPicture – funksiyanın adı;

· FilePath – tam fayl adı.

SavePicture ImageCtrl .Şəkil, FilePath

· SavePicture – operator adı;

· ImageCtrl – şəkil pəncərəsinə nəzarət, təsvirə nəzarət və ya forma adı;

· Şəkil – təsvirə cavabdeh olan obyekt əmlakının adı;

· FilePath – diskdəki yerini göstərən faylın tam adı.

8.5. Reyestrdəki məlumatlarla işləmək

Windows Qeyd dəftəri kiçik məlumat hissələrini simvol formatında saxlamaq üçün istifadə edilə bilər. Visual Basic-də ona daxil olmaq üçün istifadə edə biləcəyiniz dörd prosedur var. Onların istifadəsi çox asandır, lakin bir əsas çatışmazlığı var: məlumatlara yalnız xüsusi bir qeyd açarından daxil ola bilərsiniz: “MyComputer\HKEY_CURRENT_USER\Software\VB və VBA Proqram Parametrləri”. Reyestrin digər bölmələrinə daxil olmaq üçün "Win 32 API" xüsusi funksiyalarından istifadə etməlisiniz.

Windows reyestrinin Visual Basic bölməsindən parametrin dəyərini əldə etmək üçün aşağıdakı funksiyadan istifadə etməlisiniz:

MyString = GetSetting (VBKeyName, Bölmə, Açar [,Defolt])

· MyString – funksiyanın qaytardığı dəyəri saxlamaq üçün sətir;

· GetSetting – funksiyanın adı.

· VBKeyName daxili VB/VBA alt açarının adı olan sətir dəyəridir.

· Açar bölmədəki parametrin adını ifadə edən sətir dəyəridir.

· Defolt – xəta baş verdikdə (parametr çatışmadıqda) dəyəri qaytarılacaq isteğe bağlı arqumentdir.

Windows reyestrində bir dəyəri saxlamaq üçün aşağıdakı ifadədən istifadə edin:

SaveSetting VBKeyName, Bölmə, Açar, MyString

· SaveSetting – operator adı.

· MyString tapılan dəyərin yerləşdiriləcəyi sətir dəyişənidir.

Müəyyən bir alt açardan bütün parametr dəyərlərini ehtiva edən reyestrdən massiv əldə etmək üçün aşağıdakı funksiyadan istifadə edin:

MyVariant = SetAllSettings(VBKeyName, Bölmə)

· MyVariant funksiya tərəfindən qaytarılan “Variant” tipli dəyərlər massividir.

· SetAllSettings – funksiya adı.

· Bölmə – Müəyyən bir tətbiqin bölmə və ya alt bölməsini təmsil edən sətir dəyəri.

Parametrlərin bütün hissəsini silmək üçün aşağıdakı sintaksisi olan ifadədən istifadə edin:

DeleteSetting VBKeyName, Section, Key

· DeleteSetting – operator adı.

Özünü sınamaq üçün test sualları

  1. Bəzi məlumatları uzun müddətli necə saxlaya bilərsiniz?
  2. Fayl nədir?
  3. Hansı fayl adlarını bilirsiniz?
  4. “Açıq” operatorunun sintaksisini verin. Onun parametrlərinin məqsədini izah edin.
  5. Birdən çox proqram eyni anda bir fayla girişi necə paylaşa bilər?
  6. Fayldakı məlumatın tükəndiyini necə müəyyən etmək olar?
  7. Nə üçün faylla işlədikdən sonra onu bağlamaq tövsiyə olunur?
  8. Mətn və ikili fayl rejimləri arasındakı fərqi nədə görürsünüz?
  9. Mətn faylı rejimində verilənlər necə oxunur və yazılır?
  10. İkili fayl rejimində verilənlər necə oxunur və yazılır?
  11. Fayllarla işləyərkən “Çap” və “Yaz” operatorları arasında fərq nədir?
  12. Fayllarla işləyərkən “Giriş” və “Xətt Girişi” operatorları arasında fərq nədir?
  13. Qrafik məlumatlarla necə işləyə bilərsiniz?
  14. Windows reyestri ilə işləməyin əsas prinsipləri hansılardır?



Üst