Vb - fájlok kezelése

Egy másik régi cikkem a Visual Basic 6.0 szövegfájljaival való együttműködésben.

Ez a cikk arról szól, hogy a Visual Basic segítségével szövegfájlokkal dolgozik.







Fájlleíró

A fájlok kezeléséhez az operációs rendszer I / O csatornákat használ, pl. minden megnyitott fájl saját számmal rendelkezik.

A Visual Basicben van egy FreeFile függvény. amely visszaadja a szabad csatorna számát, amellyel a fájlban dolgozni tud. Ha nincsenek szabad csatornák, akkor hiba lép fel.

RangeNumber -neobyazatelny paraméter, amely lehetővé teszi, hogy meghatározzuk az értéktartomány álló csatornák, ha RangeNumber = 0 (alapértelmezett), majd visszatér a csatorna számot a tartomány 1-255, és ha az 1, akkor a tartomány 256-511.

MyFile = FreeFile "A MyFile változó ingyenes csatornát kap, és most már használható a fájlok kezelésére

A szöveges fájlok kezelése

Leggyakrabban meg kell felelnie a szöveges fájloknak. A szövegfájlok ASCII karakterekből (American Standard Code for Information Interchange) állnak.

Mielőtt elkezdené írni / olvasni az adatokat, a fájlt megnyitni kell, ezt az operátor Open (FileName) segítségével végzi. A [Input | Kimenet | Append] mint # FileNumber. ahol:

Bemenet - nyissa meg a fájlt az olvasáshoz, ha a fájl nem létezik, akkor hiba történik;

Kimenet - az íráshoz, ha a fájl nem létezik, létrejön, és ha a fájl létezik, felülíródik;

Hozzáadás - hozzáadásához, ha a fájl nem létezik, akkor létrejön, és ha létezik a fájl, akkor az adatok a fájl végéhez csatolódnak.

Például, ha egy fájlt az első sorban akar olvasni az S változóba, a kód a következő lesz:

Dim MyFile 'Változó megadása szabad fájlhoz

Dim S mint karakterlánc 'Változó olvasási adatok tárolására

MyFile = FreeFile 'Hozzon létre egy ingyenes csatornát a fájlok kezeléséhez

Nyissa meg ("C: TEST.txt") A bemenetként, mint #MyFile "Nyissa meg a TEST.TXT fájlt az olvasáshoz

Line Input #MyFile, S 'Olvassa el a TEST.TXT fájlból az első sort az S változóba

Close #MyFile 'Zárja be a fájlt

Ha például nem az első, hanem az ötödik sort kell számolni, akkor a kód kicsit más lesz:

Dim MyFile 'Változó megadása szabad fájlhoz

Dim i mint egész szám 'Változó a hurok számára

Dim tS As String 'Változó karakterek olvasásához







Dim S mint karakterlánc 'Változó a végleges adatok tárolásához

MyFile = FreeFile 'Hozzon létre egy ingyenes csatornát a fájlok kezeléséhez

Nyissa meg ("C: TEST.txt") A bemenetként, mint #MyFile "Nyissa meg a TEST.TXT fájlt az olvasáshoz

Line Input #MyFile, tS 'Olvassa el a TEST.TXT fájlt soronként

Ha i => 5 akkor S = tS 'Ha az ötödik sort, akkor az S változóban tároljuk

Close #MyFile 'Zárja be a fájlt

És ha el kell olvasnia az összes adatot a fájlból, akkor:

Dim MyFile 'Változó megadása szabad fájlhoz

Dim S mint karakterlánc 'Változó olvasási adatok tárolására

MyFile = FreeFile 'Hozzon létre egy ingyenes csatornát a fájlok kezeléséhez

Nyissa meg ("C: TEST.txt") A bemenetként, mint #MyFile "Nyissa meg a TEST.TXT fájlt az olvasáshoz

S = Bevitel $ (LOG (1), 1) 'Olvassa el a teljes fájlt az S változóba

Close #MyFile 'Zárja be a fájlt

Fájlba írásához léteznek operátorok Print # FileNumber. Adatok és írási # fájlszám. Adat. Ami megkülönbözteti ezeket az operátorokat, az Ír írja az adatokat idézőjelben, és a Nyomtatás idézőjelek nélkül.

Az alábbiakban a következő kód hoz létre egy új TEST.TXT fájlt a C: meghajtóban, és írjon két sort, az első idézőjelek nélkül, a második idézőjelek:

Dim MyFile 'Változó megadása szabad fájlhoz

MyFile = FreeFile 'Hozzon létre egy ingyenes csatornát a fájlok kezeléséhez

Nyílt ("C: TEST.txt") Kimenetként, mint #MyFile 'Nyissa meg a TEST.TXT fájlt az íráshoz

Nyomtassa ki a #MyFile fájlt, "Ezt a sort írja a Print utasítás, idézőjelek nélkül ..."

Írj #MyFile-t, "Ez a sor az írási utasítás által íródik, idézőjelben van ..."

Close #MyFile 'Zárja be a fájlt

Ez minden. Mint valószínűleg már értette, a Bezárás kifejezés a fájl lezárására szolgál. Ebben az esetben a # FileNumber opcionális.

használhatja ezt a kódot, ha hozzáfűzi a szöveget a fájl végéhez, és nem törli az előzőt, és a megadottat írja?

Ehhez hozzá kell használnia az Append függvényt:

Dim MyFile olyan hosszú ideig
MyFile = FreeFile
Nyissa meg ("C: TEST.txt") A hozzáillesztéshez: #MyFile
Nyomtassa ki #MyFile, "test1"
Írj #MyFile, "test2"
Zárja be a #MyFile fájlt

Dim MyFile olyan hosszú ideig
MyFile = FreeFile
Nyissa meg ("C: TEST.txt") A hozzáillesztéshez: #MyFile
Nyomtassa ki #MyFile, "Hello"; vbNewLine; "Hello"
Zárja be a #MyFile fájlt


ez a kód két sorban írja a "Hello" szót, de ha hosszú kódot ír (sok új bekezdést kell tennie), akkor a szöveg nem csökken! tudom áthelyezni a kódot 2 sorra?

Nyomtassa ki #MyFile, "Hello1"
Nyomtassa ki #MyFile, "Hello2"
Nyomtassa ki #MyFile, "Hello3"
Nyomtassa ki #MyFile, "Hello4"
Nyomtassa ki #MyFile, "Hello5"
Nyomtassa ki #MyFile, "Hello6"
Nyomtassa ki #MyFile, "Hello7"
vagy vegyen egy TextBox-ot, amelynek Multiline tulajdonsága True:
Nyomtasson #MyFile, TextBox1.Text

Hello Alexey!
Nekem van ilyen kérdésem.
A feladat ez.
Ezt a szöveget meg kell osztani a szavakkal.
Például: Üdvözlöm az oldalamon.
A programnak kimenetelnie kell:

Üdvözöljük
a
én
oldalon.

Köszönjük, hogy segít nekünk.

Dim i mint egész
Dim arr ()
arr = Split ("Üdvözli az oldalam.")

I = 0-hoz UBound (arr) - 1
Nyomtatási eredmény (i)
Következő i

teljesen elfelejtettem, a Split funkció még mindig a második paramétert veszi fel, amely az átirányító jelet jelzi, például:

Dim arr ()
arr = Split ("Predved, medve!", "d")


a megadott példa visszaad egy tömböt:

Van egy ilyen kérdésem.

Hozzáadhatom a szöveget a fájl végéhez (például * .exe-ben)
megnyitva egy jegyzetfüzet segítségével a szövegem látható a végén.
Hogyan törölheti a szöveget (a fájl végén), anélkül, hogy megölné a végrehajtható fájlt.
Hányan nem próbálkoztak, az alkalmazás megszakad. (




Kapcsolódó cikkek