Sunteți pe pagina 1din 5

LABORATOR NR.

FUNCTII DE LUCRU CU FISIERE

8.1 Introducere
Functiile sunt situate in paleta de functii: Functions>>File I/O. Ele permit salvarea datelor
in fisiere ascii sau binare sau in fisiere cu format special compatibile numai cu aplicatii Labview. In
mod egal ele permit si citirea datelor din fisierele create prin functiile File I.

8.2. Clasificare

functii de nivel inalt

Functii sunt situate in primul rand din paleta Functions»File I/O si permit realizarea
operatiilor de scriere/citire a urmatoarelor tipuri de date:
caractere intr-un sau dintr-un fisier text (fisiere ACSII)
linii dintr-un fisier text (linii din fisiere ACSII)
tablouri 1D sau 2D de date numerice in in simpla precizie in/dintr-un
fisier text spreadsheet
tablouri 1D sau 2D of de date numerice in simpla precizie sau intregi cu
semn pe 16 biti in/dintr-un fisier binar
Fiecare functie de scriere are in corespondenta o functie duala de citire in/din fisier. Functiile de
nivel inalt sunt de fapt macrofunctii care incorporeaza in acelsai vi urmatoarele functii elementare
(sau individuale):
selectare a caii pentru creare/deschidere fisier
deschiderea efectiva sau crearea/salvare a unui fisier nou
setarea unui anumit tip de data (text sau spread-sheet)
scriere/citire efectiva
inchidere de fisier
Ele au ca argumente de intrare variabile de tipul :
 variabila path sau determinarea sa prin dialog cu utilizatorul
 tipuri de date (1D,2D,..string). Pentru fisiere spread-sheet datele sunt variabile de tip
numeric 1D sau 2D convertite apoi in array de string. Pentru fisiere text ele sunt de tip
string
 tipul de scriere (ex : append T/F): prin adaugare in continuare, rescriere de la inceput
de fisier.
 formatul numerelor
OBS : aceste macrofunctii nu au functia de tratare a erorii. Ea este definita pentru functiile
elementare(individuale) si valideaza sau nu continuarea executiei unui set de functii individuale
care functioneaza in tandem. Aceste isi valideaza succesul individial prin mesajul pozitiv de lipsa a
erorii si prin transmiterea la urmatoarea functie elementara a aceleiasi variabile de intrare care este

1
LABORATOR NR.8

una de tip refnum. Acesta variabila conserva calea si numele fisierului, tipul de acces al
citirii/scrierii, ect.

functii de nivel scazut


Sunt situate in randul mijloc al Function>>File I/O si permit realizarea operatiilor
individuale:
• creare de directoare
• move, copy, sau delete fisiere.
• listarea continutului unui director
• schimbarea caracteristicilor unui fisier
• manipularea de pathuri

Functiile sunt orientate pe actiuni sau functii individuale si permit astfel actiuni repetitive
elementare prin combinarea lor cu structuri de control. Aceste functii pot realiza prin „asamblare”
oricare din functiile de nivel inalt insa necesita efort de programare pentru conversia datelor in
format ASCII sau binar prin functii specifice.

functii de avansate
Sunt localizate in Function>>File I/>>Advanced File Functions Se pot salva momentele
(instantele) accesului citire/scriere si rezultatele programarii, utilizand functiile de nivel inalt pentru
scriere si citire din fisiere combinate cu functii de timp. Aceste functii solicita fisierul de intrare si o
cale precizata. Daca nu este precizata calea si fisierul, apare o fereastra de dialog pentru specificare
interactiva. Aceste functii au incorporata functia de tratare a erorii de scriere/citire.
Functiile avansate sunt functii elementare (inchidere/deschidere/creare /
scriere/citire/close) orientate pentru tipuri speciale de date : datalog.

8.2. Alegerea formatului de I/O File (tip de fisier)


Datele se pot citi / scrie din urmatoarele tipuri de fisire:
 text (string simplu sau string formatat de tip spread-sheet)-ascii
 binar
 datalog
Alegerea formatului depinde de datele care se achizitioneaza sau creaza si de aplicatia care
va avea aces la date. Putem face urmatoare observatii cu privire la tipul de fisier utilizat :
o Daca se doreste accesarea datele in alte aplicatii, cum ar fi Excel, se creaza/deschid
fisiere text (ASCII sau Spread-sheet) deoarece au cel mai comun si portabil format.
o Daca este necesara citirea/scrierea datelor (actiuni de conservare a datelor) fara sa fie
necesar un format anumit insa spatiul compact pe disc sa fie un criteriu important atunci
2
LABORATOR NR.8

se utilizeaza fisiere binare care sunt mai eficiente decat cele text din punctul de vedere
al spatiului pe disc si al vitezei de acces.
o Daca se doreste manipularea de inregistrari complexe formate din tipuri compuse de date
specifice mediului Labview, se utilizeaza datalog deoarece sunt cel mai bun mod de a
stoca date care sa fie accesibile numai in/din labview. Tipurile de date care se
manipuleaza sunt complexe si pot fi si de tip cluster.

Obs: atentie la urmatoarele tipuri de date:

Ele sunt tipuri de date care indica calea de cautare a unui fisier (deci calea nu va fi

variabila string ci una de tip special sau dedicata) :

Pentru variabila de tip fisier (in care se scriu sau din care se citesc date) daca s-au
precizat calea, numele fisierului (poate fi un new) tipul de acces la date (append, new..) se creaza o

variabila speciala care retine aceste referinte fixate. Ea se numeste « referinta numerica »
si va fi variablia care paseaza de la o functie elementara (sau functie care executa actiuni
individuale cum sunt : open, new, read, write, close) datele de referinta ale fisierului in lucru.
Aceste tipuri de date sunt specifice atunci cand se lucreaza cu functii dedicate lucrului cu fisiere
I/O.

Aplicatia 1
Sa se salveze intr-un fisier Spreadsheet un array de 50 de numere generate aleator utilizand
una din functiile de nivel inalt. Sa se efectueze testul care creaza mereu un fisier nou cu nume cerut
utilizatorului sau sa se rescrie datele, la fiecare rulare a programului in fisierul DATE. Xls.

Se va genera vectorul de numere aleatoare prin utilizarea unei structuri FOR. Variabila
astfel creata va fi trimisa intr-un fisier *.xls prin utilizarea functiei Write To Spreadsheet. Acestei

3
LABORATOR NR.8

functii i se pot preciza variabilele fisierului (nume, cale) sau nu iar in acest caz aceste variabile vor
fi preluate prin fereastra de dialog cu urilizatorul.

Aplicatia 2
Se va relua cerinta de la punctul 1 insa se solicita realizarea aceluiasi scop prin functii de nivel
scazut.

Aplicatia 3
Sa se salveze un numar variabile de esantioane de temperatura achizitionate cu un
termometru digital intr-un fisier ASCII. Valorile vor fi retinute cu trei zecimale exacte iar
prelevarea citirilor sa se efectueze la fiecare 50 de milisecunde cat se apreciaza ca ar fi intervalul
minim in care pot surveni modificari de temperatura.

Aplicatia 4
Sa se construiasca un program care utilizand o structura CASE sa permita salvarea
preferentiala a unui tablou numeric de date aletoare de dimensiune (4x4), in fisiere ASCII sau
Spreadsheet cu formate diferite. Se va efectua testul pentru salvarea intregului tablou sau numai a
unei singure linii a acestuia. Pentru secventa
- 0 , format Array de numere reale
- 1, format Array de numere zecimale
- 2, matrice de numere reale cu latime 8 si 4 zecimale.
- 3, tabel de numere reale de latime 9 si precizie 3.
4
LABORATOR NR.8

S-ar putea să vă placă și