Vb - munka fájlokat

Tovább az én öreges kis cikket a témában a munka szöveges fájlok, Visual Basic 6.0 eszközöket.

Ebben a cikkben fogunk összpontosítani dolgozó szöveges fájlokat útján Visual Basic.

fájlleíróból

Együttműködik fájlokat az operációs rendszer bemeneti / kimeneti csatornák, vagyis a minden nyitott fájlt saját számát.

A Visual Basic, van egy funkciója FreeFile. amely visszaadja a szabad csatornák száma, hogy lehet használni, hogy működjön együtt a fájlt. Ha nincs szabad csatorna, hiba történik.

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 „változó myFile rendelt szabad csatornát, és most már lehet használni a dolgozó fájlok

Munka szöveges fájlok

A leggyakrabban találkozni szöveges fájlokat. Szöveges fájlok állnak az ASCII karakterkészlet (American Standard Code for Information Interchange - American Standard Code for Information Interchange).

Mielőtt elkezdi írni / olvasni az adatokat, akkor nyissa meg a fájlt, akkor történt a segítségével a kezelő Open (fájlnév) Az [Input | Nyomtató | Hozzáfűzése] A # FileNumber. ahol:

Input - megnyitni egy fájlt olvasásra, ha a fájl nem létezik, egy hiba lép fel;

Output - a rekord, ha a fájl nem létezik, akkor jön létre, és ha a fájl létezik, akkor felülírja;

Hozzáfűzése - felvenni, ha a fájl nem létezik, akkor létre, és ha a fájl létezik, akkor az adat hozzáadódik a fájl végéhez.

Például, ha azt kell megvizsgálni, az első sorban minden fájlt egy változó S, akkor a kód lenne:

Dim myFile „változót ingyen fájl

Dim S As String „változó tárolja a kiolvasott adatot

MyFile = FreeFile „Rendeljen ingyenes csatorna fájl

Nyitott ( „C: test.txt”) a bemeneti Mivel #MyFile „test.txt Fájl megnyitása olvasásra

Line Input #MyFile, S „beolvassa az első sorban a fájlt egy változó test.txt S

Bezár #MyFile „Zárja be a fájlt

Ha például, szükség van arra, hogy ne az első és az ötödik sorban, a kód egy kicsit más:

Dim myFile „változót ingyen fájl

Dim i As Integer „változó ciklus

Dim tS As String „változó olvasásra sorok

Dim S As String „változó, hogy tartsa a végleges adatok

MyFile = FreeFile „Rendeljen ingyenes csatorna fájl

Nyitott ( „C: test.txt”) a bemeneti Mivel #MyFile „test.txt Fájl megnyitása olvasásra

Line Input #MyFile, tS „Azt olvassuk a fájlt soronként test.txt

Ha i => 5 Ekkor S = tS „Ha az ötödik sorban, tárolja azt a változó S

Bezár #MyFile „Zárja be a fájlt

És ha ez szükséges, hogy olvassa el az összes adatot a fájl, akkor:

Dim myFile „változót ingyen fájl

Dim S As String „változó tárolja a kiolvasott adatot

MyFile = FreeFile „Rendeljen ingyenes csatorna fájl

Nyitott ( „C: test.txt”) a bemeneti Mivel #MyFile „test.txt Fájl megnyitása olvasásra

S = Input $ (LOG (1), 1) „olvasni az egész fájlt egy változó S

Bezár #MyFile „Zárja be a fájlt

Ahhoz, hogy fájlba rögzítéséhez, vannak szereplők Print # FileNumber. Adatok és írása # FileNumber. Adat. Különbözteti meg a gazdasági szereplők csak mi Írja adatot ír jegyzett és nem jegyzett Print.

Az alábbiakban a következő kód létrehoz egy C: meghajtó test.txt új fájlt és írd meg két sort, az első idézőjelek nélkül, és a második idézet:

Dim myFile „változót ingyen fájl

MyFile = FreeFile „Rendeljen ingyenes csatorna fájl

Nyitott ( „C: test.txt”) a nyomtatáshoz #MyFile „Nyissa meg a fájlt írásra test.txt

Nyomtatás #MyFile, „Ez a sor van írva Print operátor, akkor idézőjelek nélkül ...”

Írja #MyFile, „Ez a sor kerül rögzítésre Write üzemeltető idézte ...”

Bezár #MyFile „Zárja be a fájlt

Ez minden. Ahogy már megvalósult, az üzemeltető bezár # FileNumber zárja be a fájlt. ebben az esetben a # FileNumber opcionális.

Szia Alex,
A kérdésem az, lehet otkryvatsya bármilyen html fájlt, és kérjen konkrét szöveget, és ha naedet cserélni, amit akarunk?
Köszi előre.

A legegyszerűbb módja annak, hogy nyissa meg a fájlt, és ne cserélje ki.

Cserélje ( „data html-fájl”, „mit kell keresni”, „mit kell cserélni”)

Sajnáljuk, véleményem szerint, elmagyaráztam nemogla. Azt jelentette, hogy egy ilyen program VB, amely megnyitja a html fájl az egyik mappában lévő fájlok és felváltja a kívánt szöveget a mondat.

Úgy értem, létrehozva egy lágy alapján VB megnyitni html fájlokat a mappából, és keresi kért mondat, változtatni a szöveget, ahogy mi. Például több ezer html fájlokat a mappába.

Dim fájl As String
Dim útvonal As String
path = "C: * html." „set path
file = Dir (path) „első fájlt
Ne Bár nem file = „”
Read fájl
nyitott utat „” fájl For Input # 1
Dim fileData As String
FileData = bemenet (LOF (1), 1)
közel
„helyére
FileData = Cserélje (fileData, FindText, NewText)
„menteni
nyitott utat „” fájl a nyomtatáshoz # 1
Print # 1, fileData
közel
„Következő fájl
file = Dir ()
hurok

Köszönöm, Alex. De én mutatják a hiba:
Run-time error '52'
Rossz fájl nevét vagy számát

megnyomásakor hibakeresés
Ez azt mutatja, a vonal
nyitott utat „” fájl For Input # 1
mit kell tennem?

bár subfoldere C: / volt több html fájlokat

halvány f
F = FreeFile
nyitott utat „” fájlját bemenet #f

valami ehhez hasonló, már száz éve a VB-6,0 nincs programozva :)

Lehetséges, hogy nyissa meg a fájlt olvasásra egy bizonyos kódolás? azaz szövegfájlt utf-8 kódolást, ha nyitott és olvassa soronként, összhangban tükrözi néhány biliberdu, és ha fájl megnyitásához jegyzettömb, akkor minden rendben van!

szintaxis:
StrConv (String, Conversion [, nyelvi_azonosító])

Leírás:
A függvény egy karakterlánc átalakított meghatározott.

lehetőségek:
Húr - A string lehet átalakítani.

Konverzió - numerikus kifejezése, amely megadja, hogy milyen típusú átalakítás.

Nyelvi_azonosító - érték típusú Long, jelezve helyi azonosító.

„Garancia” Ez a funkció StrConv "
Debug.Print StrConv ( "a munka függvényében StrConv" _
vbProperCase)

vbFromUnicode - 128 - Unicode karaktereket átalakítják szimbólumai az alapértelmezett kódlap.

Kapcsolódó cikkek