Kila mpango lazima uhifadhi data kwenye diski na uisome kutoka kwa diski. Hii ni muhimu, kwa mfano, ili kuhifadhi mipangilio ya programu; mtumiaji hawezi kupenda programu, ambayo italazimika kusanidiwa tena wakati ujao itakapozinduliwa.
Katika makala hii tutazungumzia kuhusu kufanya kazi na faili za maandishi kwa kutumia Visual Basic.
Kifafanuzi cha faili
Kufanya kazi na faili, mfumo wa uendeshaji hutumia njia za pembejeo / pato, i.e. Kila faili iliyo wazi ina nambari yake mwenyewe.
Katika Visual Basic kuna kazi FreeFile, ambayo inarudisha nambari ya kituo cha bure ambacho kinaweza kutumika kufanya kazi na faili. Ikiwa hakuna vituo vya bure, hitilafu hutokea.
FreeFile[(Nambari ya safu) ]
Nambari ya safu-kigezo cha hiari ambacho hukuruhusu kufafanua anuwai ya maadili ya chaneli za bure ikiwa Nambari ya safu= 0 (chaguo-msingi), basi nambari ya kituo inarejeshwa kutoka safu 1 - 255, na ikiwa 1, basi kutoka safu 256 - 511.
MyFile = FreeFile " Tofauti ya MyFile imepewa chaneli isiyolipishwa na sasa inaweza kutumika kufanya kazi na faili
Fanya kazi na faili za maandishi
Mara nyingi hukutana na faili za maandishi. Faili za maandishi zina seti ya herufi ya ASCII (Msimbo Wastani wa Marekani wa Kubadilishana Habari).
Kabla ya kuanza kuandika / kusoma data, faili lazima ifunguliwe; hii inafanywa kwa kutumia operator Fungua (Jina la faili) Kama #Nambari_ya_faili, wapi:
Ingizo- fungua faili ya kusoma, ikiwa faili haipo, kosa hutokea;
Pato- kwa kuandika, ikiwa faili haipo, itaundwa, na ikiwa faili iko, itaandikwa;
Ongeza- kuongeza, ikiwa faili haipo, itaundwa, na ikiwa faili iko, basi data itaongezwa hadi mwisho wa faili.
Kusoma faili za maandishi zinaweza kufanywa kwa njia mbili: soma tabia kwa tabia, kwa hili tumia kazi Ingizo(Idadi_ya_wahusika_iliyosomwa, #Nambari_ya_faili) na mstari kwa mstari, kazi hutumiwa kwa hili Ingizo la mstari #Nambari_ya_faili, Wapi_kusoma.
Dim MyFile
Dim S Kama Kamba "Kigezo cha kuhifadhi data iliyosomwa
MyFile = FreeFile
Fungua("C:\TEST.txt") Kwa Kuingiza Kama #FailiYangu
Ingizo la Mstari #MyFile, S "Soma mstari wa kwanza kutoka kwa faili TEST.TXT hadi kutofautisha S
Dim MyFile "Tangaza kutofautisha kwa faili isiyolipishwa
Punguza Kama Nambari kamili "Inabadilika kwa kitanzi
Dim tS Kama Kamba "Inaweza kubadilika kwa kusoma kamba
Dim S Kama Kamba "Inaweza kubadilika kwa kuhifadhi data ya mwisho
MyFile = FreeFile "Kupeana chaneli isiyolipishwa ya kufanya kazi na faili
"Fungua faili TEST.TXT kwa kusoma
Kwa i = 1 hadi 5
Ingizo la Mstari #MyFile, tS "Kusoma faili TEST.TXT mstari kwa mstari
Ikiwa i => 5 Kisha S = tS "Ikiwa mstari wa tano, basi uihifadhi katika muundo wa S
Inayofuata i
Funga #FailiYangu "Funga faili
Dim MyFile "Tamka kutofautisha kwa faili ya bure
Dim S Kama Kamba "Inaweza kubadilika kwa kuhifadhi data iliyosomwa
MyFile = FreeFile "Kupeana chaneli isiyolipishwa ya kufanya kazi na faili
Fungua("C:\TEST.txt") Kwa Kuingiza Kama #FailiYangu "Fungua faili TEST.TXT kwa kusoma
S = Ingizo$(LOG(1), 1) "Soma faili nzima kwenye muundo wa S
Funga #FailiYangu "Funga faili
Kuna waendeshaji wa kuandika kwa faili Chapisha #Nambari_ya_faili, Data Na Andika #Nambari_ya_faili, Data. Tofauti pekee kati ya waendeshaji hawa ni kwamba Andika huandika data katika nukuu, na Chapisha bila nukuu.
Nambari ifuatayo itaunda faili mpya TEST.TXT kwenye kiendeshi cha C:\ na kuiandikia mistari miwili, ya kwanza bila nukuu na ya pili ikiwa na nukuu:
Dim MyFile "Tangaza kutofautisha kwa faili isiyolipishwa
MyFile = FreeFile "Kupeana chaneli isiyolipishwa ya kufanya kazi na faili
Fungua("C:\TEST.txt") Kwa Pato Kama #FailiYangu "Fungua faili TEST.TXT ili uandike
Chapisha #FailiYangu, "Laini hii iliandikwa na Opereta Chapa, haina nukuu..."
Andika #FailiYangu, "Mstari huu uliandikwa na Opereta wa Andika, upo katika nukuu..."
Funga #FailiYangu "Funga faili
Ni hayo tu. Kama labda umeelewa tayari, opereta hutumiwa kufunga faili Funga #Nambari_ya_faili, ambapo, # Nambari_ya_faili sio lazima kuonyesha.
Nakala hiyo ni chafu kidogo, lakini itakuwa muhimu kwa waandaaji wa programu za novice. Wakati ujao nitazungumza juu ya kufanya kazi na faili za binary.
8. HABARI ZA KUHIFADHI NA KUSOMA
Ili kuhakikisha kwamba data zote zilizoundwa kwenye kumbukumbu hazipotee baada ya programu kukamilika, unahitaji kuwa na uwezo wa kuhifadhi habari kwenye gari lako ngumu. Vinginevyo, habari zote zitatoweka bila kuwaeleza. Data inaweza kuhifadhiwa na kusomwa kwa njia mbalimbali. Kufanya kazi na taarifa za ukubwa na muundo mbalimbali, unaweza kutumia faili za binary na maandishi. Ili kuhifadhi kiasi kidogo cha habari, unaweza kutumia Usajili wa Windows. Na kwa kazi ngumu zaidi, ni busara kutumia hifadhidata.
8.1. Kufungua faili kwa kutumia opereta "Fungua »
Faili ni eneo lililopewa jina la kifaa chochote cha kuhifadhi nje. Data "kuishi" kwenye kumbukumbu ya kompyuta, na faili zinaishi kwenye diski kuu. Programu haifanyi kazi na faili moja kwa moja, lakini hutumia mfumo wa uendeshaji kama mpatanishi.
Kuna aina mbili za majina ya faili: kamili - pamoja na jina la faili, eneo la faili kwenye vyombo vya habari vya nje pia linaonyeshwa (kwa mfano, "C:\Program Files\Microsoft Visual Studio\VB98\VB 6.EXE" ) na fupi - jina la faili tu ( VB 6.EXE ). Ikiwa eneo la faili halijabainishwa, itatafutwa kwenye folda ya sasa, kwa chaguo-msingi folda ambapo programu yako iko. Jina la faili la haraka lina sehemu mbili: jina halisi la faili la kipekee na ugani wake. Jina lenyewe linatambulisha faili, na ugani kawaida huonyesha fomati ya faili au ni programu gani iliyoundwa na.
Kabla ya kuanza kufanya kazi na faili, lazima uulize mfumo wa uendeshaji pointer (mfafanuzi) faili. Ili kuipata, tumia chaguo la kukokotoa la "FreeFile". Kisha, kwa kutumia operator "Fungua", pointer hii inahusishwa na faili inayohitajika. Tu baada ya hii programu itaweza kufanya kazi nayo. Syntax ya kufungua faili ni kama ifuatavyo:
'pata kielekezi cha faili cha bure na uikabidhi kwa kutofautisha
FileHandle% = FreeFile
'Fungua faili
Fungua FilePath_
Kama [#]FileHandle%
... (inafanya kazi na faili)
Funga [#]FileHandle
· FileHandle% - kibadilishaji kinachohifadhi pointer ya faili;
· FreeFile - jina la kazi ambayo inarudisha pointer ya faili;
· Fungua - jina la mwendeshaji;
· FilePath - jina kamili la faili;
· Kwa - neno kuu linalofuatiwa na maelezo ya hali ya kufikia faili;
· Hali - hali ya kufikia faili (tazama Jedwali 15);
Jedwali 15
Njia za ufikiaji wa faili
Njia za ufikiaji |
Maelezo |
Ongeza |
Inaongeza data hadi mwisho wa faili ya maandishi iliyopo. Ikiwa faili haipo, itaundwa |
Nambari |
Kufungua faili katika hali ya binary, i.e. kama seti ya ka. Ikiwa faili haipo lakini itaundwa |
Ingizo |
Kufungua faili kwa ajili ya kusoma katika umbizo la maandishi |
Pato |
Fungua faili ili kuandika faili ya maandishi. Katika kesi hii, habari zote za zamani zitafutwa. Ikiwa faili haipo lakini itaundwa |
Nasibu |
Kufungua faili katika hali ya ufikiaji bila mpangilio. Hali hii inatumika kwa kufanya kazi na rekodi rahisi. Ikiwa faili haipo lakini itaundwa |
· Ufikiaji - neno la msingi la hiari likifuatiwa na maelezo ya aina ya ufikiaji;
· AccessType - maelezo ya aina ya ufikiaji:
· Kusoma - kusoma;
· Andika - rekodi;
· Soma Andika - kusoma na kuandika.
Kumbuka |
Kwa njia za Ufikiaji za Kuongeza na Pato, ni aina ya ufikiaji wa Andika pekee inayopatikana, na Ingizo la Kusoma tu, na kwa Nambari na Bila mpangilio aina zote tatu za ufikiaji zinapatikana. |
· LockType ni kigezo cha hiari ambacho huamua ikiwa programu zingine zinaweza kutumia faili hii wakati programu yako inafanya kazi nayo. Kawaida inahusishwa na kufanya kazi kwenye mtandao (tazama Jedwali 16).
Jedwali 16
Thamani zinazowezekana za kigezo cha LockType
Maana |
Maelezo |
Imeshirikiwa |
Watumiaji wote walio na haki muhimu watapata ufikiaji kamili wa faili |
Funga Soma |
Usomaji wa faili umezuiwa, lakini uandishi unaruhusiwa |
Funga Andika |
Kuandika kwa faili kumezuiwa, lakini kusoma kunaruhusiwa |
Funga Soma Andika |
Kuisoma na kuiandikia ni marufuku |
· Kama neno kuu likifuatiwa na pointer ya faili.
· # ni ishara inayoonyesha kuwa thamani inayoifuata ni kielekezi cha faili.
· Len ni neno kuu la hiari ambalo lazima lifuatwe na kigezo kinachobainisha urefu wa ingizo.
· CharInBuffer % - urefu wa rekodi kwa faili iliyofunguliwa katika hali ya ufikiaji bila mpangilio (Nasibu).
· Funga ni taarifa inayofunga faili inayohusishwa na mpini uliobainishwa.
Ni muhimu kufunga faili unapomaliza kufanya kazi nayo. Taarifa ya "Funga" huweka huru pointer ya faili na eneo la kumbukumbu linalohusika.
Wakati wa kufanya kazi na faili, yaani wakati wa kusoma kutoka kwake, kuamua mwisho wa faili ni muhimu sana. Inaweza kufafanuliwa kwa kutumia kazi ya EOF (Mwisho wa Faili):
EOF(FileHandle)
· EOF - jina la kazi;
· FileHandle ni kielekezi kwa faili ambayo mwisho wake unaamuliwa.
Chaguo za kukokotoa hurejesha Kweli ikiwa mwisho wa faili umefikiwa, vinginevyo hurejesha Uongo.
8.2. Kusoma na kuandika kwa faili ya maandishi
Faili ya maandishi inafunguliwa katika hali ya kufikia "Ingizo", "Pato" au "Weka" (angalia Jedwali 15). Upekee wa hali hii ni kwamba inafanya kazi tu na herufi maalum zinazoweza kuchapishwa. Haina maana kufanya kazi na alama za huduma.
Ili kurekodi habari, tumia waendeshaji wawili "Chapisha" na "Andika", syntax yake ni kama ifuatavyo.
Chapisha #FileHandle%, VarBuffer [;]
Andika #FileHandle%, VarBuffer [;]
· Chapisha / Andika - maneno muhimu ya opereta.
· #FileHandle % - kielekezi kwa faili ambamo habari itawekwa.
· VarBuffer - thamani ambayo itaandikwa kwa faili.
· ; - parameter ya hiari inayotumiwa wakati wa kuandika faili ya maandishi, ina maana kwamba thamani inayofuata itaandikwa kwa mstari huo huo, na ikiwa haipo, kwa ijayo.
Ili kusoma maelezo kutoka kwa faili, tumia viendeshaji vya "Ingizo" na "Ingizo la Mstari". Syntax ni sawa kwa kila mmoja:
Ingizo la Mstari #FileHandle%, VarBuffer
Ingiza #FileHandle%, VarBuffer
· Ingizo la Laini / Ingizo - maneno muhimu ya waendeshaji.
· #FileHandle % - pointer kwa faili ambayo habari itasomwa.
· VarBuffer - tofauti ambayo habari itasomwa.
Tofauti kati ya waendeshaji wa "Ingizo la Mstari" na "Ingizo" ni kwamba ya kwanza imekusudiwa faili za maandishi tu, na ya pili - kwa yoyote. Katika kesi ya faili za maandishi, "Ingizo" husoma data kwenye mstari mmoja hadi kikomo cha kwanza (kwa data ya maandishi kitenganishi ni "," (comma), na kwa data ya nambari - "" (nafasi) na ",") , na "Ingizo la Mstari" husoma mstari mzima mara moja, na kupuuza vikomo vyovyote.
Kumbuka |
Visual Basic haina njia ya kudhibiti umbizo la faili zilizoundwa hapo awali. Kwa hivyo, ishara "2" inaweza kusomwa kama nambari inayolingana na kinyume chake. |
8.3. Kufanya kazi na faili za binary
Faili hufunguliwa ndani umbizo la binary opereta "Fungua" katika hali ya "Binary". Kipengele tofauti cha hali hii ni kwamba kufanya kazi na faili kunalenga baiti maalum. Kwa kuwa Visual Basic inaweza kushughulikia moja kwa moja eneo linalohitajika katika faili, hali hii pia inaitwa - hali ya ufikiaji wa moja kwa moja. Kipengele kingine cha hali hii ni uwezo wa kuandika na kusoma habari wakati huo huo katika sehemu tofauti za faili bila kuifungua tena. Kuandika kwa faili iliyofunguliwa katika hali ya binary hufanywa kwa kutumia syntax ifuatayo:
Weka #FileHandle%, , NameVar
· Weka - jina la opereta wa kurekodi habari.
· RecNumber - nambari ya byte ya faili ambayo habari itaandikwa (kigezo cha hiari).
· NameVar ni kigezo ambacho maudhui yake yataandikwa kwa faili.
Kusoma habari kutoka kwa faili katika hali ya binary hufanywa kwa kutumia opereta ifuatayo:
Pata #FileHandle%, , NameVar
· Pata - jina la opereta wa kurekodi habari.
· FileHandle% - kushughulikia faili.
· RecNumber - nambari ya byte ya faili ambayo habari itasomwa (parameter ya hiari).
· NameVar - jina la kutofautisha ambalo habari iliyosomwa itawekwa.
Kwa kuwa hali ya binary inalenga baiti za habari, wakati wa kusoma kutoka kwa faili, tofauti ya bafa lazima iwe na aina iliyoainishwa kabisa: ama "Byte", basi thamani ya nambari ya byte itasomwa, au herufi ya urefu uliowekwa. ya herufi moja, basi byte itasomwa kama mhusika, ANSI , msimbo ambao unalingana na saizi ya kawaida. Tabia hii inaweza hata kuwa tabia ya udhibiti, ambayo haiwezi kupatikana katika kesi ya faili za maandishi.
Kumbuka |
Kwa kukosekana kwa parameta ya "RecNumber", kuandika au kusoma habari itatokea kwenye byte inayofuata ya faili baada ya ile ambayo ilifanya kazi hapo awali.
8.4. Udanganyifu wa michoro
Unaweza pia kuhifadhi na kutoa picha za picha kutoka kwa faili. Ili kutoa picha kutoka kwa bitmap au faili ya ikoni na kuikabidhi kwa sifa ya "Picha" ya vidhibiti vya "PictureBox" na "Picha", tumia chaguo la kukokotoa la "LoadPicture()" kwa sintaksia ifuatayo:
ImageCtrl.Picture = LoadPicture(FilePath)
· ImageCtrl - jina la udhibiti wa dirisha la picha, udhibiti wa picha, au fomu;
· LoadPicture - jina la kazi;
· FilePath - jina kamili la faili.
Hifadhi Picha ya PichaCtrl .Picha, Njia ya Faili
· HifadhiPicha - jina la mwendeshaji;
· ImageCtrl - jina la udhibiti wa dirisha la picha, udhibiti wa picha, au fomu;
· Picha - jina la mali ya kitu kinachohusika na picha;
· FilePath - jina kamili la faili inayoonyesha eneo lake kwenye diski.
8.5. Kufanya kazi na data katika Usajili
Usajili wa Windows unaweza kutumika kuhifadhi vipande vidogo vya habari katika umbizo la herufi. Visual Basic ina taratibu nne ambazo unaweza kutumia ili kuipata. Wao ni rahisi sana kutumia, lakini wana drawback moja kuu: unaweza tu kufikia data kutoka kwa ufunguo maalum wa Usajili: "MyComputer\HKEY_CURRENT_USER\Software\VB na Mipangilio ya Programu ya VBA". Ili kufikia sehemu zingine za Usajili, unahitaji kutumia kazi maalum "Win 32 API".
Ili kupata thamani ya mpangilio kutoka kwa sehemu ya Visual Basic ya Usajili wa Windows, unahitaji kutumia kazi ifuatayo:
MyString = GetSetting(VBKeyName, Sehemu, Ufunguo [,Default])
· MyString - kamba ya kuhifadhi thamani iliyorejeshwa na kazi;
· GetSetting - jina la kazi.
· VBKeyName ni thamani ya mfuatano ambayo ni jina la ufunguo wa ndani wa VB/VBA.
· Ufunguo ni thamani ya mfuatano ambayo inawakilisha jina la kigezo katika sehemu hiyo.
· Chaguo-msingi - hoja ya hiari, ambayo thamani yake itarejeshwa ikiwa kuna hitilafu (kigezo kinakosa).
Ili kuhifadhi thamani katika Usajili wa Windows, tumia taarifa ifuatayo:
SaveSetting VBKeyName, Sehemu, Ufunguo, MyString
· SaveSetting - jina la opereta.
· MyString ni tofauti ya kamba ambayo thamani iliyopatikana itawekwa.
Ili kupata safu kutoka kwa Usajili iliyo na maadili yote ya parameta kutoka kwa subkey maalum, tumia kazi ifuatayo:
MyVariant = SetAllSettings(VBKeyName, Sehemu)
· MyVariant ni safu ya thamani za aina ya "Variant" iliyorejeshwa na chaguo la kukokotoa.
· SetAllSettings - jina la kazi.
· Sehemu - Thamani ya mfuatano inayowakilisha sehemu au kifungu kidogo cha programu fulani.
Ili kuondoa sehemu nzima ya vigezo, tumia taarifa iliyo na syntax ifuatayo:
DeleteSetting VBKeyName, Sehemu, Ufunguo
· DeleteSetting - jina la opereta.
Maswali ya mtihani wa kujipima
- Unawezaje kuhifadhi habari fulani kwa muda mrefu?
- Faili ni nini?
- Je! unajua majina ya faili gani?
- Toa syntax ya opereta "Fungua". Eleza madhumuni ya vigezo vyake.
- Je, programu nyingi zinaweza kushiriki vipi ufikiaji wa faili moja kwa wakati mmoja?
- Jinsi ya kuamua kuwa habari kwenye faili imechoka?
- Kwa nini inashauriwa kuifunga baada ya kufanya kazi na faili?
- Unaona nini kama tofauti kati ya maandishi na aina za faili za binary?
- Je, data inasomwa na kuandikwa vipi katika hali ya faili ya maandishi?
- Data inasomwa na kuandikwa vipi katika hali ya faili ya binary?
- Je! ni tofauti gani kati ya waendeshaji "Chapisha" na "Andika" wakati wa kufanya kazi na faili?
- Je! ni tofauti gani kati ya waendeshaji wa "Ingizo" na "Ingizo la Mstari" wakati wa kufanya kazi na faili?
- Unawezaje kufanya kazi na data ya picha?
- Ni kanuni gani za msingi za kufanya kazi na Usajili wa Windows?
Lengo la kazi: Kusoma na kutumia waendeshaji lugha wa VB 6 kufanya kazi na faili za aina mbalimbali: faili za mfululizo (maandishi), faili za ufikiaji bila mpangilio, faili za binary. Utafiti na matumizi ya chombo KawaidaMazungumzo kwa kufungua na kuhifadhi faili, kuchagua fonti na rangi, na kutumia kitu Ubao wa kunakili kwa kuhifadhi vipande vya maandishi, kwa kutumia mfano wa kuunda mhariri wa maandishi rahisi.
Maswali ya kudhibiti:
1. Je, unaweza kufungua faili ya maandishi kwa njia gani? Jinsi ya kufunga maandishi au faili nyingine yoyote wazi?
2. Data imeandikwaje kwa faili ya maandishi ambayo imefunguliwa kwa maandishi? Kuna tofauti gani kati ya Taarifa za Andika na Chapisha?
3. Data inasomwaje kutoka kwa faili ya maandishi wazi? Je, waendeshaji wa Ingizo na Ingizo la Laini ni tofauti gani kutoka kwa kila mmoja? Ni kazi gani inaweza kutumika kusoma idadi maalum ya wahusika kutoka kwa faili? Jinsi ya kusoma herufi zote za faili?
4. Ni aina gani ya data ya mtumiaji na dhana hii inatumiwaje wakati wa kufanya kazi na faili za ufikiaji bila mpangilio ( rafu)?
5. Kutumia waendeshaji gani kutoka kwa faili rafu rekodi pia husomwa kwenye faili rafu Je, maingizo mapya yanaandikwa?
6. Fahirisi imedhamiriwa na kutumika kwa madhumuni gani wakati wa kufanya kazi na faili? rafu?
7. Je, ni vipengele vipi vya kutumia faili za binary? Je, wanafunguaje? Kusoma kutoka kwa faili ya binary na kuandika kwa faili ya binary hufanywaje?
8. Jinsi ya kutumia udhibiti KawaidaMazungumzo kupakia yaliyomo kwenye faili ya maandishi kwenye uwanja wa maandishi? Ninawezaje kutumia udhibiti sawa kuhifadhi maandishi yaliyohaririwa kwa faili ya maandishi?
9. Jinsi ya kutumia udhibiti KawaidaMazungumzo kupakua yaliyomo kwenye faili rtf shambani TajiriKisanduku cha maandishi? Jinsi ya kutumia udhibiti sawa kuhifadhi maandishi yaliyohaririwa kwenye faili rtf?
10. Jinsi ya kutumia udhibiti KawaidaMazungumzo kubadilisha maadili ya parameta ya fonti na kubadilisha rangi ya maandishi kwenye dirisha Kisanduku cha maandishi(au kipande cha maandishi kilichochaguliwa kwenye dirisha TajiriKisanduku cha maandishi)?
Mfano 7.1. Fikiria maombi ambayo yanaonyesha kuandika kwa faili ya maandishi (na kusoma kutoka kwa faili ya maandishi) "habari ya mfanyakazi" - mistari, ambayo kila moja ina nambari ya kitambulisho, jina kamili, tarehe ya kuzaliwa na mahali pa kuzaliwa kwa mfanyakazi. Safu hizo zinaunda meza, ambayo kwenye fomu ya skrini itaigwa na vidhibiti 4 vya Combo Box (Mchoro 7.1), na kutengeneza safu ya vitu vya Comb (i), ambavyo mali ya Mtindo ina thamani 1 - SimpleCombo.
Chagua laini ya kufutwa", vbExclamation
Comb(j).OndoaKipengee i
' Kuingiza rekodi mpya kwenye jedwali:
Binafsi Sub mnuInsert_Click()
i% = Comb(0).ListIndex
Ikiwa i< 0 Then
MsgBox "Angazia mstari utakaoingizwa kabla yake", vbExclamation
Comb(0).AddItem InputBox("Ingiza nambari"), i
Comb(1).AddItem InputBox("Ingiza jina lako"), i
Comb(2).AddItem InputBox("Ingiza siku yako ya kuzaliwa."), i
Comb(3).AddItem InputBox("Ingiza mahali pa kuzaliwa."), i
Kubadilisha kiingilio cha jedwali:
Ndogo ya Kibinafsi mnuUpdate_Click()
i% = Comb(0).ListIndex
Ikiwa i< 0 Then
MsgBox "Angazia safu mlalo ili kurekebishwa", vbExclamation
Comb(0).Orodha(i) = Kisanduku cha Kuingiza("Ingiza nambari", Comb(0).Orodha(i))
Comb(1).Orodha(i) = Kisanduku cha Kuingiza("Ingiza jina lako", Comb(1).Orodha(i))
Comb(2).Orodha(i) = InputBox("Ingiza siku yako ya kuzaliwa.",Comb(2).Orodha(i))
Comb(3).Orodha(i) = Sanduku la Kuingiza("Ingiza mahali pa kuzaliwa.", Comb(3).Orodha(i))
'Kusafisha meza nzima:
Ndogo ya Kibinafsi mnuClear_Click()
' Kujaza jedwali na habari kutoka kwa faili ya maandishi:
Ndogo ya Kibinafsi mnuLoad_Click()
Fungua "person. txt" Kwa Ingizo Kama #1
Ingizo #1, ganzi, fio, bdate, kambi
Comb(0).OngezaKipengee cha ganzi
Comb(1).OngezaKipengee fio
Comb(2).AdItem bdate
Comb(3).Kambi ya AddItem
' Kuandika habari ya jedwali kwa faili ya maandishi:
Ndogo ya kibinafsi mnuSave_Click()
N% = Comb(0).ListCount
Fungua "person. txt" Kwa Pato Kama #1
Kwa i = 0 Hadi N - 1
numb = Val(Comb(0).Orodha(i))
fio = Kuchana(1).Orodha(i)
bdate = CDate(Comb(2).Orodha(i))
kambi = Kuchana(3).Orodha(i)
Andika #1, numb, fio, bdate, kambi
' Kuzima maombi:
Ndogo ya Kibinafsi mnuExit_Click()
Mfano 7.2 . Fikiria programu inayoonyesha matumizi ya vidhibiti KawaidaMazungumzo kufungua na kuhifadhi faili, kuchagua fonti na rangi, na kuhariri maandishi.
Umbizo la faili TXT itapakiwa kwenye uwanja wa maandishi (uga wa kushoto kwenye Mchoro 7.2), na muundo wa faili RTF- katika shamba TajiriKisanduku cha maandishi(upande wa kulia katika Mchoro 7.2).
kitu
Darasa
kitu
Mali
kitu
Thamani ya mali
" Paneli za jumla
mazungumzo"
Fungua/Hifadhi Kama Kichupo
Kichupo cha herufi
Kichupo cha rangi
Jedwali haionyeshi sifa za amri za menyu Fonti, Rangi Na Hariri. Chini ni msimbo wa utaratibu pia kwa amri za menyu tu Faili (Fungua, Hifadhi Na HifadhiKama) Kutunga msimbo kwa amri zingine za menyu ni mada ya kazi ya 2 ya kazi hii.
Ndogo ya Kibinafsi mnuOpen_Click()
CommonDialog1.ShowOpen
F$ = CommonDialog1.FileName
Ikiwa Kulia(F, 3) = "rtf" Basi
RichTextBox1.LoadFile F
ElseIf Right(F, 3) = "txt" Kisha
Fungua F kwa Ingizo Kama #1
S$ = Ingizo(N, 1)
Ndogo ya kibinafsi mnuSave_Click()
CommonDialog1.ShowSave
F$ = CommonDialog1.FileName
Private Sub mnuSaveAs_Click()
CommonDialog1.ShowSave
F$ = CommonDialog1.FileName
RichTextBox1.SaveFile F, rtfRTF
Wakati wa kazi hii, mwanafunzi lazima amalize kazi 2.
Zoezi 1. Katika mchakato wa kukamilisha mgawo huo, wanafunzi humiliki uwezo unaopatikana katika VB 6 wa kufanya kazi na faili za ufikiaji bila mpangilio ( RAFnasibuufikiajifaili).
Kwa jedwali fulani la hifadhidata, aina ya data ya mtumiaji inatangazwa, kigezo cha aina hii kinatangazwa (mafunzo, uk. 108–112), taratibu zinazotumia kigezo cha aina ya mtumiaji hutungwa na kutatuliwa.
Hasa, taratibu za amri za menyu zinatekelezwa Andika kwa failiRAF Na Soma kutoka kwa failiRAF. Kama katika mfano 7.1, safu ya vitu hutumiwa kuhariri data MchanganyikoSanduku na menyu Hariri na amri tano za menyu ndogo: Ongeza dokezo, Futa ingizo, Ingiza kiingilio, Badilisha ingizo, Jedwali wazi.
Chaguo 1.
Tangaza aina maalum ya data ya jedwali la "Gari" (Jedwali 7.1) la hifadhidata ya "Huduma ya Gari".
gari |
gari |
malfunctions |
Mstari wa chini wa Jedwali 7.1 unaonyesha aina za uwanja.
Chaguo la 2.
Tangaza aina maalum ya data ya jedwali la "Hitilafu" (Jedwali 7.2) la hifadhidata ya "Huduma ya Gari".
malfunctions | Jina malfunctions | Bei |
Mstari wa chini wa Jedwali 7.2 unaonyesha aina za uwanja.
Kwa kutumia Mfano wa Maombi 7.1 kama kiolezo, panga uwekaji na uhariri wa data kwa jedwali lililoonyeshwa, kuandika data hiyo kwa faili ya ufikiaji nasibu, na kusoma data kutoka kwa faili ya ufikiaji bila mpangilio. Kama katika mfano 7.1, vitendo hivi vinatekelezwa kama utendakazi wa amri za menyu zilizoonyeshwa kwenye Mtini. 7.1.
Jukumu la 2. Wakati wa zoezi hilo, wanafunzi huongeza vipengele vipya kwa mfano programu 2 ambayo huruhusu programu kutazamwa kama kihariri rahisi cha maandishi.
Chaguo 1 KawaidaMazungumzo kutekeleza amri za menyu Fonti Na Rangi(na menyu ndogo Rangi ya tabia Na Rangi ya usuli) Kwa kutumia amri hizi, unapaswa kuwa na uwezo wa kuchagua font (jina lake, mtindo na ukubwa) kwa kipande cha maandishi kilichochaguliwa kwenye dirisha. TajiriKisanduku cha maandishi, pamoja na kuchagua rangi ya wahusika wa kipande kilichochaguliwa na kuchagua rangi ya asili ya dirisha zima.
Kumbuka: Wakati wa kuanzisha kitu KawaidaMazungumzo Ili kuchagua fonti kwa kutumia sifa ya (Custom), hakikisha umeweka thamani ya kipengele cha Bendera kuwa 1, 2 au 3 (ona mwongozo, ukurasa wa 183).
Chaguo la 2. Kutumia udhibiti KawaidaMazungumzo kutekeleza amri za menyu Hariri(menu ndogo Nakili, Kata Na Bandika), madhumuni yake ni kunakili au ufutaji kwa clipboard ya kipande cha maandishi kilichochaguliwa, na pia ingiza kwa eneo la maandishi lililochaguliwa la yaliyomo kwenye ubao wa kunakili.
Kumbuka: Kwa ubao wa kunakili (kitu Ubao wa kunakili) unaweza kutumia njia za SetText na GetText:
Ubao wa kunakili. SetText RichTextBox1.SelText
RichTextBox1.SelText = Ubao wa kunakili. GetText