Lucrul cu fisierele Visual Basic
Ce sunt fisierele si de câte tipuri sunt ?
Fisierele reprezinta principala forma de
organizare a datelor pe disc. Atât programele scrise de dumneavoastra,
tete scrise intr-un limbaj sau altul, cât si colectiile de date
necesare functionarii aces 828q161i tor programe sunt exemple de fisiere.
Ele sunt organizate în directoare , însa directoarele
sunt privite tot ca fisiere, având un atribut suplimentar. Chiar si
eticheta de volum (de disc) este vazuta ca un fisier, ba chiar
si ecranul, tastatura sau imprimanta.
În functie de modul de acces al fisierelor acestea se împart în trei
categorii: cu acces secvential, cu acces aleatoriu, si cu acces
binar.
Fisierele cu acces secvential sunt
asemanatoare unor casete - citirea datelor din ele se face într-un
mod secvential. Daca doriti sa accesati date de la
sfârsitul fisierului trebuie sa cititi toate datele care se
afla înaintea celor cautate de dumneavoastra. Fisierele cu
acces secvential adesea sunt organizate sub forma de siruri de
caractere. Utilizati fisierele cu acces secvential când este
aveti un fisier ce contine text. De asemenea pot fi folosite
pentru a stoca informatii binare cum ar fi numerele.
Fisierele cu acces aleatoriu s-ar putea asemana
mai mult cu CD-urile. Fisierele aleatore sunt organizate în
înregistrari (adesea având aceeasi marime), si puteti
citi o anumita înregistrare fara a fi nevoiti sa le
cititi pe toate care o preced. Puteti sa va
pozitionati pe o anumita înregistrare în mod direct, asa
cum selectati o anumita melodie de pe CD. Utilizarea acestui tip de
fisiere se face în special atunci când doriti sa va creati propria
baza de date.
Fisierele binare va permit sa stocati date asa cum
doriti. Visual Basic nu le interpreteaza ca
siruri de caractere - cum face în cazul fisierelor secventiale
sau ca înregistrari - în cazul fisierelor aleatoare. Aceste fisiere sunt doar octeti pentru Visual Basic.
Fisierele binare cuprind fisierele EXE,
fisierele grafice, cu muzica etc.
Operatii cu
fisiere
Crearea unui fisiere
Prima operatie în lucrul cu fisierele este aceea de creare a fisierului. Aceasta se realizeaza
cu ajutorul instructiunii Open. Aceasta re urmatoarea sintaxa:
Open NumeCale For mod [Access acces] [blocare] As [#] numarfisier
[Len=LungÎnreg]
- NumeCale - numele fisieului care poate include întreaga cale: unitate,
director etc;
- mod - unul din urmatoarele cuvinte cheie: Append, Binary,Input,Output
sau Random specificând modul de acces;
- acces - unul din urmatoarele cuvinte cheie specificând operatiile
permise asupra fisierului: Read, Write sau Read Write;
- blocare - unul dintre urmatoarele cuvinte cheie: Shared, Lock Read, Lock
Write, lock Read Write specificând operatiile permise la deschiderea
fisierului de catre un alt proces;
- NumarFisier - un numar cuprins între 1si 511 inclusiv.
Utilizati functia FreeFile pentru a
obtine urmatorul numar disponibil.
- LungÎnreg- un numar mai mic sau egal cu 32767
(octeti). Pentru fisierele deschise in acces aleatoriu aceasta
valoare este marimea înregistrarii. Pentru fisierele text reprezinta numarul de
caractere transferate în buffer.
Deschiderea fisierelor
Se face în mod asemanator
cu crearea. Se utilizeaza functia Open în
acelasi mod. Daca fisierul specificat de parametrul
NumeFisier exista atunci va fi deschis în
caz contrar se va crea un fisier cu numele specificat.
La deschiderea unui fisier în acces aleatoriu se utilizeaza sintaxa
Open NumeCale For [Input | Output | Append] [Access acces] [blocare] As [#]
numarfisier [Len=MarmeBuffer]
Scrierea informatiilor
în fisiere
Fisierele secventiale sunt în general siruri
de caractere, dar pot fi si combinatii de siruri de caractere
si de numere. În general veti folosi urmatoarele doua
instructiuni pentru a scrie date într-un fisier cu acces
secvential
Print # NumarFisier, lista_expresii
Write # NumarFisie, lista_expresii
lista_expresii este o lista de variabile a caror valoare
urmeaza sa fie trecuta în fisier.
Exempu:
Print # Text1.Text, Cint(Text2.Text), 5
Scrierea datelor într-un fisiere cu acces aleatoriu se face în general cu
ajutorul instructiunii Put.
Put # NumeFisier, [NumarÎnreg], NumeVariabila
NumarÎnreg este numarul înregistrarii pe care doriti
sa o scrieti.
NumeVariabila numele variabilei în care se afla stocata
înregistrarea.
Scrierea datelor în fisierele binare se
asemana cu cea în fisierele aleatoare. Se foloseste
tot instructiunea Put.
Citirea informatiilor
din fisiere
Citirea informatiilor din fisierele
secventiale se face cu ajutorul instructiunilor
Input # NumarFisier, lista_expresii
Line Input # NmarFisier, sirCaractere
Input$ (NumarOcteti, [#] NumarFisier)
sirCaracter este o variabila de tip String în care sunt stocate
siruri de caracter;
NumarOcteti reprezinta un numar de octeti ce va fi
citit din fisier.
Pentru citirea informatiilor din fisierele cu acces aleatoriu se
utilizeaza functia Get.
Sintaxa este urmatoarea
Get [#] NumarFisier, [NumarÎnreg], NumeVariabila
NumeVariabila este numele variabilei în care se va stoca înregistrarea din
fisier.
Citirea datelor dintr-u fisier binar se realizeaza
într-un mod asemanator cu cel aleatoriu.
În lucrul cu fisierele deosebit de importanta este
si functia Seek(NumarFisier) care returneaza o valoare
de tip long pozitia curenta de citire/scriere în cadrul uni
fisier deschis cu instructiunea Open. O alta functie
utilizata pentru lucrul cu fisierele este functia LOF(NumarFisir)
care returneaza marimea fisierului exprimata în
octeti. Functia EOF(NumarFisier)
returneza True în cazul în care s-a ajuns la sfârsitul unui
fisier deschis în mod aleatoriu sau secvential.
În momentul în care ati terminat de lucrat cu un
fisier trebuie sa-l închideti lucru care se realizeaza cu
ajutorul functiei Close. Sintaxa
Close # NumarFisier.
|