vb6 ішіндегі тізім түріндегі файлдық жүйе. Мәтіндік файлды оқу және жазу

Әрбір бағдарлама деректерді дискіге сақтап, оны дискіден оқуы керек. Бұл, мысалы, бағдарлама параметрлерін сақтау үшін қажет; пайдаланушыға бағдарламаны ұнатуы екіталай, оны келесі жолы іске қосқан кезде қайта конфигурациялауға тура келеді.

Бұл мақалада сөйлесеміз Visual Basic көмегімен мәтіндік файлдармен жұмыс істеу туралы.

Файл дескрипторы

Файлдармен жұмыс істеу үшін операциялық жүйеенгізу/шығару арналарын пайдаланады, яғни. сайын файлды ашыңызөз нөмірі бар.

Visual Basic-те функция бар FreeFile, ол файлмен жұмыс істеу үшін пайдалануға болатын бос арнаның нөмірін қайтарады. Егер бос арналар болмаса, қате орын алады.

Тегін файл[(Ауқым саны) ]

Ауқым саны-егер бос арналардың мәндерінің ауқымын анықтауға мүмкіндік беретін қосымша параметр Ауқым саны= 0 (әдепкі), содан кейін арна нөмірі 1 - 255 ауқымынан, ал 1 болса, 256 - 511 ауқымынан қайтарылады.

MyFile = FreeFile «MyFile айнымалысына тегін арна тағайындалды және оны енді файлдармен жұмыс істеу үшін пайдалануға болады

Мәтіндік файлдармен жұмыс

Көбінесе сіз мәтіндік файлдарды кездестіресіз. Мәтіндік файлдар ASCII (American Standard Code for Information Interchange) таңбалар жиынынан тұрады.

Деректерді жазуды/оқуды бастамас бұрын файлды ашу керек, бұл оператордың көмегімен орындалады ашу (Файл атауы) # ретіндеФайл_саны, Мұнда:

Енгізу- файлды оқу үшін ашу, егер файл жоқ болса, қате пайда болады;

Шығару- жазу үшін, егер файл жоқ болса, ол жасалады, ал файл бар болса, оның үстіне жазылады;

Қосымша- қосу үшін, егер файл жоқ болса, ол жасалады, ал егер файл бар болса, онда деректер файлдың соңына қосылады.

Мәтіндік файлдарды оқу екі жолмен орындалуы мүмкін: таңба бойынша оқу, ол үшін функцияны пайдаланыңыз енгізу(Оқыған_таңбалар_саны, #Файл_саны) және жол бойынша функция бұл үшін пайдаланылады Жолдық кіріс №Файл_саны, Қайда_оқу керек.

Менің файлымды күңгірттеу

Dim S String «Оқылған деректерді сақтауға арналған айнымалы

MyFile = FreeFile

#МеніңФайл ретінде енгізу үшін ашыңыз("C:\TEST.txt").

Жолды енгізу #МеніңФайлым, S «TEST.TXT файлынан S айнымалысына бірінші жолды оқыңыз

Менің файлымды күңгірттеу «Тегін файл үшін айнымалыны жариялаңыз

Күңгірт i бүтін сан ретінде «Цикл үшін айнымалы

Dim tS String ретінде «Жолдарды оқуға арналған айнымалы

Dim S String «Қорытынды деректерді сақтауға арналған айнымалы

MyFile = FreeFile «Файлдармен жұмыс істеу үшін тегін арнаны тағайындау

«Оқу үшін TEST.TXT файлын ашыңыз

i = 1-ден 5-ке дейін

Жолды енгізу #МеніңФайлым, tS «TEST.TXT файлын жол бойынша оқу

Егер i => 5 болса, S = tS «Егер бесінші жол болса, оны S айнымалысында сақтаңыз

Келесі i

#МеніңФайлымды жабу "Файлды жабыңыз

Dim MyFile «Тегін файл үшін айнымалыны жариялау

Dim S As String «Оқылған деректерді сақтауға арналған айнымалы

MyFile = FreeFile «Файлдармен жұмыс істеу үшін тегін арнаны тағайындау

#МеніңФайл ретінде енгізу үшін ашыңыз("C:\TEST.txt"). «Оқу үшін TEST.TXT файлын ашыңыз

S = Input$(LOG(1), 1) «Бүкіл файлды S айнымалысына оқыңыз

#МеніңФайлымды жабу "Файлды жабыңыз

Файлға жазу үшін операторлар бар # басып шығаруФайл_саны, ДеректерЖәне # деп жазуФайл_саны, Деректер. Бұл операторлардың бір айырмашылығы сол Жазыңыздеректерді тырнақшаға жазады және Басып шығарутырнақшасыз.

Төменде C:\ дискісінде келесі код жасалады. жаңа файл TEST.TXT және оған екі жолды жазыңыз, біріншісі тырнақшасыз, екіншісі тырнақшаға:

Менің файлымды күңгірттеу «Тегін файл үшін айнымалыны жариялаңыз

MyFile = FreeFile «Файлдармен жұмыс істеу үшін тегін арнаны тағайындау

#МеніңФайл ретінде шығару үшін ашыңыз("C:\TEST.txt"). «Жазу үшін TEST.TXT файлын ашыңыз

Print #MyFile, "Бұл жолды Print операторы жазған, ол тырнақшасыз..."

#MyFile деп жазыңыз, "Бұл жолды Write операторы жазған, ол тырнақшаға алынған..."

#МеніңФайлымды жабу "Файлды жабыңыз

Бар болғаны. Сіз түсінген боларсыз, оператор файлды жабу үшін қолданылады Жабық #Файл_саны, Сонымен бірге, # Файл_саныкөрсетудің қажеті жоқ.

Мақала сәл өрескел, бірақ бұл жаңадан бастаған бағдарламашылар үшін пайдалы болады. Келесі жолы мен екілік файлдармен жұмыс істеу туралы айтатын боламын.

Windows

Жұмыс мақсаты: Файлдармен жұмыс істеу үшін VB 6 тілінің операторларын үйрену және пайдалану әртүрлі түрлері: ретті (мәтіндік) файлдар, кездейсоқ қатынау файлдары, екілік файлдар. Құралды зерттеу және пайдалану ЖалпыДиалогфайлдарды ашуға және сақтауға, қаріп пен түсті таңдауға және нысанды пайдалануға арналған Алмасу буферіқарапайым мәтіндік редакторды құру мысалын қолдана отырып, мәтін фрагменттерін сақтауға арналған.

Бақылау сұрақтары:

1. Мәтіндік файлды қандай тәсілдермен ашуға болады? Мәтінді немесе кез келген басқа ашық файлды қалай жабуға болады?

2. Жазу үшін ашық мәтіндік файлға мәліметтер қалай жазылады? Write және Print операторларының айырмашылығы неде?

3. Ашық мәтіндік файлдан мәліметтер қалай оқылады? Енгізу және жолды енгізу операторларының бір-бірінен айырмашылығы неде? Файлдан белгіленген символдар санын оқу үшін қандай функцияны пайдалануға болады? Файлдың барлық символдарын қалай оқуға болады?

4. Бұл не реттелетін түрідеректер және бұл концепция кездейсоқ қол жеткізу файлдарымен жұмыс істеу кезінде қалай пайдаланылады ( раф)?

5. Файлдан қандай операторларды қолдану рафжазбалар да файлда оқылады рафЖаңа жазбалар жазыла ма?

6. Файлмен жұмыс істегенде индекс қандай мақсатта анықталады және пайдаланылады? раф?

7. Екілік файлдарды қолданудың қандай мүмкіндіктері бар? Олар қалай ашылады? Екілік файлдан оқу және екілік файлға жазу қалай орындалады?

8. Басқару құралын пайдалану жолы ЖалпыДиалогмәтіндік файлдың мазмұнын мәтіндік өріске жүктеу керек пе? Өңделген мәтінді мәтіндік файлға сақтау үшін бірдей басқару элементін қалай пайдалануға болады?

9. Басқару құралын пайдалану жолы ЖалпыДиалогфайл мазмұнын жүктеп алу үшін rtfалаңда БайМәтіндік жәшік? Өңделген мәтінді файлға сақтау үшін бірдей басқару элементін пайдалану жолы rtf?

10. Басқару құралын пайдалану жолы ЖалпыДиалогқаріп параметрінің мәндерін өзгерту және терезедегі мәтін түсін өзгерту үшін Мәтіндік жәшік(немесе терезеде таңдалған мәтін бөлігі БайМәтіндік жәшік)?

7.1-мысал. Мәтіндік файлға жазуды (және мәтіндік файлдан оқуды) көрсететін қосымшаны қарастырыңыз «қызметкер туралы ақпарат» - жолдар, олардың әрқайсысында сәйкестендіру нөмірі, толық аты-жөні, қызметкердің туған күні және туған жері бар. Жолдар кестені құрайды, ол экран пішініСтиль қасиеті 1 – SimpleCombo мәніне ие Comb(i) нысандарының массивін құра отырып, 4 Combo Box басқару элементтерін (7.1-сурет) имитациялайды.

Жойылатын жолды таңдаңыз», vbExclamation

Тарақ(j).RemoveElement i

'Кірістіру жаңа жазбаүстелге:

Жеке қосалқы mnuInsert_Click()

i% = Тарақ(0).ТізімИндекс

Егер мен< 0 Then

MsgBox "Оның алдында кірістірілетін жолды бөлектеңіз", vbExclamation

Comb(0).AddItem InputBox("Нөмірді енгізіңіз"), i

Тарақ(1).AddItem InputBox("Атыңызды енгізіңіз"), i

Тарақ(2).AddItem InputBox("Туған күніңізді енгізіңіз."), i

Comb(3).AddItem InputBox("Туған жерді енгізіңіз."), i

‘ Кесте жазбасын өзгерту:

Жеке қосалқы mnuUpdate_Click()

i% = Тарақ(0).ТізімИндекс

Егер мен< 0 Then

MsgBox "Өзгертілетін жолды бөлектеңіз", vbExclamation

Тарақ(0).Тізім(i) = InputBox("Нөмірді енгізіңіз", Тарақ(0).Тізім(i))

Тарақ(1).Тізім(i) = InputBox("Атыңызды енгізіңіз", Тарақ(1).Тізім(i))

Тарақ(2).Тізім(i) = InputBox("Туған күніңізді енгізіңіз.", Тарақ(2).Тізім(i))

Тарақ(3).Тізім(i) = InputBox("Туған жерді енгізіңіз.", Тарақ(3).Тізім(i))

‘ Бүкіл кестені тазалау:

Жеке қосалқы mnuClear_Click()

‘ Мәтіндік файлдағы мәліметтермен кестені толтыру:

Жеке қосалқы mnuLoad_Click()

№1 енгізу үшін "person. txt" файлын ашыңыз

№1 енгізу, numb, fio, bdate, block

Тарақ(0).Элементті қосу

Тарақ(1).Element fio қосу

Тарақ(2).Element bdate қосу

Comb(3).AddItem блогы

‘ Мәтіндік файлға кесте ақпаратын жазу:

Жеке қосалқы mnuSave_Click()

N% = Тарақ(0).ТізімСаны

№1 шығару үшін "person.txt" файлын ашыңыз

i = 0 үшін N - 1

numb = Val(Comb(0).List(i))

fio = Тарақ(1).Тізім(i)

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

блок = Тарақ(3).Тізім(i)

#1, numb, fio, bdate, bloc деп жазыңыз

‘ Қолданбаны өшіру:

Жеке қосалқы mnuExit_Click()

7.2-мысал . Басқару элементтерін пайдалануды көрсететін қолданбаны қарастырыңыз ЖалпыДиалогфайлды ашуға және сақтауға, қаріп пен түсті таңдауға және мәтінді өңдеуге арналған.

Файл пішімі жазумәтіндік өріске (7.2-суреттегі сол жақ өріс) және файл пішіміне жүктеледі RTF- алаңда БайМәтіндік жәшік(7.2-суреттегі оң жақ шет).

объект

Сынып

объект

Меншік

объект

Меншік құны

«Жалпы панельдер

диалог»

Қойындыны ашу/сақтау

Қаріп қойындысы

Түс қойындысы

Кесте мәзір командаларының қасиеттерін көрсетпейді Қаріп, ТүсЖәне Өңдеу. Төменде тек мәзір командалары үшін процедура коды берілген Файл (Ашық, СақтауЖәне Сақтауретінде). Басқа меню командалары үшін код құрастыру – осы жұмыстың 2-ші тапсырмасының тақырыбы.

Жеке қосалқы mnuOpen_Click()

CommonDialog1.ShowOpen

F$ = CommonDialog1.FileName

Оң болса(F, 3) = "rtf" Содан кейін

RichTextBox1.LoadFile F

ElseIf Right(F, 3) = "txt" Содан кейін

№1 енгізу үшін F ашыңыз

S$ = Кіріс(N, 1)

Жеке қосалқы mnuSave_Click()

CommonDialog1.ShowSave

F$ = CommonDialog1.FileName

Жеке қосалқы mnuSaveAs_Click()

CommonDialog1.ShowSave

F$ = CommonDialog1.FileName

RichTextBox1.SaveFile F, rtfRTF

Бұл жұмыс барысында студент 2 тапсырманы орындауы керек.

1-жаттығу. Тапсырманы орындау барысында студенттер VB 6-да кездейсоқ файлдармен жұмыс істеуге арналған мүмкіндіктерді меңгереді ( RAFкездейсоққол жеткізуфайл).

Берілген дерекқор кестесі үшін пайдаланушы деректерінің түрі жарияланады, осы түрдегі айнымалы жарияланады (оқулық, 108–112 беттер), пайдаланушы түрінің айнымалы мәнін пайдаланатын процедуралар құрастырылады және түзетіледі.

Атап айтқанда, мәзір командаларының процедуралары жүзеге асырылады Файлға жазыңызRAFЖәне Файлдан оқуRAF. 7.1 мысалындағыдай, деректерді өңдеу үшін нысандар жиымы пайдаланылады КомбоҚорапжәне мәзір Өңдеубес ішкі мәзір командасымен: жазба қосу, Жазбаны жою, Жазбаны енгізу, Жазбаны өңдеу, Кестені тазалау.

1 нұсқа.

«Автокөлік қызметі» деректер қорының «Автомобиль» кестесіне (7.1-кесте) пайдаланушы деректер түрін жариялаңыз.

машина

машина

ақаулар

7.1-кестенің төменгі жолында өріс түрлері көрсетілген.

2-нұсқа.

«Автосервис» дерекқорының «Ақаулар» кестесіне (7.2-кесте) пайдаланушы деректер түрін жариялаңыз.

ақаулар

Аты

ақаулар

Бағасы

7.2-кестенің төменгі жолында өріс түрлері көрсетілген.

Үлгі ретінде 7.1 қолданбасын пайдаланып, көрсетілген кесте үшін деректерді енгізуді және өңдеуді, сол деректерді кездейсоқ қатынас файлына жазуды және кездейсоқ қатынас файлынан деректерді оқуды ұйымдастырыңыз. 7.1-мысалдағыдай, бұл әрекеттер суретте көрсетілген мәзір командаларының жұмысы ретінде орындалады. 7.1.

2-тапсырма. Тапсырманы орындау барысында студенттер қосымшаны қарапайым мәтіндік редактор ретінде қарауға мүмкіндік беретін 2-қосымшаға жаңа мүмкіндіктер қосады.

1 нұсқа ЖалпыДиалогмәзір командаларын орындау ҚаріпЖәне Түс(ішкі мәзірмен Кейіпкер түсіЖәне Фон түсі). Осы пәрмендерді пайдалана отырып, терезеде таңдалған мәтін фрагменті үшін қаріпті (оның аты, стилі және өлшемі) таңдай алуыңыз керек. БайМәтіндік жәшік, сонымен қатар таңдалған фрагменттің таңбаларының түсін таңдау және бүкіл терезенің өң түсін таңдау.

Ескерту:Объектіні орнату кезінде ЖалпыДиалог(Пайдаланушы) сипатын пайдаланып қаріп таңдау үшін Flags қасиетінің мәнін 1, 2 немесе 3 мәніне орнатуды ұмытпаңыз (нұсқаулықты қараңыз, 183-бетті).

2-нұсқа. Басқару элементін пайдалану ЖалпыДиалогмәзір командаларын орындау Өңдеу(ішкі мәзір Көшіру, КесуЖәне Қою), оның мақсаты көшірунемесе жоютаңдалған мәтін фрагментінің алмасу буферіне, сондай-ақ кірістіруаралық сақтағыш мазмұнының таңдалған мәтін аймағына.

Ескерту:Алмасу буферіне (нысан Алмасу буфері) SetText және GetText әдістерін қолдануға болады:

Алмасу буфері. SetText RichTextBox1.SelText

RichTextBox1.SelText = алмасу буфері. GetText

8. АҚПАРАТТЫ САҚТАУ ЖӘНЕ ОҚУ

Бағдарлама аяқталғаннан кейін жадта жасалған барлық деректер жоғалып кетпеуін қамтамасыз ету үшін ақпаратты қатты дискіге сақтай білу қажет. Әйтпесе, барлық ақпарат із-түзсіз жоғалады. Деректерді әртүрлі тәсілдермен сақтауға және оқуға болады. Әртүрлі өлшемдер мен форматтағы ақпаратпен жұмыс істеу үшін екілік және мәтіндік файлдарды пайдалануға болады. Ақпараттың шағын көлемін сақтау үшін Windows тізілімін пайдалануға болады. Ал ең күрделі тапсырмалар үшін деректер қорын қолданған дұрыс.

8.1. Оператор арқылы файлдарды ашу »Ашу »

Файл кез келген сыртқы жад құрылғысының аталған аймағы болып табылады. Деректер компьютер жадында «өмір сүреді», ал файлдар қатты дискіде тұрады. Бағдарлама файлдармен тікелей жұмыс істемейді, бірақ операциялық жүйені делдал ретінде пайдаланады.

Файл атауларының екі түрі бар: толық - файл атауынан басқа файлдың сыртқы медиадағы орны да көрсетіледі (мысалы, “C:\Program Files\Microsoft Visual Studio\VB98\VB 6.EXE" ) және қысқа - тек файл атауы (VB 6.EXE ). Егер файлдың орны көрсетілмесе, ол ағымдағы қалтада, әдепкі бойынша қолданбаңыз орналасқан қалтада ізделеді. Тікелей файл атауы екі бөліктен тұрады: нақты бірегей файл атауы және оның кеңейтімі. Атаудың өзі файлды анықтайды, ал кеңейтім әдетте файл пішімін немесе оның қандай бағдарламамен жасалғанын көрсетеді.

Файлмен жұмыс істеуді бастамас бұрын операциялық жүйеден сұрау керек көрсеткіш (дескриптор) файл. Оны алу үшін «FreeFile» функциясын пайдаланыңыз. Содан кейін «Ашу» операторын пайдаланып, бұл көрсеткіш қажетті файлмен байланыстырылады. Осыдан кейін ғана бағдарлама онымен жұмыс істей алады. Файлды ашу синтаксисі келесідей:

‘ тегін файл көрсеткішін алыңыз және оны айнымалыға тағайындаңыз

FileHandle% = FreeFile

' файлды ашыңыз

FilePath_ ашу

[#]FileHandle% ретінде

...(файлмен жұмыс)

[#]FileHandle қолданбасын жабыңыз

· FileHandle % – файл көрсеткішін сақтайтын айнымалы;

· FreeFile – файл көрсеткішін қайтаратын функцияның аты;

· Open – оператор атауы;

· FilePath – файлдың толық аты;

· For – файлға қол жеткізу режимінің сипаттамасынан кейін кілт сөз;

· Режим – файлға қол жеткізу режимі (15 кестені қараңыз);

15-кесте

Файлға кіру режимдері

Кіру режимдері

Сипаттама

Қосымша

Бар мәтіндік файлдың соңына деректерді қосу. Егер файл жоқ болса, ол жасалады

Екілік

Файлды екілік режимде ашу, яғни. байттар жиыны ретінде. Егер файл жоқ болса, бірақ жасалады

Енгізу

Мәтіндік форматта оқу үшін файлды ашу

Шығару

Мәтіндік файлды жазу үшін файлды ашыңыз. Бұл жағдайда барлық ескі ақпарат жойылады. Егер файл жоқ болса, бірақ жасалады

Кездейсоқ

Кездейсоқ қол жеткізу режимінде файлды ашу. Бұл режим қарапайым жазбалармен жұмыс істеу үшін қолданылады. Егер файл жоқ болса, бірақ жасалады

· Access – қол жеткізу түрінің сипаттамасынан кейін қосымша кілт сөз;

· AccessType – қол жеткізу түрінің сипаттамасы:

· Оқу – оқу;

· Жазу – жазу;

· Оқу Жазу – оқу және жазу.

Ескерту

«Қосу» және «Шығару» қатынасу режимдерімен тек жазу рұқсат түрі қол жетімді, тек енгізуді оқу арқылы және екілік және кездейсоқ қатынастың барлық үш түрі қолжетімді.

· LockType — бағдарламаңыз онымен жұмыс істеп тұрған кезде бұл файлды басқа бағдарламалар пайдалана алатынын анықтайтын қосымша параметр. Ол әдетте желіде жұмыс істеумен байланысты (16 кестені қараңыз).

16-кесте

LockType параметрі үшін мүмкін мәндер

Мағынасы

Сипаттама

Ортақ

Қажетті құқықтары бар барлық пайдаланушылар файлға толық қол жеткізе алады

Оқуды құлыптау

Файлды оқуға тыйым салынған, бірақ жазуға рұқсат етілген

Жазуды құлыптау

Файлға жазу бұғатталған, бірақ оқуға рұқсат етілген

Оқуды жазуды құлыптау

Оған оқуға да, жазуға да тыйым салынады

· As - файл көрсеткішінен кейін кілт сөз.

· # — өзінен кейінгі мән файл көрсеткіші екенін көрсететін таңба.

· Len - қосымша кілт сөз, одан кейін жазбаның ұзындығын көрсететін параметр болуы керек.

· CharInBuffer % - кездейсоқ қатынас режимінде ашылған файлдың жазба ұзындығы (Random).

· Жабу - көрсетілген дескриптормен байланыстырылған файлды жабатын оператор.

Файлмен жұмысты аяқтағаннан кейін оны жабу маңызды. «Жабу» операторы файл көрсеткішін және байланысты жад аймағын босатады.

Файлмен жұмыс істегенде, дәлірек айтқанда, одан оқу кезінде файлдың соңын анықтау өте маңызды. Оны EOF (Файлдың соңы) функциясы арқылы анықтауға болады:

EOF(FileHandle)

· EOF – функция атауы;

· FileHandle - соңы анықталатын файлға көрсеткіш.

Функция файлдың соңына жеткенде True мәнін қайтарады, әйтпесе False мәнін қайтарады.

8.2. Мәтіндік файлды оқу және жазу

Мәтіндік файл «Енгізу», «Шығару» немесе «Қосымша» кіру режимінде ашылады (15-кестені қараңыз). Бұл режимнің ерекшелігі - ол тек арнайы басып шығарылатын таңбалармен жұмыс істейді. Қызметтік белгілермен жұмыс істеу пайдасыз.

Ақпаратты жазу үшін «Басып шығару» және «Жазу» екі операторын пайдаланыңыз, олардың синтаксисі келесідей:

#FileHandle% басып шығару, VarBuffer [;]

#FileHandle%, VarBuffer [;] жазу

· Print /Write – оператор түйінді сөздері.

· #FileHandle % - ақпарат орналастырылатын файлға көрсеткіш.

· VarBuffer – файлға жазылатын мән.

· ; – мәтіндік файлға жазу кезінде қолданылатын қосымша параметр келесі мәннің сол жолға, ал егер ол жоқ болса, келесіге жазылатынын білдіреді.

Файлдан ақпаратты оқу үшін «Input» және «Line Input» операторларын пайдаланыңыз. Синтаксис бір-біріне ұқсас:

Жолды енгізу #FileHandle%, VarBuffer

#FileHandle%, VarBuffer енгізіңіз

· Line Input / Input – оператор түйінді сөздері.

· #FileHandle % - ақпарат оқылатын файлға көрсеткіш.

· VarBuffer – ақпарат оқылатын айнымалы.

«Line Input» және «Input» операторларының айырмашылығы - біріншісі тек мәтіндік файлдарға арналған, ал екіншісі - кез келген. Мәтіндік файлдар жағдайында «Енгізу» бірінші бөлгішке дейін бір жолдағы деректерді оқиды (мәтіндік деректер үшін бөлгіш «,» (үтір), ал сандық деректер үшін - «» (бос орын) және «,») , және «Желі енгізу» кез келген бөлгіштерді елемей, бүкіл жолды бірден оқиды.

Ескерту

Visual Basic-те бұрын жасалған файлдардың пішімін басқару құралы жоқ. Сондықтан «2» таңбасын сәйкес сан ретінде және керісінше оқуға болады.

8.3. Екілік файлдармен жұмыс

Файлдар ашылады екілік пішім«Ашық» операторы «екілік» режимде. Бұл режимнің айрықша ерекшелігі - файлмен жұмыс істеу тек белгілі бір байттарға бағытталған. Visual Basic файлдағы қажетті орынды тікелей адрестей алатындықтан, бұл режим − деп те аталады тікелей қол жеткізу режимі. Бұл режимнің тағы бір ерекшелігі - ақпаратты файлдың әртүрлі бөліктеріне қайта ашпай бір уақытта жазу және оқу мүмкіндігі. Екілік режимде ашылған файлға жазу келесі синтаксис арқылы жүзеге асырылады:

#FileHandle%, , NameVar қойыңыз

· Put – ақпаратты жазу операторының атауы.

· RecNumber – ақпарат жазылатын файлдың байт нөмірі (қосымша параметр).

· NameVar - мазмұны файлға жазылатын айнымалы.

Екілік режимде файлдан ақпаратты оқу келесі оператор арқылы орындалады:

#FileHandle%, , NameVar алыңыз

· Get – ақпаратты жазу операторының аты.

· FileHandle % - файл дескрипторы.

· RecNumber – ақпарат оқылатын файлдың байт нөмірі (қосымша параметр).

· NameVar – оқылатын ақпарат орналастырылатын айнымалының аты.

Екілік режим ақпарат байттарына бағытталғандықтан, файлдан оқу кезінде буферлік айнымалы мәннің қатаң анықталған түрі болуы керек: не «Байт», содан кейін байттың сандық мәні оқылады немесе тұрақты ұзындықтың таңбасы болады. бір таңбадан тұратын болса, онда байт таңба ретінде оқылады, ANSI , оның коды байт өлшеміне сәйкес келеді. Бұл таңба тіпті мәтіндік файлдар жағдайында қол жеткізу мүмкін емес басқару таңбасы болуы мүмкін.

Ескерту

«RecNumber» параметрі болмаған жағдайда, ақпаратты жазу немесе оқу файлдың келесі байтында бұрын жұмыс істегеннен кейін орын алады.

8.4. Графикалық манипуляция

Сондай-ақ файлдардан графикалық кескіндерді сақтауға және шығаруға болады. Растрлық немесе белгіше файлынан кескінді шығарып алу және оны «PictureBox» және «Image» басқару элементтерінің «Сурет» сипатына тағайындау үшін келесі синтаксиспен «LoadPicture()» функциясын пайдаланыңыз:

ImageCtrl.Picture = LoadPicture(FilePath)

· ImageCtrl – кескін терезесін басқару, кескінді басқару немесе пішін атауы;

· LoadPicture – функция атауы;

· FilePath – файлдың толық атауы.

SavePicture ImageCtrl .Сурет, FilePath

· SavePicture – оператор аты;

· ImageCtrl – кескін терезесін басқару, кескінді басқару немесе пішін атауы;

· Сурет – кескінге жауапты объект қасиетінің атауы;

· FilePath – дискідегі орнын көрсететін файлдың толық атауы.

8.5. Реестрдегі деректермен жұмыс істеу

Windows тізілімін таңба пішіміндегі ақпараттың шағын бөліктерін сақтау үшін пайдалануға болады. Visual Basic бағдарламасына кіру үшін пайдалануға болатын төрт процедура бар. Оларды пайдалану өте оңай, бірақ бір негізгі кемшілігі бар: деректерге тек белгілі бір тізілім кілтінен қол жеткізуге болады: «Менің компьютерім\HKEY_CURRENT_USER\Software\VB және VBA бағдарлама параметрлері». Тізілімнің басқа бөлімдеріне кіру үшін «Win 32 API» арнайы функцияларын пайдалану қажет.

Windows тізілімінің Visual Basic бөлімінен параметрдің мәнін алу үшін келесі функцияны пайдалану қажет:

MyString = GetSetting(VBKeyName, Бөлім, Кілт [,Әдепкі])

· MyString – функция қайтаратын мәнді сақтауға арналған жол;

· GetSetting – функция атауы.

· VBKeyName - ішкі VB/VBA ішкі кілтінің аты болып табылатын жол мәні.

· Кілт – бөлімдегі параметрдің атын көрсететін жол мәні.

· Әдепкі – қосымша аргумент, оның мәні қате болған жағдайда қайтарылады (параметр жетіспейді).

Windows тізілімінде мәнді сақтау үшін келесі мәлімдемені пайдаланыңыз:

SaveSetting VBKeyName, Бөлім, Кілт, MyString

· SaveSetting – оператор аты.

· MyString - табылған мән орналастырылатын жол айнымалысы.

Белгілі бір ішкі кілттен барлық параметр мәндерін қамтитын тізілімнен массив алу үшін келесі функцияны пайдаланыңыз:

MyVariant = SetAllSettings(VBKeyName, Бөлім)

· MyVariant – функция қайтаратын «Variant» түріндегі мәндер жиымы.

· SetAllSettings – функция атауы.

· Бөлім – белгілі бір қолданбаның бөлімін немесе ішкі бөлімін көрсететін жол мәні.

Параметрлердің толық бөлімін жою үшін келесі синтаксисі бар мәлімдемені пайдаланыңыз:

DeleteSetting VBKeyName, Бөлім, Кілт

· DeleteSetting – оператор аты.

Өзін-өзі тексеруге арналған тест сұрақтары

  1. Кейбір ақпаратты ұзақ мерзімді қалай сақтауға болады?
  2. Файл дегеніміз не?
  3. Сіз қандай файл атауларын білесіз?
  4. «Ашық» операторының синтаксисін көрсетіңіз. Оның параметрлерінің мақсатын түсіндіріңіз.
  5. Бірнеше қолданбалар бір файлға қатынасты бір уақытта қалай бөлісе алады?
  6. Файлдағы ақпараттың таусылғанын қалай анықтауға болады?
  7. Неліктен файлмен жұмыс істегеннен кейін оны жабу ұсынылады?
  8. Мәтіндік және екілік файл режимдерінің айырмашылығы неде деп ойлайсыз?
  9. Мәтіндік файл режимінде мәліметтер қалай оқылады және жазылады?
  10. Екілік файл режимінде мәліметтер қалай оқылады және жазылады?
  11. Файлдармен жұмыс істегенде «Басып шығару» және «Жазу» операторларының айырмашылығы неде?
  12. Файлдармен жұмыс істегенде «Input» және «Line Input» операторларының айырмашылығы неде?
  13. Графикалық мәліметтермен қалай жұмыс істеуге болады?
  14. Windows реестрімен жұмыс істеудің негізгі принциптері қандай?



Жоғарғы