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