Vb - lucru cu fișiere

Un alt micul meu articol oldish pe tema de lucru cu fișiere text, Visual Basic 6.0 instrumente.

În acest articol ne vom concentra pe lucrul cu fișiere text prin intermediul Visual Basic.

descriptor fișier

Pentru a lucra cu fișiere sistemul de operare utilizează canale de intrare / ieșire, de exemplu, fiecare fișier deschis are numărul său propriu.

În Visual Basic, există o funcție FreeFile. care returnează numărul de canale gratuite care pot fi folosite pentru a lucra cu fișierul. În cazul în care nu există canale libere, apare o eroare.

Parametrul RangeNumber -neobyazatelny care permite să se determine intervalul de valori de canale disponibile dacă RangeNumber = 0 (implicit), apoi revine la numărul canalului din intervalul 1 - 255, și dacă este 1, atunci intervalul 256-511.

FișierulMeu variabilă FișierulMeu = FreeFile“atribuit canal gratuit, iar acum poate fi folosit pentru lucrul cu fișiere

Lucrul cu fișiere text

Cel mai frecvent întâlni cu fișiere text. Fișierele text sunt compuse din setul de caractere ASCII (American Standard Code pentru schimbul de informații - American Standard Code pentru schimbul de informații).

Înainte de a începe să scrie / citi date, trebuie să deschideți fișierul, se face cu ajutorul operatorului Open-ul (numele fișierului) Pentru [intrare | ieşire | Append] Ca # FileNumber. în cazul în care:

De intrare - pentru a deschide un fișier pentru citire dacă fișierul nu există, apare o eroare;

Ieșire - pentru înregistrare, în cazul în care fișierul nu există, este creată și dacă fișierul există, este suprascrisă;

Append - pentru a adăuga dacă fișierul nu există va fi creat, iar dacă fișierul există, datele vor fi adăugate la sfârșitul fișierului.

De exemplu, în cazul în care este necesar să se ia în considerare prima linie a oricărui fișier într-un S variabilă, atunci codul ar fi:

FișierulMeu Dim „Declarați variabilă pentru fișiere gratuit

Dim S Ca variabilă String“pentru a stoca datele de citire

FișierulMeu = FreeFile „Asociați canal gratuit pentru fișier

Deschideți ( „C: test.txt“) Pentru intrare ca #MyFile „test.txt Deschideți fișierul pentru citire

Linia de intrare #MyFile, S „, se arată în prima linie a fișierului într-o variabilă test.txt S

Închide #MyFile „Închideți fișierul

Dacă, de exemplu, este necesar să se ia în considerare nu primul și al cincilea rând, codul este un pic diferit:

FișierulMeu Dim „Declarați variabilă pentru fișiere gratuit

Dim i ca variabilă Integer“pentru ciclul

tS Dim ca variabilă String“pentru rânduri de lectură

Dim S Ca variabilă String“să dețină datele finale

FișierulMeu = FreeFile „Asociați canal gratuit pentru fișier

Deschideți ( „C: test.txt“) Pentru intrare ca #MyFile „test.txt Deschideți fișierul pentru citire

Linia de intrare #MyFile, Ts „Am citit linia de fișiere de linie test.txt

Dacă i => 5 Atunci S = tS „În cazul în al cincilea rând, stocarea acestuia în variabila S

Închide #MyFile „Închideți fișierul

Și, dacă este necesar pentru a citi toate datele din dosar, atunci:

FișierulMeu Dim „Declarați variabilă pentru fișiere gratuit

Dim S Ca variabilă String“pentru a stoca datele de citire

FișierulMeu = FreeFile „Asociați canal gratuit pentru fișier

Deschideți ( „C: test.txt“) Pentru intrare ca #MyFile „test.txt Deschideți fișierul pentru citire

S = Intrare $ (LOG (1), 1) „citi întregul fișier într-un S variabil

Închide #MyFile „Închideți fișierul

Pentru a înregistra într-un fișier, există operatori de imprimare # FileNumber. Datele și scrie # FileNumber. Date. Distinge acești operatori numai ceea ce scrie date scrie citate și necitate Print.

Mai jos, următorul cod va crea o C: unitate test.txt nou fișier și scrie două linii, prima fără ghilimele, iar al doilea în ghilimele:

FișierulMeu Dim „Declarați variabilă pentru fișiere gratuit

FișierulMeu = FreeFile „Asociați canal gratuit pentru fișier

Deschideți ( „C: test.txt“) Pentru ieșire ca #MyFile „Deschideți fișierul pentru scriere test.txt

Print #MyFile „Această linie este scris operatorului de imprimare, este fără ghilimele ...“

Scrie #MyFile, „operator de scriere Această linie este înregistrată, ea a citat ...“

Închide #MyFile „Închideți fișierul

Asta e tot. După cum probabil ați dat seama, este operatorul Închide # FileNumber pentru a închide fișierul. în acest caz, # FileNumber este opțională.

Bună Alex,
Întrebarea mea este, poate otkryvatsya orice fișier HTML și să caute un anumit text și dacă naedet înlocui ceea ce ne dorim?
Multumesc anticipat.

Cel mai simplu mod de a deschide un fișier și înlocuiesc.

Înlocuiți ( „HTML-fișier de date“, „ce să caute“, „ce să înlocuiască“)

Ne pare rău, în opinia mea, am explicat nemogla. Am vrut să creeze un astfel de program în VB care se deschide un fișier HTML pe unul dintre fișierele dintr-un dosar și înlocuiește textul dorit propoziția.

Adică, să o moale pe creat bază VB pentru a deschide fișiere HTML din dosar și căutarea teză a solicitat, schimba textul lor, așa cum am ce. De exemplu, există mii de fișiere HTML din dosar.

fișier Dim ca șir de
Cale Dim ca șir de
Cale: "* html C." „set path =
fișier = Dir (cale) „primul fișier
Nu în timp ce nu file = „“
„Fișier Citește
Deschideți calea „“ fișier pentru intrare ca # 1
Dim FileData ca șir
FileData = intrare (LOF (1), 1)
închide
„înlocui
FileData = Înlocuiți (FileData, FindText, NewText)
„salvaţi
Deschideți calea „“ fișier pentru ieșire Ca # 1
Print # 1, FileData
închide
„Fișier următor
fișier = Dir ()
buclă

Mulțumesc, Alex. Dar eu arată eroarea:
Eroare Run-time '52'
nume de fișier incorect sau numărul

atunci când este apăsat de depanare
Acesta arată linia
Deschideți calea „“ fișier pentru intrare ca # 1
ce ar trebui să fac?

deși subfoldere C: / au fost mai multe fișiere html

dim f
f = FreeFile
Deschideți calea „“ fișier pentru intrare ca #F

ceva de genul asta, am o sută de ani pentru a VB 6.0 nu este programat :)

Este posibil pentru a deschide fișierul pentru citirea într-o anumită codificare? și anume fișier text în codificarea UTF-8 când deschideți și să citiți linie cu linie, în linie reflectă unele biliberdu, iar dacă deschideți acest fișier în Notepad, atunci totul este în regulă!

sintaxa:
StrConv (String, Conversie [, LocaleID])

Descriere:
Funcția returnează un șir convertit așa cum este specificat.

Opțiuni:
String - Șirul de a converti.

Conversie - expresie numerică care specifică tipul de conversie.

LocaleID - o valoare de tip lung, ceea ce indică un identificator local.

„Returnează“ Această funcție funcționează StrConv "
Debug.Print StrConv ( "o strconv funcție de muncă" _
vbProperCase)

vbFromUnicode - 128 - caractere Unicode sunt transformate în simboluri ale paginii de cod implicit.

articole similare