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. (