Tiedostojärjestelmä luettelon muodossa vb6:ssa. Tekstitiedostoon lukeminen ja kirjoittaminen
Jokaisen ohjelman on tallennettava tiedot levylle ja luettava ne levyltä. Tämä on tarpeen esimerkiksi ohjelman asetusten tallentamiseksi; käyttäjä ei todennäköisesti pidä ohjelmasta, joka on määritettävä uudelleen, kun se seuraavan kerran käynnistetään.
Tässä artikkelissa puhumme tekstitiedostojen käsittelystä Visual Basicin avulla.
Tiedoston kuvaus
Työskentely tiedostojen kanssa käyttöjärjestelmä käyttää I/O-kanavia, ts. joka avaa tiedosto on oma numeronsa.
Visual Basicissa on toiminto Ilmainen tiedosto, joka palauttaa sen ilmaisen kanavan numeron, jota voidaan käyttää tiedoston käsittelyyn. Jos vapaita kanavia ei ole, tapahtuu virhe.
Ilmainen tiedosto[(RangeNumber) ]
RangeNumber-valinnainen parametri, jonka avulla voit määrittää ilmaisten kanavien arvoalueen, jos RangeNumber= 0 (oletus), niin kanavanumero palautetaan alueelta 1 - 255, ja jos 1, niin alueelta 256 - 511.
MyFile = Ilmainen tiedosto "MyFile-muuttujalle on määritetty ilmainen kanava, ja sitä voidaan nyt käyttää tiedostojen käsittelyyn
Työskentely tekstitiedostojen kanssa
Useimmiten kohtaat tekstitiedostoja. Tekstitiedostot koostuvat ASCII-merkistöstä (American Standard Code for Information Interchange).
Ennen kuin aloitat tietojen kirjoittamisen/lukemisen, tiedosto on avattava; tämä tehdään operaattorilla Avaa (Tiedoston nimi) As #Tiedoston numero, Missä:
Syöte- avaa tiedosto lukemista varten, jos tiedostoa ei ole, tapahtuu virhe;
Lähtö- kirjoittamista varten, jos tiedostoa ei ole olemassa, se luodaan, ja jos tiedosto on olemassa, se korvataan;
Liitä- lisätäksesi, jos tiedostoa ei ole, se luodaan, ja jos tiedosto on olemassa, tiedot lisätään tiedoston loppuun.
Tekstitiedostojen lukeminen voidaan tehdä kahdella tavalla: lue merkki merkiltä, käytä tähän toimintoa Input(Luettujen_merkkien_määrä, #Tiedoston numero) ja rivi riviltä, funktiota käytetään tähän Rivisyöttö #Tiedoston numero, Mistä_ lukea.
Himmeä MyFile
Dim S As String "Muuttuja luetun tiedon tallentamista varten
MyFile = Ilmainen tiedosto
Open("C:\TEST.txt") syötettäväksi #MyFile
Rivisyöttö #MyFile, S "Lue ensimmäinen rivi tiedostosta TEST.TXT muuttujaan S
Himmeä MyFile "Ilmoita muuttuja ilmaiselle tiedostolle
Dim i Kokonaislukuna "Muuttuja silmukalle
Dim tS As String "Muuttuja merkkijonojen lukemista varten
Dim S As String "Muuttuja lopullisten tietojen tallentamista varten
MyFile = Ilmainen tiedosto "Ilmaisen kanavan määrittäminen tiedostojen käsittelyä varten
"Avaa tiedosto TEST.TXT lukemista varten
Jos i = 1 - 5
Rivisyöttö #MyFile, tS "Luetaan tiedosto TEST.TXT rivi riviltä
Jos i => 5, niin S = tS "Jos viides rivi, tallenna se muuttujaan S
Seuraavaksi minä
Sulje #MyFile "Sulje tiedosto
Dim MyFile "Ilmoita muuttuja ilmaiselle tiedostolle
Dim S As String "Muuttuja luetun tiedon tallentamiseen
MyFile = Ilmainen tiedosto "Ilmaisen kanavan määrittäminen tiedostojen käsittelyä varten
Open("C:\TEST.txt") syötettäväksi #MyFile "Avaa tiedosto TEST.TXT lukemista varten
S = syöte$(LOG(1), 1) "Lue koko tiedosto muuttujaan S
Sulje #MyFile "Sulje tiedosto
Tiedostoon kirjoittamista varten on operaattoreita Tulosta#Tiedoston numero, Data Ja Kirjoita #Tiedoston numero, Data. Ainoa ero näiden operaattoreiden välillä on se Kirjoittaa kirjoittaa tiedot lainausmerkeissä ja Tulosta ilman lainausmerkkejä.
Alla seuraava koodi luodaan asemaan C:\ uusi tiedosto TEST.TXT ja kirjoita siihen kaksi riviä, ensimmäinen ilman lainausmerkkejä ja toinen lainausmerkeissä:
Himmeä MyFile "Ilmoita muuttuja ilmaiselle tiedostolle
MyFile = Ilmainen tiedosto "Ilmaisen kanavan määrittäminen tiedostojen käsittelyä varten
Open("C:\TEST.txt") tulostettavaksi #Oma tiedosto "Avaa tiedosto TEST.TXT kirjoittamista varten
Tulosta #MyFile, "Tämän rivin on kirjoittanut Print-operaattori, se on ilman lainausmerkkejä..."
Kirjoita #MyFile: "Tämän rivin on kirjoittanut Write-operaattori, se on lainausmerkeissä..."
Sulje #MyFile "Sulje tiedosto
Siinä kaikki. Kuten luultavasti jo ymmärsit, operaattoria käytetään tiedoston sulkemiseen Kiinni #Tiedoston numero, jossa, # Tiedoston numero ei ole tarpeen ilmoittaa.
Artikkeli on hieman karkea, mutta siitä on hyötyä aloitteleville ohjelmoijille. Seuraavan kerran puhun binääritiedostojen kanssa työskentelystä.
WindowsTyön tavoite: VB 6 -kielioperaattoreiden oppiminen ja käyttö tiedostojen käsittelyssä erilaisia tyyppejä: peräkkäiset (teksti)tiedostot, hajasaantitiedostot, binaaritiedostot. Työkalun tutkimus ja käyttö YleistäDialogi tiedostojen avaamiseen ja tallentamiseen, fontin ja värin valitsemiseen sekä objektin käyttöön Leikepöytä tekstinpalasten tallentamiseen käyttämällä esimerkkiä yksinkertaisen tekstieditorin luomisesta.
Kontrollikysymykset:
1. Millä tavoin voit avata tekstitiedoston? Kuinka sulkea teksti tai mikä tahansa muu avoin tiedosto?
2. Miten tiedot kirjoitetaan tekstitiedostoon, joka on avoinna kirjoittamista varten? Mitä eroa on Write- ja Print-lausekkeilla?
3. Miten tiedot luetaan avoimesta tekstitiedostosta? Miten Input- ja Line Input -operaattorit eroavat toisistaan? Millä funktiolla voidaan lukea tietty määrä merkkejä tiedostosta? Kuinka lukea tiedoston kaikki merkit?
4. Mikä on mukautettu tyyppi tiedot ja kuinka tätä käsitettä käytetään työskenneltäessä hajasaantitiedostojen kanssa ( raf)?
5. Mitä operaattoreita tiedostosta käytetään raf tietueet luetaan myös tiedostoon raf Kirjoitetaanko uusia merkintöjä?
6. Mihin tarkoitukseen indeksi määritetään ja sitä käytetään tiedoston kanssa työskennellessä? raf?
7. Mitä ominaisuuksia binääritiedostojen käytössä on? Miten ne avautuvat? Miten binääritiedostosta lukeminen ja binääritiedostoon kirjoittaminen tapahtuu?
8. Säätimen käyttö YleistäDialogi ladata tekstitiedoston sisällön tekstikenttään? Kuinka voin käyttää samaa ohjausobjektia muokatun tekstin tallentamiseen tekstitiedostoon?
9. Säätimen käyttö YleistäDialogi ladataksesi tiedoston sisältöä rtf kentällä RikasTekstilaatikko? Kuinka käyttää samaa säädintä muokatun tekstin tallentamiseen tiedostoon rtf?
10. Säätimen käyttö YleistäDialogi muuttaaksesi fonttiparametrien arvoja ja muuttaaksesi tekstin väriä ikkunassa Tekstilaatikko(tai valittua tekstiä ikkunassa RikasTekstilaatikko)?
Esimerkki 7.1. Harkitse sovellusta, joka osoittaa kirjoittamisen tekstitiedostoon (ja lukemisen tekstitiedostosta) "työntekijätiedot" - rivit, joista jokainen sisältää työntekijän tunnusnumeron, koko nimen, syntymäajan ja syntymäpaikan. Rivit muodostavat taulukon, joka näytön muoto simuloi 4 Combo Box -säädintä (Kuva 7.1), jotka muodostavat joukon Comb(i)-objekteja, joiden Style-ominaisuuden arvo on 1 – SimpleCombo.
Valitse poistettava rivi", vbExclamation
Comb(j).RemoveItem i
'Lisää uusi merkintä pöytään:
Yksityinen Sub mnuInsert_Click()
i% = kampa(0).ListIndex
Jos minä< 0 Then
MsgBox "Korosta ennen sitä lisättävä rivi", vbHuuto
Comb(0).AddItem InputBox("Anna numero"), eli
Comb(1).AddItem InputBox("Anna nimesi"), eli
Comb(2).AddItem InputBox("Anna syntymäpäiväsi."), ts
Comb(3).AddItem InputBox("Anna syntymäpaikka."), eli
"Taulukkomerkinnän muuttaminen:
Yksityinen Sub mnuUpdate_Click()
i% = kampa(0).ListIndex
Jos minä< 0 Then
MsgBox "Korosta muokattava rivi", vbExclamation
Kampa(0).Lista(i) = InputBox("Anna numero", Kampa(0).Lista(i))
Comb(1).List(i) = InputBox("Anna nimesi", Comb(1).List(i))
Comb(2).List(i) = InputBox("Anna syntymäpäiväsi.", Comb(2).List(i))
Comb(3).List(i) = InputBox("Anna syntymäpaikka.", Comb(3).List(i))
' Koko taulukon tyhjennys:
Yksityinen Sub mnuClear_Click()
' Taulukon täyttäminen tiedoilla tekstitiedostosta:
Yksityinen Sub mnuLoad_Click()
Avaa "person. txt" syötettäväksi nimellä #1
Syöte #1, numb, fio, bdate, bloc
Comb(0).AddItem numb
Kampa(1).AddItem fio
Comb(2).AddItem bdate
Comb(3).AddItem lohko
' Taulukon tietojen kirjoittaminen tekstitiedostoon:
Yksityinen Sub mnuSave_Click()
N% = kampa(0).ListCount
Avaa "person. txt" tulostettavaksi nimellä #1
Jos i = 0 - N - 1
numb = Val(kamp(0).Lista(i))
fio = Kampa(1).Lista(i)
bdate = CDate(Comb(2).List(i))
bloc = kampa(3).Lista(i)
Kirjoita #1, numb, fio, bdate, bloc
"Sovelluksen sulkeminen:
Yksityinen Sub mnuExit_Click()
Esimerkki 7.2 . Harkitse sovellusta, joka esittelee säätimien käyttöä YleistäDialogi Voit avata ja tallentaa tiedoston, valita fontin ja värin sekä muokata tekstiä.
Tiedosto muoto TXT ladataan tekstikenttään (vasen kenttä kuvassa 7.2) ja tiedostomuoto RTF-kentällä RikasTekstilaatikko(oikea marginaali kuvassa 7.2).
esine
Luokka
esine
Omaisuus
esine
Omaisuuden arvo
"Yleiset paneelit
dialogi"
Avaa/Tallenna nimellä -välilehti
Fontti-välilehti
Väri-välilehti
Taulukko ei näytä valikkokomentojen ominaisuuksia Fontti, Väri Ja Muokata. Alla on myös vain valikkokomentojen menettelykoodi Tiedosto (Avata, Tallentaa Ja TallentaaKuten). Koodin laatiminen muille valikkokomentoille on tämän työn 2. tehtävän aihe.
Yksityinen Sub mnuOpen_Click()
CommonDialog1.ShowOpen
F$ = CommonDialog1.FileName
Jos Oikea(F, 3) = "rtf" Sitten
RichTextBox1.LoadFile F
ElseIf Right(F, 3) = "txt" Sitten
Avaa F syöttääksesi numeron 1
S$ = syöte (N, 1)
Yksityinen Sub mnuSave_Click()
CommonDialog1.ShowSave
F$ = CommonDialog1.FileName
Yksityinen Sub mnuSaveAs_Click()
CommonDialog1.ShowSave
F$ = CommonDialog1.FileName
RichTextBox1.SaveFile F, rtfRTF
Tämän työn aikana opiskelijan tulee suorittaa 2 tehtävää.
Harjoitus 1. Tehtävän suorittamisen aikana opiskelijat hallitsevat VB 6:ssa käytettävissä olevat ominaisuudet, joiden avulla voit työskennellä hajasaantitiedostojen kanssa ( RAFsatunnainenpääsytiedosto).
Tietylle tietokantataulukolle ilmoitetaan käyttäjän tietotyyppi, tämän tyyppinen muuttuja (opetusohjelma, s. 108–112), käyttäjätyypin muuttujaa käyttävät toiminnot käännetään ja tehdään virheenkorjaus.
Erityisesti toteutetaan valikkokomentojen proseduurit Kirjoita tiedostoonRAF Ja Lue tiedostostaRAF. Kuten esimerkissä 7.1, datan muokkaamiseen käytetään objektijoukkoa YhdistelmäLaatikko ja menu Muokata viidellä alivalikkokomennolla: Lisää merkintä, Poista merkintä, Lisää merkintä, Muokkaa merkintää, Selkeä pöytä.
Vaihtoehto 1.
Ilmoita mukautettu tietotyyppi "Car Service" -tietokannan "Car"-taulukolle (taulukko 7.1).
auto |
auto |
toimintahäiriöitä |
Taulukon 7.1 alimmalla rivillä näkyy kenttätyypit.
Vaihtoehto 2.
Ilmoita mukautettu tietotyyppi ”Autohuolto”-tietokannan ”Viat”-taulukolle (taulukko 7.2).
toimintahäiriöitä | Nimi toimintahäiriöitä | Hinta |
Taulukon 7.2 alimmalla rivillä näkyy kenttätyypit.
Käytä esimerkkisovellusta 7.1 mallina, järjestä näytetyn taulukon tietojen syöttäminen ja muokkaaminen, kirjoita tiedot hajasaantitiedostoon ja lue tiedot hajasaantitiedostosta. Kuten esimerkissä 7.1, nämä toiminnot toteutetaan kuvassa 1 esitettyjen valikkokomentojen toimintana. 7.1.
Tehtävä 2. Opiskelijat lisäävät harjoituksen aikana esimerkkisovellukseen 2 uusia ominaisuuksia, joiden avulla sovellusta voi tarkastella yksinkertaisena tekstieditorina.
Vaihtoehto 1 YleistäDialogi toteuttaa valikkokomentoja Fontti Ja Väri(alivalikon kanssa Hahmon väri Ja Taustaväri). Näitä komentoja käyttämällä sinun pitäisi pystyä valitsemaan fontti (sen nimi, tyyli ja koko) valitulle tekstikappaleelle ikkunassa RikasTekstilaatikko, sekä valita valitun fragmentin merkkien väri ja valita koko ikkunan taustaväri.
Huomautus: Kun asennat objektia YleistäDialogi Jos haluat valita fontin (Custom) -ominaisuuden avulla, muista asettaa Flags-ominaisuuden arvoksi 1, 2 tai 3 (katso käsikirja, sivu 183).
Vaihtoehto 2. Ohjaimen käyttäminen YleistäDialogi toteuttaa valikkokomentoja Muokata(alavalikko Kopio, Leikata Ja Liitä), jonka tarkoitus on kopioiminen tai poisto valitun tekstikappaleen leikepöydälle ja myös lisää leikepöydän sisällön valitulle tekstialueelle.
Huomautus: Leikepöydälle (objekti Leikepöytä) voit käyttää SetText- ja GetText-menetelmiä:
Leikepöytä. SetText RichTextBox1.SelText
RichTextBox1.SelText = Leikepöytä. GetText
8. TIETOJEN TALLENNUS JA LUKEMINEN
Jotta kaikki muistiin luodut tiedot eivät katoa ohjelman päätyttyä, sinun on voitava tallentaa tiedot kiintolevyllesi. Muuten kaikki tiedot katoavat jälkiä jättämättä. Tietoja voidaan tallentaa ja lukea monin eri tavoin. Voit käsitellä erikokoisia ja -muotoisia tietoja käyttämällä binääri- ja tekstitiedostoja. Voit tallentaa pieniä määriä tietoja käyttämällä Windowsin rekisteriä. Ja monimutkaisimpiin tehtäviin on viisasta käyttää tietokantoja.
8.1. Tiedostojen avaaminen operaattorilla "Avaa »
Tiedosto on minkä tahansa ulkoisen tallennuslaitteen nimetty alue. Tiedot "elävät" tietokoneen muistissa ja tiedostot kiintolevyllä. Ohjelma ei toimi tiedostojen kanssa suoraan, vaan käyttää käyttöjärjestelmää välittäjänä.
Tiedostonimiä on kahta tyyppiä: täysi - tiedostonimen lisäksi ilmoitetaan myös tiedoston sijainti ulkoisella tietovälineellä (esim. “C:\Program Files\Microsoft Visual Studio\VB98\VB 6.EXE” ) ja lyhyt - vain tiedoston nimi (VB 6.EXE ). Jos tiedoston sijaintia ei ole määritetty, sitä etsitään nykyisestä kansiosta, oletusarvoisesti kansiosta, jossa sovelluksesi sijaitsee. Tiedoston välitön nimi koostuu kahdesta osasta: todellisesta yksilöllisestä tiedostonimestä ja sen tunnisteesta. Nimi itsessään identifioi tiedoston, ja pääte ilmaisee yleensä tiedostomuodon tai ohjelman, jonka se on luonut.
Ennen kuin alat käsitellä tiedostoa, sinun on kysyttävä käyttöjärjestelmästä osoitin (kuvaaja) tiedosto. Hanki se käyttämällä "FreeFile" -toimintoa. Sitten "Open"-operaattorilla tämä osoitin liitetään vaadittuun tiedostoon. Vasta tämän jälkeen ohjelma voi toimia sen kanssa. Tiedoston avaamisen syntaksi on seuraava:
Hanki ilmainen tiedostoosoitin ja liitä se muuttujaan
FileHandle% = Ilmainen tiedosto
"avaa tiedosto
Avaa FilePath_
Kuten [#]FileHandle%
...(tiedoston kanssa työskentely)
Sulje [#]FileHandle
· FileHandle % – muuttuja, joka tallentaa tiedostoosoittimen;
· FreeFile – funktion nimi, joka palauttaa tiedostoosoittimen;
· Open – operaattorin nimi;
· FilePath – koko tiedoston nimi;
· For – avainsana, jota seuraa tiedoston käyttötilan kuvaus;
· Mode – tiedostojen käyttötila (katso Taulukko 15);
Taulukko 15
Tiedostojen käyttötavat
Pääsytilat |
Kuvaus |
Liitä |
Tietojen lisääminen olemassa olevan tekstitiedoston loppuun. Jos tiedostoa ei ole olemassa, se luodaan |
Binääri |
Tiedoston avaaminen binääritilassa, ts. tavujoukona. Jos tiedostoa ei ole olemassa, mutta se luodaan |
Syöte |
Tiedoston avaaminen tekstimuodossa luettavaksi |
Lähtö |
Avaa tiedosto kirjoittaaksesi tekstitiedoston. Tässä tapauksessa kaikki vanhat tiedot poistetaan. Jos tiedostoa ei ole olemassa, mutta se luodaan |
Satunnainen |
Tiedoston avaaminen satunnaiskäyttötilassa. Tätä tilaa käytetään yksinkertaisten tietueiden käsittelyyn. Jos tiedostoa ei ole olemassa, mutta se luodaan |
· Access – valinnainen avainsana, jota seuraa käyttöoikeustyypin kuvaus;
· AccessType – käyttöoikeustyypin kuvaus:
· Lue – lukeminen;
· Kirjoita - tallenna;
· Lue Kirjoita – lukeminen ja kirjoittaminen.
Huomautus |
Append- ja Output-käyttötiloissa vain kirjoituspääsytyyppi on käytettävissä, tulo-vain luku-tilassa ja binääri- ja satunnaiskäyttötiloissa kaikki kolme pääsytyyppiä ovat käytettävissä. |
· LockType on valinnainen parametri, joka määrittää, voivatko muut ohjelmat käyttää tätä tiedostoa, kun ohjelmasi työskentelee sen kanssa. Se liittyy yleensä verkossa työskentelemiseen (katso taulukko 16).
Taulukko 16
LockType-parametrin mahdolliset arvot
Merkitys |
Kuvaus |
Jaettu |
Kaikilla käyttäjillä, joilla on tarvittavat oikeudet, on täysi pääsy tiedostoon |
Lukitse Luku |
Tiedoston lukeminen on estetty, mutta kirjoittaminen sallittu |
Lukitse kirjoitus |
Kirjoittaminen tiedostoon on estetty, mutta lukeminen on sallittu |
Lukitse Kirjoitus |
Sekä sen lukeminen että kirjoittaminen on kiellettyä |
· Kuten avainsana, jota seuraa tiedostoosoitin.
· # on symboli, joka osoittaa, että sitä seuraava arvo on tiedostoosoitin.
· Len on valinnainen avainsana, jonka jälkeen on oltava parametri, joka määrittää merkinnän pituuden.
· CharInBuffer % - satunnaiskäyttötilassa (Random) avatun tiedoston tietueen pituus.
· Close on käsky, joka sulkee määritettyyn kahvaan liittyvän tiedoston.
On tärkeää sulkea tiedosto, kun olet lopettanut sen käsittelyn. "Sulje"-käsky vapauttaa tiedostoosoittimen ja siihen liittyvän muistialueen.
Kun työskentelet tiedoston kanssa, eli luet siitä, tiedoston lopun määrittäminen on erittäin tärkeää. Se voidaan määrittää käyttämällä EOF (End Of File) -toimintoa:
EOF (FileHandle)
· EOF – funktion nimi;
· FileHandle on osoitin tiedostoon, jonka loppua määritetään.
Funktio palauttaa True, jos tiedoston loppu saavutetaan, muussa tapauksessa palauttaa False.
8.2. Tekstitiedostoon lukeminen ja kirjoittaminen
Tekstitiedosto avataan käyttötilassa “Input”, “Output” tai “Append” (katso Taulukko 15). Tämän tilan erikoisuus on, että se toimii vain tiettyjen tulostettavien merkkien kanssa. Palvelusymbolien kanssa työskentely on turhaa.
Käytä tietojen tallentamiseen kahta operaattoria "Print" ja "Write", joiden syntaksi on seuraava:
Tulosta #FileHandle%, VarBuffer [;]
Kirjoita #FileHandle%, VarBuffer [;]
· Tulosta / Kirjoita – operaattorin avainsanat.
· #FileHandle % - osoitin tiedostoon, johon tiedot sijoitetaan.
· VarBuffer – arvo, joka kirjoitetaan tiedostoon.
· ; – valinnainen parametri, jota käytetään tekstitiedostoon kirjoitettaessa, tarkoittaa, että seuraava arvo kirjoitetaan samalle riville ja jos se puuttuu, seuraavalle.
Jos haluat lukea tietoja tiedostosta, käytä "Input"- ja "Line Input"-operaattoreita. Syntaksi on samanlainen kuin toinen:
Rivisyöttö #FileHandle%, VarBuffer
Syötä #FileHandle%, VarBuffer
· Line Input / Input – operaattorin avainsanat.
· #FileHandle % - osoitin tiedostoon, josta tiedot luetaan.
· VarBuffer – muuttuja, johon tiedot luetaan.
Ero "Line Input"- ja "Input" -operaattoreiden välillä on, että ensimmäinen on tarkoitettu vain tekstitiedostoille ja toinen - mille tahansa. Tekstitiedostojen tapauksessa "Input" lukee tiedot yhdeltä riviltä ensimmäiseen erottimeen asti (tekstidatalle erotin on "," (pilkku) ja numeerisissa tiedoissa - "" (välilyönti) ja ",") , ja "Line Input" lukee koko rivin kerralla jättäen huomioimatta erottimet.
Huomautus |
Visual Basicilla ei ole keinoja hallita aiemmin luotujen tiedostojen muotoa. Siksi symboli "2" voidaan lukea vastaavana numerona ja päinvastoin. |
8.3 Työskentely binääritiedostojen kanssa
Tiedostot avautuvat sisään binäärimuoto operaattori "Avaa" "Binaari"-tilassa. Tämän tilan erottuva piirre on, että tiedoston kanssa työskentely keskittyy yksinomaan tiettyihin tavuihin. Koska Visual Basic voi osoittaa suoraan haluttuun paikkaan tiedostossa, tätä tilaa kutsutaan myös nimellä − suora käyttötila. Toinen tämän tilan ominaisuus on kyky kirjoittaa ja lukea tietoja samanaikaisesti tiedoston eri osiin avaamatta sitä uudelleen. Kirjoittaminen binääritilassa avattuun tiedostoon tapahtuu seuraavalla syntaksilla:
Laita #FileHandle%, , NameVar
· Laita – tiedontallennusoperaattorin nimi.
· RecNumber – sen tiedoston tavunumero, johon tiedot kirjoitetaan (valinnainen parametri).
· NameVar on muuttuja, jonka sisältö kirjoitetaan tiedostoon.
Tietojen lukeminen tiedostosta binääritilassa tapahtuu seuraavalla operaattorilla:
Hanki #FileHandle%, , NameVar
· Hanki – tietojen tallennusoperaattorin nimi.
· FileHandle % - tiedostokahva.
· RecNumber – tiedoston tavunumero, josta tiedot luetaan (valinnainen parametri).
· NameVar – sen muuttujan nimi, johon luetut tiedot sijoitetaan.
Koska binääritila keskittyy tietotavuihin, tiedostosta luettaessa puskurimuuttujalla on oltava tiukasti määritelty tyyppi: joko "tavu", jolloin luetaan tavun numeerinen arvo, tai kiinteän pituinen merkki. yhden merkin, silloin tavu luetaan merkiksi, ANSI , jonka koodi vastaa tavun kokoa. Tämä merkki voi olla jopa ohjausmerkki, jota ei voida saavuttaa tekstitiedostojen tapauksessa.
Huomautus |
Jos RecNumber-parametria ei ole, tiedot kirjoitetaan tai luetaan tiedoston seuraavassa tavussa sen tavun jälkeen, jonka kanssa sitä aiemmin käsiteltiin.
8.4 Grafiikka manipulointi
Voit myös tallentaa ja poimia graafisia kuvia tiedostoista. Voit poimia kuvan bittikartta- tai kuvaketiedostosta ja määrittää sen "PictureBox"- ja "Image"-säätimien "Picture"-ominaisuuteen käyttämällä "LoadPicture()"-toimintoa seuraavalla syntaksilla:
ImageCtrl.Picture = Lataa kuva (Tiedostopolku)
· ImageCtrl – kuvaikkunan ohjausobjektin, kuvan ohjausobjektin tai lomakkeen nimi;
· LoadPicture – funktion nimi;
· FilePath – tiedoston koko nimi.
SavePicture ImageCtrl .Picture, FilePath
· SavePicture – operaattorin nimi;
· ImageCtrl – kuvaikkunan ohjausobjektin, kuvan ohjausobjektin tai lomakkeen nimi;
· Kuva – kuvasta vastaavan kohteen omaisuuden nimi;
· FilePath – tiedoston koko nimi, joka osoittaa sen sijainnin levyllä.
8.5 Työskentely rekisterin tietojen kanssa
Windowsin rekisteriä voidaan käyttää pienten tietojen tallentamiseen merkkimuodossa. Visual Basicissa on neljä menettelyä, joiden avulla voit käyttää sitä. Ne ovat erittäin helppokäyttöisiä, mutta niissä on yksi päähaitta: voit käyttää tietoja vain tietystä rekisteriavaimesta: "MyComputer\HKEY_CURRENT_USER\Software\VB and VBA Program Settings". Päästäksesi muihin rekisterin osiin, sinun on käytettävä erityistoimintoja "Win 32 API".
Jotta saat asetuksen arvon Windowsin rekisterin Visual Basic -osasta, sinun on käytettävä seuraavaa toimintoa:
MyString = GetSetting(VBKeyName, Section, Key [,oletus])
· MyString – merkkijono, joka tallentaa funktion palauttaman arvon;
· GetSetting – funktion nimi.
· VBKeyName on merkkijonoarvo, joka on sisäisen VB/VBA-aliavaimen nimi.
· Avain on merkkijonoarvo, joka edustaa osiossa olevan parametrin nimeä.
· Oletus – valinnainen argumentti, jonka arvo palautetaan virheen sattuessa (parametri puuttuu).
Voit tallentaa arvon Windowsin rekisteriin käyttämällä seuraavaa käskyä:
SaveSetting VBKeyName, Section, Key, MyString
· SaveSetting – operaattorin nimi.
· MyString on merkkijonomuuttuja, johon löydetty arvo sijoitetaan.
Käytä seuraavaa toimintoa saadaksesi rekisteristä taulukon, joka sisältää kaikki parametriarvot tietystä aliavaimesta:
MyVariant = SetAllSettings(VBKeyName, Section)
· MyVariant on joukko "Variant"-tyyppisiä arvoja, jotka funktio palauttaa.
· SetAllSettings – funktion nimi.
· Osio – Merkkijonoarvo, joka edustaa tietyn sovelluksen osaa tai alaosaa.
Jos haluat poistaa koko parametriosan, käytä seuraavaa syntaksia sisältävää käskyä:
DeleteSetting VBKeyName, Section, Key
· DeleteSetting – operaattorin nimi.
Testikysymykset itsetestausta varten
- Kuinka voit tallentaa tietoja pitkällä aikavälillä?
- Mikä on tiedosto?
- Mitä tiedostonimiä tiedät?
- Anna "Open"-operaattorin syntaksi. Selitä sen parametrien tarkoitus.
- Kuinka useat sovellukset voivat jakaa pääsyn yhteen tiedostoon samanaikaisesti?
- Kuinka määrittää, että tiedoston tiedot ovat lopussa?
- Miksi se on suositeltavaa sulkea tiedoston käsittelyn jälkeen?
- Mitä eroa näet teksti- ja binääritiedostotilojen välillä?
- Miten dataa luetaan ja kirjoitetaan tekstitiedostotilassa?
- Kuinka tietoja luetaan ja kirjoitetaan binääritiedostotilassa?
- Mitä eroa on "Tulosta"- ja "Kirjoita"-operaattoreiden välillä, kun työskentelet tiedostojen kanssa?
- Mitä eroa on "Input"- ja "Line Input"-operaattoreiden välillä, kun työskentelet tiedostojen kanssa?
- Kuinka voit työskennellä graafisten tietojen kanssa?
- Mitkä ovat Windowsin rekisterin käytön perusperiaatteet?