ගොනු පද්ධතිය vb6 හි ලැයිස්තුවක ස්වරූපයෙන්. ගොනුවකට දත්ත එකතු කිරීම

වින්ඩෝස්

කාර්යයේ අරමුණ: ගොනු සමඟ වැඩ කිරීමට VB 6 භාෂා ක්‍රියාකරුවන් ඉගෙනීම සහ භාවිතා කිරීම විවිධ වර්ග: අනුක්‍රමික (පෙළ) ගොනු, අහඹු ප්‍රවේශ ගොනු, ද්විමය ගොනු. මෙවලම පර්යේෂණ සහ භාවිතය පොදුඩයලොග්ගොනු විවෘත කිරීම සහ සුරැකීම, අකුරු සහ වර්ණය තෝරා ගැනීම සහ වස්තුව භාවිතා කිරීම සඳහා පසුරු පුවරුවසරල පෙළ සංස්කාරකයක් නිර්මාණය කිරීමේ උදාහරණය භාවිතා කරමින් පෙළ කොටස් ගබඩා කිරීම සඳහා.

පාලන ප්රශ්න:

1. ඔබට පෙළ ගොනුවක් විවෘත කළ හැක්කේ කුමන ආකාරවලින්ද? පෙළ සහ වෙනත් ඕනෑම දෙයක් වසා දමන්නේ කෙසේද ගොනුව අරින්න?

2. ලිවීම සඳහා විවෘතව ඇති පෙළ ගොනුවකට දත්ත ලියා ඇත්තේ කෙසේද? ලිවීමේ සහ මුද්‍රණ ප්‍රකාශ අතර වෙනස කුමක්ද?

3. කියවීම සඳහා විවෘතව සිට දත්ත කියවන ආකාරය පෙළ ගොනුව? ආදාන සහ රේඛීය ආදාන ක්‍රියාකරුවන් එකිනෙකට වෙනස් වන්නේ කෙසේද? ගොනුවකින් නිශ්චිත අක්ෂර සංඛ්‍යාවක් කියවීමට භාවිතා කළ හැක්කේ කුමන ශ්‍රිතයද? ගොනුවක සියලුම අක්ෂර කියවන්නේ කෙසේද?

4. කුමක්ද අභිරුචි වර්ගයදත්ත සහ අහඹු ප්රවේශ ගොනු සමඟ වැඩ කිරීමේදී මෙම සංකල්පය භාවිතා කරන ආකාරය ( raf)?

5. ගොනුවෙන් කුමන ක්රියාකරුවන් භාවිතා කිරීම rafවාර්තා ද ගොනුව තුළට කියවනු ලැබේ rafනව සටහන් ලියනවාද?

6. ගොනුවක් සමඟ වැඩ කිරීමේදී දර්ශකය තීරණය කර භාවිතා කරන්නේ කුමන අරමුණක් සඳහාද? raf?

7. ද්විමය ගොනු භාවිතා කිරීමේ ලක්ෂණ මොනවාද? ඔවුන් විවෘත කරන්නේ කෙසේද? ද්විමය ගොනුවකින් කියවීම සහ ද්විමය ගොනුවකට ලිවීම සිදු කරන්නේ කෙසේද?

8. පාලනය භාවිතා කරන්නේ කෙසේද පොදුඩයලොග්පෙළ ගොනුවක අන්තර්ගතය පෙළ ක්ෂේත්‍රයකට පැටවීමටද? සංස්කරණය කළ පෙළ පෙළ ගොනුවකට සුරැකීමට එම පාලනයම භාවිතා කරන්නේ කෙසේද?

9. පාලනය භාවිතා කරන්නේ කෙසේද පොදුඩයලොග්ගොනු අන්තර්ගතය බාගත කිරීමට rtfක්ෂේත්රයේ පොහොසත්පාඨයන් ඇතුලත් කලහැකි කොටුව? සංස්කරණය කළ පෙළ ගොනුවකට සුරැකීමට එකම පාලනය භාවිතා කරන්නේ කෙසේද rtf?

10. පාලනය භාවිතා කරන්නේ කෙසේද පොදුඩයලොග්අකුරු පරාමිති අගයන් වෙනස් කිරීමට සහ කවුළුවේ පෙළ වර්ණය වෙනස් කිරීමට පාඨයන් ඇතුලත් කලහැකි කොටුව(හෝ කවුළුවේ තෝරාගත් පෙළ කෑල්ලක් පොහොසත්පාඨයන් ඇතුලත් කලහැකි කොටුව)?

උදාහරණය 7.1. පෙළ ගොනුවකට ලිවීම (සහ පෙළ ගොනුවකින් කියවීම) “සේවක තොරතුරු” - රේඛා, ඒ සෑම එකක්ම හඳුනාගැනීමේ අංකය, සම්පූර්ණ නම, උපන් දිනය සහ සේවකයාගේ උපන් ස්ථානය අඩංගු වන යෙදුමක් සලකා බලන්න. පේළි මේසයක් සාදයි, එය තිර ආකෘතිය Combo Box පාලන 4 ක් අනුකරණය කරනු ඇත (රූපය 7.1), Comb(i) වස්තු මාලාවක් සාදයි, එහි ස්ටයිල් ගුණයට 1 - SimpleCombo අගය ඇත.

මකා දැමිය යුතු පේළිය තෝරන්න", vbExclamation

පනාව(j).ඉවත් කරන්න අයිතමය i

'ඇතුළත් කරන්න නව ඇතුල්වීමමේසය වෙත:

පුද්ගලික උප mnuInsert_Click()

i% = Comb(0).ListIndex

මම නම්< 0 Then

MsgBox "එයට පෙර ඇතුල් කළ යුතු රේඛාව උද්දීපනය කරන්න", vbExclamation

පනාව(0).AddItem InputBox("අංකය ඇතුලත් කරන්න"), i

පනාව(1).AddItem InputBox("ඔබේ නම ඇතුලත් කරන්න"), i

පනාව(2).AddItem InputBox("ඔබගේ උපන්දිනය ඇතුලත් කරන්න."), i

පනාව(3).AddItem InputBox("උපන් ස්ථානය ඇතුලත් කරන්න."), i

වගු සටහනක් වෙනස් කිරීම:

පුද්ගලික උප mnuUpdate_Click()

i% = Comb(0).ListIndex

මම නම්< 0 Then

MsgBox "වෙනස් කළ යුතු පේළිය උද්දීපනය කරන්න", vbExclamation

Comb(0).List(i) = InputBox("අංකය ඇතුලත් කරන්න", Comb(0).List(i))

Comb(1).List(i) = InputBox("ඔබේ නම ඇතුලත් කරන්න", Comb(1).List(i))

Comb(2).List(i) = InputBox("ඔබගේ උපන්දිනය ඇතුලත් කරන්න.", Comb(2).List(i))

Comb(3).List(i) = InputBox("උපන් ස්ථානය ඇතුලත් කරන්න.", Comb(3).List(i))

මුළු මේසයම පිරිසිදු කිරීම:

පුද්ගලික උප mnuClear_Click()

පෙළ ගොනුවකින් තොරතුරු සහිත වගුවක් පිරවීම:

පුද්ගලික උප mnuLoad_Click()

#1 ලෙස ආදානය සඳහා "person. txt" විවෘත කරන්න

ආදානය #1, numb, fio, bdate, block

පනාව(0).AddItem numb

පනාව(1).AddItem fio

පනාව(2).AddItem bdate

පනාව(3).AddItem block

වගු තොරතුරු පෙළ ගොනුවකට ලිවීම:

පුද්ගලික උප mnuSave_Click()

N% = පනාව(0).ListCount

#1 ලෙස ප්‍රතිදානය සඳහා "පුද්ගලයා. 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, block ලියන්න

'යෙදුම වසා දැමීම:

පුද්ගලික උප mnuExit_Click()

උදාහරණය 7.2 . පාලන භාවිතය පෙන්නුම් කරන යෙදුමක් සලකා බලන්න පොදුඩයලොග්ගොනුවක් විවෘත කිරීමට සහ සුරැකීමට, අකුරු සහ වර්ණය තේරීමට සහ පෙළ සංස්කරණය කිරීමට.

ගොනු ආකෘතිය TXTපෙළ ක්ෂේත්රයට පටවනු ලැබේ (රූපය 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අහඹුප්රවේශගොනුව).

ලබා දී ඇති දත්ත සමුදා වගුවක් සඳහා, පරිශීලක දත්ත වර්ගයක් ප්‍රකාශ කරනු ලැබේ, මෙම වර්ගයේ විචල්‍යයක් ප්‍රකාශ කරනු ලැබේ (නිබන්ධනය, pp. 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 පොදුඩයලොග්මෙනු විධාන ක්රියාත්මක කරන්න අකුරුසහ වර්ණ(උප මෙනුව සමඟ චරිත වර්ණයසහ පසුබිම් වර්ණය) මෙම විධාන භාවිතා කරමින්, ඔබට කවුළුවේ තෝරාගත් පෙළ කොටස සඳහා අකුරු (එහි නම, විලාසය සහ ප්‍රමාණය) තෝරා ගැනීමට හැකි විය යුතුය. පොහොසත්පාඨයන් ඇතුලත් කලහැකි කොටුව, මෙන්ම තෝරාගත් කොටසෙහි අක්ෂරවල වර්ණය තෝරාගැනීම සහ සම්පූර්ණ කවුළුවෙහි පසුබිම් වර්ණය තෝරා ගැනීම.

සටහන:වස්තුවක් සැකසීමේදී පොදුඩයලොග්(අභිරුචි) ගුණාංගය භාවිතයෙන් අකුරු තේරීමට, කොඩි දේපලෙහි අගය 1, 2 හෝ 3 ලෙස සැකසීමට වග බලා ගන්න (අත්පොත, 183 පිටුව බලන්න).

විකල්ප 2. පාලනයක් භාවිතා කිරීම පොදුඩයලොග්මෙනු විධාන ක්රියාත්මක කරන්න සංස්කරණය කරන්න(උප මෙනුව පිටපත් කරන්න, කපනවාසහ අලවන්න), එහි අරමුණ වේ පිටපත් කිරීමහෝ මකාදැමීමතෝරාගත් පෙළ කොටසෙහි පසුරු පුවරුව වෙත, සහ ඇතුල් කරන්නක්ලිප් පුවරුවේ අන්තර්ගතයේ තෝරාගත් පෙළ ප්‍රදේශයට.

සටහන:පසුරු පුවරුවට (වස්තුව පසුරු පුවරුව) ඔබට SetText සහ GetText ක්‍රම භාවිතා කළ හැක:

පසුරු පුවරුව. SetText RichTextBox1.SelText

RichTextBox1.SelText = පසුරු පුවරුව. GetText

සෑම වැඩසටහනක්ම තැටියට දත්ත සුරැකිය යුතු අතර එය තැටියෙන් කියවිය යුතුය. උදාහරණයක් ලෙස, වැඩසටහන් සැකසුම් සුරැකීමට මෙය අවශ්‍ය වේ; පරිශීලකයා වැඩසටහනට කැමති නොවනු ඇත, එය ඊළඟ වතාවේ දියත් කරන විට නැවත වින්‍යාස කිරීමට සිදුවනු ඇත.

මෙම ලිපියේ අපි කතා කරන්නම්විෂුවල් බේසික් භාවිතයෙන් පෙළ ගොනු සමඟ වැඩ කිරීම ගැන.

ගොනු විස්තරකය

ගොනු සමඟ වැඩ කිරීමට මෙහෙයුම් පද්ධතිය I/O නාලිකා භාවිතා කරයි, i.e. සෑම විවෘත ගොනුවකටම තමන්ගේම අංකයක් ඇත.

විෂුවල් බේසික් වල යම් කාර්යයක් ඇත FreeFile, ගොනුව සමඟ වැඩ කිරීමට භාවිතා කළ හැකි නොමිලේ නාලිකාවක අංකය ආපසු ලබා දෙයි. නිදහස් නාලිකා නොමැති නම්, දෝෂයක් සිදු වේ.

FreeFile[(පරාසය අංකය) ]

පරාසය අංකයනිදහස් නාලිකා වල අගයන් පරාසය නිර්වචනය කිරීමට ඔබට ඉඩ සලසන විකල්ප පරාමිතිය පරාසය අංකය= 0 (පෙරනිමිය), එවිට නාලිකා අංකය 1 - 255 පරාසයෙන් සහ 1 නම්, 256 - 511 පරාසයෙන් ආපසු එවනු ලැබේ.

MyFile = FreeFile "MyFile විචල්‍යයට නොමිලේ නාලිකාවක් පවරා ඇති අතර දැන් ගොනු සමඟ වැඩ කිරීමට භාවිතා කළ හැක

පෙළ ගොනු සමඟ වැඩ කිරීම

බොහෝ විට ඔබට පෙළ ගොනු හමු වේ. පෙළ ගොනු ASCII (තොරතුරු හුවමාරුව සඳහා ඇමරිකානු සම්මත කේතය) අක්ෂර කට්ටලයෙන් සමන්විත වේ.

ඔබ දත්ත ලිවීම / කියවීම ආරම්භ කිරීමට පෙර, ගොනුව විවෘත කළ යුතුය; මෙය ක්රියාකරු භාවිතයෙන් සිදු කෙරේ විවෘත (ගොනු නාමය) # ලෙස සඳහාගොනු අංකය, කොහෙද:

ආදානය- කියවීම සඳහා ගොනුව විවෘත කරන්න, ගොනුව නොමැති නම්, දෝෂයක් සිදු වේ;

ප්රතිදානය- ලිවීම සඳහා, ගොනුව නොපවතී නම්, එය සාදනු ලබන අතර, ගොනුව පවතී නම්, එය නැවත ලියනු ලැබේ;

එකතු කරන්න- එකතු කිරීමට, ගොනුව නොපවතියි නම්, එය සාදනු ලබන අතර, ගොනුව පවතී නම්, දත්ත ගොනුවේ අවසානයට එකතු වේ.

පෙළ ගොනු කියවීම ආකාර දෙකකින් කළ හැකිය: අක්ෂරයෙන් අක්ෂර කියවන්න, මේ සඳහා කාර්යය භාවිතා කරන්න ආදානය (කියවූ_අක්ෂර_සංඛ්‍යාව, #ගොනු අංකය) සහ පේළියෙන් පේළිය, ශ්රිතය මේ සඳහා භාවිතා වේ රේඛා ආදානය #ගොනු අංකය, කොහෙද_කියවන්න.

MyFile අඳුරු කරන්න

Dim S String ලෙස "කියවන දත්ත ගබඩා කිරීම සඳහා විචල්යය

MyFile = FreeFile

#MyFile ලෙස ආදානය සඳහා ("C:\TEST.txt") විවෘත කරන්න

රේඛා ආදානය #MyFile, S "TEST.TXT ගොනුවේ පළමු පේළිය S විචල්‍යයට කියවන්න

MyFile අඳුරු කරන්න "නිදහස් ගොනුවක් සඳහා විචල්‍යයක් ප්‍රකාශ කරන්න

Dim i As Integer "ලූප් සඳහා විචල්ය

tS String ලෙස අඳුරු කරන්න "තන්තු කියවීම සඳහා විචල්ය

Dim S String ලෙස "අවසාන දත්ත ගබඩා කිරීම සඳහා විචල්යය

MyFile = FreeFile "ගොනු සමඟ වැඩ කිරීම සඳහා නොමිලේ නාලිකාවක් පැවරීම

"කියවීම සඳහා TEST.TXT ගොනුව විවෘත කරන්න

i = 1 සිට 5 දක්වා

රේඛා ආදානය #MyFile, tS "TEST.TXT ගොනුව පේළියෙන් පේළිය කියවීම

i => 5 නම් S = tS "පස්වන පේළිය නම්, එය S විචල්‍යයේ ගබඩා කරන්න

ඊළඟට අයි

#MyFile වසන්න "ගොනුව වසන්න

Dim MyFile "නොමිලේ ගොනුවක් සඳහා විචල්‍යයක් ප්‍රකාශ කරන්න

Dim S As String "කියවන දත්ත ගබඩා කිරීම සඳහා විචල්‍යය

MyFile = FreeFile "ගොනු සමඟ වැඩ කිරීම සඳහා නොමිලේ නාලිකාවක් පැවරීම

#MyFile ලෙස ආදානය සඳහා ("C:\TEST.txt") විවෘත කරන්න "කියවීම සඳහා TEST.TXT ගොනුව විවෘත කරන්න

S = ආදාන$(LOG(1), 1) "සම්පූර්ණ ගොනුව S විචල්‍යයට කියවන්න

#MyFile වසන්න "ගොනුව වසන්න

ගොනුවකට ලිවීම සඳහා ක්රියාකරුවන් සිටී මුද්‍රණය#ගොනු අංකය, දත්තසහ ලියන්න #ගොනු අංකය, දත්ත. මෙම ක්රියාකරුවන් අතර ඇති එකම වෙනස එයයි ලියන්නඋපුටා දැක්වීම් වලින් දත්ත ලියයි, සහ මුද්‍රණය කරන්නඋපුටා දැක්වීම් නොමැතිව.

පහත කේතය C:\ drive මත නව TEST.TXT ගොනුවක් සාදා එයට පේළි දෙකක් ලියන්න, පළමුවැන්න උපුටා දැක්වීම් නොමැතිව සහ දෙවැන්න උපුටා දැක්වීම් සමඟ:

MyFile අඳුරු කරන්න "නිදහස් ගොනුවක් සඳහා විචල්‍යයක් ප්‍රකාශ කරන්න

MyFile = FreeFile "ගොනු සමඟ වැඩ කිරීම සඳහා නොමිලේ නාලිකාවක් පැවරීම

#MyFile ලෙස ප්‍රතිදානය සඳහා ("C:\TEST.txt") විවෘත කරන්න "ලිවීම සඳහා TEST.TXT ගොනුව විවෘත කරන්න

#MyFile මුද්‍රණය කරන්න, "මෙම පේළිය මුද්‍රණ ක්‍රියාකරු විසින් ලියා ඇත, එය උපුටා දැක්වීම් නොමැතිව..."

#MyFile ලියන්න, "මෙම පේළිය ලියන්නේ ක්‍රියාකරු විසින් ලියා ඇත, එය උපුටා දැක්වීම් වලින් ඇත..."

#MyFile වසන්න "ගොනුව වසන්න

එච්චරයි. ඔබ දැනටමත් තේරුම් ගෙන ඇති පරිදි, ක්රියාකරු ගොනුවක් වසා දැමීමට භාවිතා කරයි වසන්න #ගොනු අංකය, එහිදී, # ගොනු අංකයඑය දැක්වීමට අවශ්ය නොවේ.

ලිපිය ටිකක් අමු, නමුත් එය නවක වැඩසටහන්කරුවන් සඳහා ප්රයෝජනවත් වනු ඇත. ඊළඟ වතාවේ මම බයිනරි ගොනු සමඟ වැඩ කිරීම ගැන කතා කරමි.

8. තොරතුරු සුරැකීම සහ කියවීම

වැඩසටහන සම්පූර්ණ කිරීමෙන් පසු මතකයේ ඇති සියලුම දත්ත අහිමි නොවන බව සහතික කිරීම සඳහා, ඔබේ දෘඪ තැටියේ තොරතුරු සුරැකීමට ඔබට හැකි විය යුතුය. එසේ නොමැති නම්, සියලු තොරතුරු හෝඩුවාවක් නොමැතිව අතුරුදහන් වනු ඇත. දත්ත විවිධ ආකාරවලින් ගබඩා කර කියවීමට හැකිය. විවිධ ප්රමාණවලින් සහ ආකෘතිවල තොරතුරු සමඟ වැඩ කිරීමට, ඔබට ද්විමය සහ පෙළ ගොනු භාවිතා කළ හැකිය. කුඩා තොරතුරු ගබඩා කිරීම සඳහා, ඔබට වින්ඩෝස් රෙජිස්ට්රි භාවිතා කළ හැකිය. තවද වඩාත් සංකීර්ණ කාර්යයන් සඳහා, දත්ත සමුදායන් භාවිතා කිරීම නුවණට හුරුය.

8.1 ක්රියාකරු භාවිතයෙන් ගොනු විවෘත කිරීම "විවෘත "

ගොනුවක් යනු ඕනෑම බාහිර ගබඩා උපාංගයක නම් කරන ලද ප්‍රදේශයකි. පරිගණකයේ මතකයේ දත්ත "සජීවී", සහ ගොනු දෘඪ තැටියේ ජීවත් වේ. වැඩසටහන සෘජුවම ගොනු සමඟ ක්රියා නොකරයි, නමුත් මෙහෙයුම් පද්ධතිය මැදිහත්කරුවෙකු ලෙස භාවිතා කරයි.

ගොනු නාම වර්ග දෙකක් තිබේ: සම්පූර්ණ - ගොනු නාමයට අමතරව, බාහිර මාධ්‍යවල ගොනුවේ පිහිටීම ද දක්වා ඇත (උදාහරණයක් ලෙස, "C:\Program Files\Microsoft Visual Studio\VB98\VB 6.EXE" ) සහ කෙටි - ගොනු නාමය පමණි (VB 6.EXE ). ගොනු ස්ථානය නිශ්චිතව දක්වා නොමැති නම්, එය ඔබගේ යෙදුම පිහිටා ඇති ෆෝල්ඩරය පෙරනිමියෙන් වත්මන් ෆෝල්ඩරයේ සොයනු ඇත. ක්ෂණික ගොනු නාමය කොටස් දෙකකින් සමන්විත වේ: සැබෑ අද්විතීය ගොනු නාමය සහ එහි දිගුව. නමම ගොනුව හඳුනා ගනී, දිගුව සාමාන්‍යයෙන් ගොනු ආකෘතිය හෝ එය නිර්මාණය කළේ කුමන වැඩසටහනකින්ද යන්න දක්වයි.

ඔබ ගොනුව සමඟ වැඩ කිරීමට පෙර, ඔබ මෙහෙයුම් පද්ධතියෙන් විමසිය යුතුය දර්ශකය (විස්තර කරන්නා) ගොනුව. එය ලබා ගැනීම සඳහා, "FreeFile" ශ්රිතය භාවිතා කරන්න. ඉන්පසුව, "විවෘත" ක්රියාකරු භාවිතා කරමින්, මෙම දර්ශකය අවශ්ය ගොනුව සමඟ සම්බන්ධ වේ. මෙයින් පසුව පමණක් වැඩසටහනට එය සමඟ වැඩ කිරීමට හැකි වනු ඇත. ගොනුවක් විවෘත කිරීමේ වාක්‍ය ඛණ්ඩය පහත පරිදි වේ:

නොමිලේ ගොනු දර්ශකයක් ලබාගෙන එය විචල්‍යයකට පවරන්න

FileHandle% = FreeFile

'ගොනුව විවෘත කරන්න

FilePath_ විවෘත කරන්න

[#]FileHandle% ලෙස

...(ගොනුවක් සමඟ වැඩ කිරීම)

[#]FileHandle වසන්න

· FileHandle% - ගොනු දර්ශකය ගබඩා කරන විචල්යයකි;

· FreeFile - ගොනු දර්ශකය ආපසු ලබා දෙන කාර්යයේ නම;

· විවෘත - ක්රියාකරුගේ නම;

· FilePath - සම්පූර්ණ ගොනු නාමය;

· සඳහා - ගොනු ප්‍රවේශ මාදිලියේ විස්තරයක් අනුගමනය කරන මූල පදයක්;

· මාදිලිය - ගොනු ප්රවේශ මාදිලිය (වගුව 15 බලන්න);

වගුව 15

ගොනු ප්රවේශ මාතයන්

ප්රවේශ මාතයන්

විස්තර

එකතු කරන්න

පවතින පෙළ ගොනුවක අවසානයට දත්ත එක් කිරීම. ගොනුව නොමැති නම්, එය සාදනු ලැබේ

ද්විමය

ද්විමය ආකාරයෙන් ගොනුවක් විවෘත කිරීම, i.e. බයිට් කට්ටලයක් ලෙස. ගොනුව නොපවතී නම්, නමුත් එය සාදනු ඇත

ආදානය

පෙළ ආකෘතියෙන් කියවීම සඳහා ගොනුවක් විවෘත කිරීම

ප්රතිදානය

පෙළ ගොනුවක් ලිවීමට ගොනුවක් විවෘත කරන්න. මෙම අවස්ථාවේදී, සියලුම පැරණි තොරතුරු මකා දැමෙනු ඇත. ගොනුව නොපවතී නම්, නමුත් එය සාදනු ඇත

අහඹු

අහඹු ප්රවේශ මාදිලියේ ගොනුවක් විවෘත කිරීම. මෙම මාදිලිය සරල වාර්තා සමඟ වැඩ කිරීම සඳහා භාවිතා වේ. ගොනුව නොපවතියි නම්, නමුත් නිර්මාණය වනු ඇත

· ප්‍රවේශය - විකල්ප මූල පදයක් සහ ප්‍රවේශ වර්ගය පිළිබඳ විස්තරයක්;

· ප්‍රවේශ වර්ගය - ප්‍රවේශ වර්ගය පිළිබඳ විස්තරය:

· කියවන්න - කියවීම;

· ලියන්න - වාර්තා කරන්න;

· කියවන්න ලියන්න - කියවීම සහ ලිවීම.

සටහන

ඇමුණුම් සහ ප්‍රතිදාන ප්‍රවේශ මාතයන් සමඟින්, ලිවීම් ප්‍රවේශ වර්ගය පමණක් ලබා ගත හැකි අතර, ආදානය පමණක් කියවීම සමඟ, ද්විමය සහ සසම්භාවී ප්‍රවේශ වර්ග තුනම පවතී.

· LockType යනු ඔබේ වැඩසටහන සමඟ වැඩ කරන අතරතුර වෙනත් වැඩසටහන් මෙම ගොනුව භාවිතා කළ හැකිද යන්න තීරණය කරන විකල්ප පරාමිතියකි. එය සාමාන්යයෙන් ජාලයේ වැඩ කිරීම සමඟ සම්බන්ධ වේ (වගුව 16 බලන්න).

වගුව 16

LockType පරාමිතිය සඳහා විය හැකි අගයන්

අර්ථය

විස්තර

බෙදාගෙන ඇත

අවශ්‍ය අයිතිවාසිකම් ඇති සියලුම පරිශීලකයින්ට ගොනුවට පූර්ණ ප්‍රවේශය ඇත

අගුළු කියවීම

ගොනුව කියවීම අවහිර කර ඇත, නමුත් ලිවීමට අවසර ඇත

අගුළු ලිවීම

ගොනුවට ලිවීම අවහිර කර ඇත, නමුත් කියවීමට අවසර ඇත

කියවීම ලිවීම අගුළු දමන්න

එය කියවීම සහ ලිවීම යන දෙකම තහනම් වේ

· මූල පදයක් අනුගමනය කරමින් ගොනු දර්ශකයක් ලෙස.

· # යනු එහි පහත අගය ගොනු දර්ශකයක් බව පෙන්වන සංකේතයකි.

· ලෙන් යනු ප්‍රවේශයේ දිග සඳහන් කරන පරාමිතියකින් අනුගමනය කළ යුතු විකල්ප මූල පදයකි.

· CharInBuffer % - අහඹු ප්‍රවේශ ප්‍රකාරයේදී විවෘත කරන ලද ගොනුවක් සඳහා වාර්තාගත දිග (සසම්භාවී).

· Close යනු නිශ්චිත හසුරුව හා සම්බන්ධ ගොනුව වසන ප්‍රකාශයකි.

ඔබ එය සමඟ වැඩ කර අවසන් වූ පසු ගොනුවක් වසා දැමීම වැදගත් වේ. "වසන්න" ප්‍රකාශය ගොනු දර්ශකය සහ ආශ්‍රිත මතක ප්‍රදේශය නිදහස් කරයි.

ගොනුවක් සමඟ වැඩ කරන විට, එනම් එයින් කියවන විට, ගොනුවේ අවසානය තීරණය කිරීම ඉතා වැදගත් වේ. එය EOF (ගොනුව අවසන්) ශ්‍රිතය භාවිතයෙන් අර්ථ දැක්විය හැක:

EOF(FileHandle)

· EOF - කාර්යය නම;

· FileHandle යනු අවසානය තීරණය කරන ගොනුව වෙත දර්ශකයකි.

ගොනුවේ අවසානයට ළඟා වූ විට ශ්‍රිතය සත්‍ය බව ලබා දෙයි, එසේ නොමැතිනම් False ලබා දෙයි.

8.2 පෙළ ගොනුවකට කියවීම සහ ලිවීම

පෙළ ගොනුව "ආදාන", "ප්‍රතිදානය" හෝ "ඇමිණුම්" ප්‍රවේශ මාදිලියේ විවෘත වේ (වගුව 15 බලන්න). මෙම මාදිලියේ විශේෂත්වය වන්නේ එය නිශ්චිත මුද්රණය කළ හැකි අක්ෂර සමඟ පමණක් ක්රියා කිරීමයි. සේවා සංකේත එක්ක වැඩ කරලා වැඩක් නෑ.

තොරතුරු වාර්තා කිරීම සඳහා, "මුද්‍රණය" සහ "ලියන්න" යන ක්‍රියාකරුවන් දෙදෙනෙකු භාවිතා කරන්න, එහි වාක්‍ය ඛණ්ඩය පහත පරිදි වේ:

#FileHandle%, VarBuffer මුද්‍රණය කරන්න [;]

ලියන්න #FileHandle%, VarBuffer [;]

· මුද්‍රණය / ලිවීම - ක්‍රියාකරු මූල පද.

· #FileHandle % - තොරතුරු තැන්පත් කරන ගොනුව වෙත දර්ශකය.

· VarBuffer - ගොනුවට ලියා ඇති අගය.

· ; - පෙළ ගොනුවකට ලිවීමේදී භාවිතා කරන විකල්ප පරාමිතිය, එයින් අදහස් වන්නේ ඊළඟ අගය එකම පේළියකටත්, එය නොමැති නම්, ඊළඟ අගයටත් ලියා ඇති බවයි.

ගොනුවකින් තොරතුරු කියවීමට, "ආදාන" සහ "රේඛා ආදාන" ක්රියාකරුවන් භාවිතා කරන්න. වාක්‍ය ඛණ්ඩය එකිනෙකට සමාන ය:

රේඛා ආදානය #FileHandle%, VarBuffer

ආදානය #FileHandle%, VarBuffer

· රේඛා ආදානය / ආදානය - ක්‍රියාකරු මූල පද.

· #FileHandle % - තොරතුරු කියවන ගොනුව වෙත දර්ශකය.

· VarBuffer - තොරතුරු කියවන විචල්‍යයකි.

“රේඛා ආදානය” සහ “ආදාන” ක්‍රියාකරුවන් අතර වෙනස නම් පළමුවැන්න පෙළ ගොනු සඳහා පමණක් වන අතර දෙවැන්න - ඕනෑම එකක් සඳහා ය. පෙළ ගොනු සම්බන්ධයෙන් ගත් කල, “ආදානය” පළමු පරිසීමකය දක්වා එක් පේළියක දත්ත කියවයි (පෙළ දත්ත සඳහා බෙදුම්කරු “,” (කොමාව) සහ සංඛ්‍යාත්මක දත්ත සඳහා - “” (අවකාශය) සහ “”) , සහ “රේඛා ආදානය » ඕනෑම පරිසීමක නොසලකා හරිමින් සම්පූර්ණ පේළියම එකවර කියවයි.

සටහන

විෂුවල් බේසික් සතුව කලින් සාදන ලද ගොනු වල ආකෘතිය පාලනය කිරීමේ ක්‍රමයක් නොමැත. එබැවින්, "2" සංකේතය අනුරූප අංකය ලෙස කියවිය හැකි අතර අනෙක් අතට.

8.3 ද්විමය ගොනු සමඟ වැඩ කිරීම

ගොනු විවෘත වේ ද්විමය ආකෘතියක්රියාකරු "Binary" ආකාරයෙන් "Open". මෙම මාදිලියේ සුවිශේෂී ලක්ෂණය වන්නේ ගොනුව සමඟ වැඩ කිරීම විශේෂිත බයිට් මත පමණක් අවධානය යොමු කිරීමයි. Visual Basic මඟින් ගොනුවක අවශ්‍ය ස්ථානය කෙලින්ම ඇමතීමට හැකි බැවින්, මෙම මාදිලිය − ලෙසද හැඳින්වේ සෘජු ප්රවේශ මාදිලිය. මෙම මාදිලියේ තවත් ලක්ෂණයක් වන්නේ ගොනුව නැවත විවෘත නොකර ගොනුවේ විවිධ කොටස් වලට එකවර තොරතුරු ලිවීමට සහ කියවීමට ඇති හැකියාවයි. ද්විමය ආකාරයෙන් විවෘත කරන ලද ගොනුවකට ලිවීම පහත වාක්‍ය ඛණ්ඩය භාවිතයෙන් සිදු කෙරේ:

#FileHandle%, , NameVar දාන්න

· තැබීම - තොරතුරු පටිගත කිරීමේ ක්රියාකරුගේ නම.

· RecNumber - තොරතුරු ලියා ඇති ගොනුවේ බයිට් අංකය (විකල්ප පරාමිතිය).

· NameVar යනු විචල්‍යයක් වන අතර එහි අන්තර්ගතය ගොනුවට ලියා ඇත.

ද්විමය ආකාරයෙන් ගොනුවකින් තොරතුරු කියවීම පහත ක්‍රියාකරු භාවිතයෙන් සිදු කෙරේ:

#FileHandle%, , NameVar ලබා ගන්න

· ලබා ගන්න - තොරතුරු පටිගත කිරීමේ ක්රියාකරුගේ නම.

· FileHandle % - ගොනු හසුරුව.

· RecNumber - තොරතුරු කියවන ගොනුවේ බයිට් අංකය (විකල්ප පරාමිතිය).

· NameVar - කියවීමේ තොරතුරු තැන්පත් කරන විචල්‍යයේ නම.

ද්විමය මාදිලිය තොරතුරු බයිට් මත අවධානය යොමු කර ඇති බැවින්, ගොනුවකින් කියවීමේදී, බෆර විචල්‍යයට දැඩි ලෙස අර්ථ දක්වා ඇති වර්ගයක් තිබිය යුතුය: එක්කෝ “බයිට්”, එවිට බයිටයේ සංඛ්‍යාත්මක අගය කියවනු ඇත, නැතහොත් ස්ථාවර දිගක අක්ෂරයක් එක් අක්ෂරයක, එවිට බයිටය අක්ෂරයක් ලෙස කියවනු ඇත, ANSI , එහි කේතය බයිට් ප්‍රමාණයට අනුරූප වේ. මෙම අක්ෂරය පෙළ ගොනු සම්බන්ධයෙන් සාක්ෂාත් කරගත නොහැකි පාලන චරිතයක් විය හැකිය.

සටහන

"RecNumber" පරාමිතිය නොමැති විට, එය කලින් වැඩ කළ බයිටයෙන් පසුව ගොනුවේ ඊළඟ බයිටයේ තොරතුරු ලිවීම හෝ කියවීම සිදුවනු ඇත.

8.4 ග්‍රැෆික් හැසිරවීම

ඔබට ගොනු වලින් ග්‍රැෆික් පින්තූර සුරැකීමට සහ උපුටා ගැනීමටද හැකිය. බිට්මැප් එකකින් හෝ අයිකන ගොනුවකින් රූපයක් උකහා ගැනීමට සහ එය "PictureBox" සහ "Image" පාලන වල "Picture" ගුණාංගයට පැවරීමට, පහත සින්ටැක්ස් සමඟ "LoadPicture()" ශ්‍රිතය භාවිතා කරන්න:

ImageCtrl.Picture = LoadPicture(FilePath)

· ImageCtrl - රූප කවුළු පාලනයක නම, රූප පාලනය හෝ ආකෘතිය;

· LoadPicture - කාර්යය නම;

· FilePath - සම්පූර්ණ ගොනු නාමය.

SavePicture ImageCtrl .Picture, FilePath

· SavePicture - ක්රියාකරුගේ නම;

· ImageCtrl - රූප කවුළු පාලනයක නම, රූප පාලනය හෝ ආකෘතිය;

· පින්තූරය - රූපය සඳහා වගකිව යුතු වස්තුවේ නම;

· FilePath - තැටියේ එහි පිහිටීම පෙන්නුම් කරන ගොනුවේ සම්පූර්ණ නම.

8.5 රෙජිස්ට්රි එකේ දත්ත සමඟ වැඩ කිරීම

වින්ඩෝස් රෙජිස්ට්රි මඟින් අක්ෂර ආකෘතියේ කුඩා තොරතුරු ගබඩා කිරීමට භාවිතා කළ හැක. Visual Basic ඔබට ප්‍රවේශ වීමට භාවිතා කළ හැකි ක්‍රියා පටිපාටි හතරක් ඇත. ඒවා භාවිතා කිරීමට ඉතා පහසු වේ, නමුත් එක් ප්‍රධාන අඩුපාඩුවක් ඇත: ඔබට දත්ත ප්‍රවේශ කළ හැක්කේ විශේෂිත රෙජිස්ට්‍රි යතුරකින් පමණි: "MyComputer\HKEY_CURRENT_USER\Software\VB සහ VBA වැඩසටහන් සැකසීම්". රෙජිස්ට්රි හි අනෙකුත් කොටස් වෙත ප්රවේශ වීමට, ඔබ "Win 32 API" විශේෂ කාර්යයන් භාවිතා කළ යුතුය.

වින්ඩෝස් රෙජිස්ට්‍රියේ විෂුවල් බේසික් අංශයෙන් සිටුවමක අගය ලබා ගැනීමට, ඔබ පහත ශ්‍රිතය භාවිතා කළ යුතුය:

MyString = GetSetting(VBKeyName, Section, Key [,Default])

· MyString - ශ්‍රිතය මඟින් ආපසු ලබා දෙන අගය ගබඩා කිරීමට තන්තුවක්;

· GetSetting - කාර්යයේ නම.

· VBKeyName යනු අභ්‍යන්තර VB/VBA උප යතුරේ නම වන තන්තු අගයකි.

· යතුර යනු කොටසේ පරාමිතියේ නම නියෝජනය කරන තන්තු අගයකි.

· පෙරනිමිය - විකල්ප තර්කයකි, එහි අගය දෝෂයක් (අතුරුදහන් පරාමිතිය) වලදී ආපසු ලබා දෙනු ලැබේ.

වින්ඩෝස් රෙජිස්ට්‍රියේ අගයක් ගබඩා කිරීමට, පහත ප්‍රකාශය භාවිතා කරන්න:

SaveSetting VBKeyName, Section, Key, MyString

· SaveSetting - ක්රියාකරුගේ නම.

· MyString යනු තන්තු විචල්‍යයක් වන අතර එහි සොයාගත් අගය ස්ථානගත කෙරේ.

විශේෂිත උප යතුරකින් සියලුම පරාමිති අගයන් අඩංගු රෙජිස්ට්‍රියෙන් අරාවක් ලබා ගැනීමට, පහත ශ්‍රිතය භාවිතා කරන්න:

MyVariant = SetAllSettings(VBKeyName, කොටස)

· MyVariant යනු ශ්‍රිතය මඟින් ආපසු ලබා දෙන "Variant" වර්ගයේ අගයන් සමූහයකි.

· SetAllSettings - කාර්යයේ නම.

· අංශය - කිසියම් යෙදුමක කොටසක් හෝ උපවගන්තියක් නියෝජනය කරන තන්තු අගයකි.

පරාමිතිවල සම්පූර්ණ කොටසක් ඉවත් කිරීමට, පහත වාක්‍ය ඛණ්ඩය සහිත ප්‍රකාශයක් භාවිතා කරන්න:

DeleteSetting VBKeyName, Section, Key

· මකන්න සැකසීම - ක්රියාකරුගේ නම.

ස්වයං පරීක්ෂණය සඳහා පරීක්ෂණ ප්රශ්න

  1. සමහර තොරතුරු දිගු කාලීනව ගබඩා කරන්නේ කෙසේද?
  2. ගොනුවක් යනු කුමක්ද?
  3. ඔබ දන්නා ගොනු නාම මොනවාද?
  4. "විවෘත" ක්රියාකරුගේ සින්ටැක්ස් දෙන්න. එහි පරාමිතීන්ගේ අරමුණ පැහැදිලි කරන්න.
  5. යෙදුම් කිහිපයක් එකවර එක් ගොනුවකට ප්‍රවේශය බෙදා ගන්නේ කෙසේද?
  6. ගොනුවක තොරතුරු අවසන් වී ඇති බව තීරණය කරන්නේ කෙසේද?
  7. ගොනුවක් සමඟ වැඩ කිරීමෙන් පසු එය වසා දැමීමට නිර්දේශ කරන්නේ ඇයි?
  8. පෙළ සහ ද්විමය ගොනු මාදිලි අතර වෙනස ලෙස ඔබ දකින්නේ කුමක්ද?
  9. පෙළ ගොනු මාදිලියේ දත්ත කියවීම සහ ලියා ඇත්තේ කෙසේද?
  10. ද්විමය ගොනු මාදිලියේ දත්ත කියවීම සහ ලිවීම සිදු කරන්නේ කෙසේද?
  11. ගොනු සමඟ වැඩ කිරීමේදී "මුද්රණය" සහ "ලියන්න" ක්රියාකරුවන් අතර වෙනස කුමක්ද?
  12. ගොනු සමඟ වැඩ කිරීමේදී "ආදාන" සහ "රේඛා ආදාන" ක්රියාකරුවන් අතර වෙනස කුමක්ද?
  13. ඔබට ග්‍රැෆික් දත්ත සමඟ වැඩ කළ හැක්කේ කෙසේද?
  14. වින්ඩෝස් රෙජිස්ට්රි සමඟ වැඩ කිරීමේ මූලික මූලධර්ම මොනවාද?



ඉහල