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.