Lucrul cu fișiere text în Visual Basic

Cel mai recent, într-un koferentsii nepomnyu am văzut o bandă a unui om care a cerut ca cel puțin cineva ia explicat lucrul elementar cu fișiere. S-ar părea atât de simplu. Dar este ușor pentru cei care au un pic mai avansat în programare și care este doar începutul? Este, într-adevăr, o pădure de nepătruns! Și mă îndoiesc că oricare dintre celelalte noastre Web-masterat dau vreodată acest lucru cel puțin o anumită atenție. Prin urmare, acest lucru va face, și încerc să arăt în acest articol, doar elementele de bază.

1. Deschiderea fișierului pentru a citi informații de la ea.

Deci, fără probleme pentru a lucra cu fișiere de text, în primul rând ele trebuie să fie deschise. Acest lucru se face prin declarație deschisă, cum ar fi:

Deschideți "C: \ text.txt" Pentru intrare Ca # 1

Notă modul de fișier deschis - intrare (pentru citire). Aici text.txt fișierul este deschis pentru citire cu numărul 1. Avertizare. Numărul de dosar - un parametru necesar și introduceți trebuie să fie întotdeauna! Dacă programul nu va trebui să se ocupe de o duzină de fișiere deschise, ține evidența numărul lor va fi destul de dificil. Utilizați această funcție FreeFile. Nu se întoarce încă ocupat de numărul (1-511) pentru fișierul:

Dim FILENUM Ca Integer

Deschideți "C: \ text.txt" Pentru intrare ca FILENUM

De exemplu, fișierul este deschis! Acum trebuie să ia în considerare ceva de la el. Declarație Linia de introducere citește din fișierul deschis o linie la fiecare apel. Prin urmare, pentru a citi din fișierul care aveți nevoie pentru a construi un ciclu care ar provoca acest operator până atunci, până când ați ajuns la sfârșitul fișierului:

bucla este executată până când se ajunge la sfârșitul fișierului

Do Până la EOF (FILENUM)

de fiecare dată când apelați la operatorul de linie de intrare-l scrie

variabilă printr-o nouă linie

Linie de intrare #FileNum, variabilă

Închiderea unui fișier deschis se poate închide operatorului #FileNum. Și acum acest lucru este modul în care ar trebui să arate în practică:

Dim FILENUM Ca Integer

Dim txt ca șir

Dim alltxt ca șir

deschideți fișierul în modul read-only

Deschideți "C: \ text.txt" Pentru intrare ca FILENUM

lansarea ciclului menționat anterior

Do Până la EOF (FILENUM)

citește o linie din fișier cu numărul FILENUM și l-am plaseze în

Linie de intrare #FileNum, txt

Acum, pentru a adăuga conținutul variabilei alltxt txt variabilă -

și vbCrLf linie vb-constant (Cro (13) + Cro (10)), ca fiecare linie

Trebuie să fie pe o linie nouă :-)

alltxt = alltxt + txt + vbCrLf

închide fișierul cu numărul FILENUM

Deducem conținutul variabilei AllText

2. Deschideți fișierul pentru scrierea de informații în ea.

Notați informațiile din fișierul este chiar mai ușor. Această operațiune este diferită de cea anterioară numai prin faptul că este necesar pentru a deschide un fișier în modul de scriere:

Deschideți "C: \ text.txt" Pentru ieșire ca FILENUM

și în loc de ciclu pe care doriți să inserați operatorul de imprimare #, care scrie la conținutul fișierului variabilei:

Print #FileNum, "ABC-ul de Visual Basic"

Print #FileNum, AllText

Dim FILENUM Ca Integer

Dim txt ca șir

deschideți fișierul în modul de scriere

Deschideți "C: \ text.txt" Pentru ieșire ca FILENUM

Print #FileNum, txt

închide fișierul cu numărul FILENUM

Verificați conținutul fișierului.

Și vreau să ofere oa doua metodă de înregistrare a informației în fișierul - folosind WritePrivateProfileStringByKeyName API-funcții. Citiți informațiile de care aveți nevoie folosind GetPrivateProfileString API-funcții. Acum am spune - cum funcționează?

1. Crearea unui proiect de dotare standard.

Formularul 3.Udalite și dublu-clic pe modulul.

Declararea GetPrivateProfileString Funcție lib _

"Kernel32" Alias ​​"GetPrivateProfileStringA" (ByVal _

lpszSection $, ByVal lpszKey $, ByVal lpszDefault $, _

ByVal lpszReturnBuffer $, ByVal cchReturnBuffer, _

sectiunea lpszSection -name

lpszKey - nume cheie

lpszDefault - valoarea returnată în mod implicit, cu linia „“

lpszReturnBuffer - un loc pentru linia

cchReturnBuffer - dimensiune (lungime) Desemnat linie

lpszFile - nume de fișier

Declarați Funcție WritePrivateProfileStringByKeyName% Lib _

"Kernel32" Alias ​​"WritePrivateProfileStringA" (ByVal _

lpApplicationName Ca String, ByVal lpKeyName ca șir, _

ByVal lpString Ca String, ByVal lplFileName Ca String)

lpApplicationName - nume de secțiune

lpKeyName - nume cheie

lplFileName - nume de fișier

5.Sozdayte subrutina Main - trebuie doar să introduceți Sub Main.

6. În principal subrutină, tipul:

test.ini a crea un fișier în el titlul de „principal“, tasta „URL-ul“ _

Call WritePrivateProfileStringByKeyName ( "principal", "URL-ul", _

test.ini a crea un fișier în el titlul de „principal“, tasta „e-mail“ _

și linia „[email protected]

Call WritePrivateProfileStringByKeyName ( "principal", "E-mail", _

Când executați proiectul pe unitatea C: imediat fișierul Test.ini va fi creat cu următorul cuprins:

8: -O. Nu este doar adevărul? Și ia în considerare un pic mai greu. Deci, fișierul este creat și noi porobuem citi informații de acolo. Eliminați tot ceea ce este între liniile „Sub Main ()“ și „End Sub“. Introduceți următoarele:

Vom crea o variabilă care va peredovat linie

MyString Dim ca șir de

„inapoiere“ spațiile sale

fișier test.ini deschide fișierul în variabila myString _

a înregistrat un șir de caractere al titlului „principal“, tasta „URL-ul“

Call GetPrivateProfileString ( "principal", "URL-ul", "", myString, _

afișează conținutul variabilei myString

fișier test.ini deschide fișierul în variabila myString _

este înregistrată din rândul antet „principal“, tasta „e-mail“

Call GetPrivateProfileString ( "principal", "e-mail", "", myString, _

afișează conținutul variabilei myString

articole similare