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ä.

Windows

Työ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

  1. Kuinka voit tallentaa tietoja pitkällä aikavälillä?
  2. Mikä on tiedosto?
  3. Mitä tiedostonimiä tiedät?
  4. Anna "Open"-operaattorin syntaksi. Selitä sen parametrien tarkoitus.
  5. Kuinka useat sovellukset voivat jakaa pääsyn yhteen tiedostoon samanaikaisesti?
  6. Kuinka määrittää, että tiedoston tiedot ovat lopussa?
  7. Miksi se on suositeltavaa sulkea tiedoston käsittelyn jälkeen?
  8. Mitä eroa näet teksti- ja binääritiedostotilojen välillä?
  9. Miten dataa luetaan ja kirjoitetaan tekstitiedostotilassa?
  10. Kuinka tietoja luetaan ja kirjoitetaan binääritiedostotilassa?
  11. Mitä eroa on "Tulosta"- ja "Kirjoita"-operaattoreiden välillä, kun työskentelet tiedostojen kanssa?
  12. Mitä eroa on "Input"- ja "Line Input"-operaattoreiden välillä, kun työskentelet tiedostojen kanssa?
  13. Kuinka voit työskennellä graafisten tietojen kanssa?
  14. Mitkä ovat Windowsin rekisterin käytön perusperiaatteet?



Yläosa