Vb - lucrul cu fișiere

Un alt articol din vechile mele articole despre lucrul cu fișiere text în Visual Basic 6.0.

Acest articol este despre lucrul cu fișiere text folosind Visual Basic.







Descriptor de fișiere

Pentru a lucra cu fișiere, sistemul de operare utilizează canalele I / O, adică fiecare fișier deschis are propriul număr.

În Visual Basic, există o funcție FreeFile. care returnează numărul canalului gratuit care poate fi utilizat pentru a lucra cu fișierul. Dacă nu există canale gratuite, 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.

MyFile = FreeFile 'MyFile variabila este atribuit un canal gratuit și acum poate fi folosit pentru a lucra cu fișiere

Lucrul cu fișierele text

Cel mai adesea trebuie să întâlniți fișiere text. Fișierele text constau dintr-un set de caractere ASCII (Codul Standard American pentru schimbul de informații).

Înainte de a începe să scrieți / citiți date, fișierul trebuie să fie deschis, se face cu ajutorul operatorului Deschideți (FileName) Pentru [Input | Ieșire | Append] Ca număr de fișier #. în cazul în care:

Intrare - deschideți fișierul pentru citire, dacă fișierul nu există, apare o eroare;

Ieșire - pentru scriere, dacă fișierul nu există, acesta va fi creat, iar dacă fișierul există, acesta va fi suprascris;

Adăugați - pentru a adăuga, dacă fișierul nu există, acesta va fi creat și dacă fișierul există, datele vor fi atașate la sfârșitul fișierului.

De exemplu, dacă doriți să citiți prima linie dintr-un fișier în variabila S, codul va fi:

Dim MyFile 'Declarați o variabilă pentru un fișier liber

Dim S ca șir "Variabil pentru stocarea datelor citite

MyFile = FreeFile 'Alocați un canal gratuit pentru a lucra cu fișiere

Deschideți ("C: TEST.txt") Pentru intrare ca #MyFile 'Deschideți fișierul TEST.TXT pentru citire

Intrare linie #MyFile, S 'Citiți primul rând din fișierul TEST.TXT în variabila S

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

Dacă, de exemplu, nu trebuie să numărați prima, ci cea de-a cincea linie, atunci codul va fi puțin diferit:

Dim MyFile 'Declarați o variabilă pentru un fișier liber

Dim i ca intreg "Variabila pentru buclă

Dim tS ca șir "Variabil pentru citirea șirurilor







Dim S ca șir "Variabil pentru stocarea datelor finale

MyFile = FreeFile 'Alocați un canal gratuit pentru a lucra cu fișiere

Deschideți ("C: TEST.txt") Pentru intrare ca #MyFile 'Deschideți fișierul TEST.TXT pentru citire

Intrare linie #MyFile, tS 'Citiți linia TEST.TXT pentru fișier

Dacă i => 5 Atunci S = tS 'Dacă al cincilea rând, atunci îl stocăm în variabila S

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

Și dacă trebuie să citiți toate datele din fișier, atunci:

Dim MyFile 'Declarați o variabilă pentru un fișier liber

Dim S ca șir "Variabil pentru stocarea datelor citite

MyFile = FreeFile 'Alocați un canal gratuit pentru a lucra cu fișiere

Deschideți ("C: TEST.txt") Pentru intrare ca #MyFile 'Deschideți fișierul TEST.TXT pentru citire

S = Intrare $ (LOG (1), 1) 'Citiți întregul fișier în variabila S

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

Pentru a scrie într-un fișier, există operatori Print # FileNumber. Date și Scrieți # FileNumber. Date. Ceea ce îi distinge pe acești operatori este că Scrie scrie date în citate și Imprimă fără citate.

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:

Dim MyFile 'Declarați o variabilă pentru un fișier liber

MyFile = FreeFile 'Alocați un canal gratuit pentru a lucra cu fișiere

Deschideți ("C: TEST.txt") Pentru ieșire ca #MyFile Deschideți fișierul TEST.TXT pentru scriere

Print #MyFile "Această linie este scrisă de instrucțiunea Print, este fără citare ..."

Scrie #MyFile, "Această linie este scrisă de instrucțiunea Write, este în citate ..."

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

Asta e tot. După cum probabil ați înțeles deja, instrucțiunea Închidere este utilizată pentru a închide fișierul. În acest caz, # FileNumber este opțional.

puteți utiliza acest cod pentru a adăuga textul la sfârșitul fișierului și nu ștergeți unul anterior și scrieți unul specificat?

Puteți, pentru aceasta trebuie să utilizați cuvântul cheie Adăugați:

Dim MyFile cât mai mult
MyFile = FreeFile
Deschideți ("C: TEST.txt") Pentru a adăuga ca #MyFile
Imprimare #MyFile, "test1"
Scrieți #MyFile, "test2"
Închideți #MyFile

Dim MyFile cât mai mult
MyFile = FreeFile
Deschideți ("C: TEST.txt") Pentru a adăuga ca #MyFile
Imprimare #MyFile, "Bună ziua"; vbNewLine; „Bună ziua“
Închideți #MyFile


acest cod va scrie cuvântul "Hello" în 2 rânduri, dar dacă scrieți un cod lung (aveți multe paragrafe noi de făcut) atunci textul nu scade! pot muta codul la 2 linii?

Imprimare #MyFile, "Hello1"
Imprimare #MyFile, "Hello2"
Imprimare #MyFile, "Hello3"
Imprimare #MyFile, "Hello4"
Imprimare #MyFile, "Hello5"
Imprimare #MyFile, "Hello6"
Imprimare #MyFile, "Hello7"
sau, ia un TextBox a cărui proprietate Multiline este True:
Tipăriți #MyFile, TextBox1.Text

Buna ziua Alexey!
Am o astfel de întrebare.
Sarcina este asta.
Acest text ar trebui împărțit prin cuvintele sale.
De exemplu: Bine ați venit pe site-ul meu.
Programul trebuie să genereze:
bun
Bine ați venit
pe
meu
site-ul.

Vă mulțumim în avans pentru că ne-ați ajutat.

Dim i ca intreg
Dim arr ()
arr = Split ("Bun venit pe site-ul meu").

Pentru i = 0 Pentru UBound (arr) - 1
Print arr (i)
Înainte i

a uitat complet, funcția Split poate încă să ia al doilea parametru, care indică sigiliul de deviere, de exemplu:

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


un exemplu va returna o matrice:

Am o astfel de întrebare.

Pot adăuga textul meu la sfârșitul fișierului (de exemplu în * .exe)
deschizându-l cu un notebook, textul meu este vizibil la sfârșit.
Cum să ștergeți textul (la sfârșitul fișierului) fără a ucide chiar executabilul.
Câți nu au încercat, cererea se rupe. (







Articole similare

Trimiteți-le prietenilor: