Lucrul cu fisiere
Un aspect important cand vine vorba de programare este lucrul cu fisierele. Operatiile de citire si scriere a datelor in fisiere sunt foarte des intalnite in majoritatea programelor importante. AutoIt pune la dispozitia programatorilor atat functii native cat si user-defined pentru lucrul cu fisierele.
- Functii native pentru lucrul cu fisierele
a) FileOpen
Pentru a putea efectua operatii de citire/scriere in fisiere, acestea trebuie mai intai deschise. Acest lucru se face cu functia FileOpen iar ca rezultat functia va returna un handle al fisierului. Functia are 2 parametri: un sir de caractere reprezentand numele fisierului si optional modul de deschidere a fisierului (default = 0). Posibile valori pentru parametrul mode sunt date in tabelul de mai jos. Acestea pot fi folosite in diferite combinatii.
|
0 |
Deschidere pentru citire |
|
1 |
Deschidere pentru scriere (adauga la final de fisier) |
|
2 |
Deschidere pentru scriere (sterge continutul existent) |
|
8 |
Creaza structura directorului daca nu exista |
|
16 |
Mod binar |
|
32 |
Unicode UTF16 Little Endian |
|
64 |
Unicode UTF16 Big Endian |
|
128 |
Unicode UTF8 (cu BOM – Byte Order Mark) |
|
256 |
Unicode UTF8 (fara BOM – Byte Order Mark) |
|
16384 |
La deschiderea pentru citire daca nu este prezent BOM, efectueaza detectare pentru UTF8. |
Modul default pentru scrierea in fisier este ANSI – folositi modurile 32-16384 pentru a modifica acest lucru. Orice handle al unui fisier trebuie inchis (folosind functia FileClose) dupa terminarea efectuarii operatiilor in fisier.

b) FileRead
Efectueaza operatia de citire a datelor dintr-un fisier. Functia are 2 parametrii: primul este hande-ul fisierului (obtinut in urma deschiderii fisierului cu functia FileOpen) sau un sir de caractere reprezentand numele fisierului (caz in care se executa automat operatia de deschidere, citire si inchidere a fisierului) si numarul de caractere pe care vrem sa le citim (default = tot fisierului).

c) FileWrite
Efectueaza operatia de scriere a datelor intr-un fisier. Functia are 2 parametrii: primul este hande-ul fisierului (obtinut in urma deschiderii fisierului cu functia FileOpen) sau un sir de caractere reprezentand numele fisierului (caz in care se executa automat operatia de deschidere, scriere si inchidere a fisierului) si datele pe care vrem sa le scriem in fisier. 
d) FileReadLine
Similara functieri FileRead, cu particularitatea ca este folosita pentru a citi o singura linie dintr-un fisier iar al doilea parametru este linia din fisier pe care vrem sa o citim.

e) FileWriteLine
Similara functiei FileWrite, cu particularitatea ca adauga o linie la textul existent.

f) FileFlush
Forteaza scrierea datelor din buffer-ul fisierului pe disc. Functia are ca parametru un handle al unui fisier.

g) FileSetPos
Seteaza pozitia curenta in fisier. Functia are 3 parametri: un handle al unui fisier, offset-ul (pozitia) si punctul de referinta (0 – de inceputul fisierului; 1 – de la pozitia curenta; 2 – de la finalul fisierului).

h) FileGetPos
Returneaza pozitia curenta in fisier. Are ca parametru un handle al unui fisier.

i) FileClose
Inchide un fisier deschis cu functia FileOpen. Are ca parametru handle-ul unui fisier deschis.
Nota: functia FileClose trebuie folosita pentru orice fisier deschis, indiferent daca este deschis pentru citire sau pentru scriere.
Nota generala: exemplele de mai sus trebuie tratate ca atare, se poate observa ca intentionat nu a fost folosita functia FileClose inainte de a fi descrisa.
- Functii user-defined pentru lucrul cu fisierele
AutoIt pune la dispozitia programatorilor si functii user-defined, incluse in fisierul antent File.au3. Cele mai uzuale dintre ele sunt:
a) _FileCountLines
Functia returneaza numarul de linii dintr-un fisier. Functia are ca parametru un sir de caractere continand calea si numele fisierului.

b) _FileListToArray
Returneaza un vector care contine fisierele (sau foldere) dintr-un director, in acord cu parametrul flag. Functia are 3 parametri: calea directorului in care se cauta, un sir care reprezinta un filtru (wildcards) pentru a identifica fisierele dupa extensie si flag care indica daca se cauta fisiere (flag=0 – Default), foldere (flag=1) sau ambele (flag=2).
Un posibil rezultat al acestei functii:
Nota: indexul 0 al vectorului contine numarul de fisiere gasite.
c) _FilePrint
Aceasta functie printeaza un fisier. Functia are 2 parametri: primul este un sir de caractere care contine calea si numele fisierului iar al doilea (optional) starea ferestrei (default=@SW_HIDE).

d) _FileWriteToLine
Aceasta functie scrie date pe o linie intr-un fisier (nu neaparat la final de fisier). Functia are 4 parametri: primul este un sir de caractere care contine calea si numele fisierului, al doilea este numarul linie pe care se vor scrie datele, al treilea parametru este o variabila (expresie) care contine datele ce urmeaza sa fie scrise iar ultimul parametru (optional) indica daca se va suprascrie linia (default=0).

e) _ReplaceStringInFile
Inlocuieste un sir de caractere intr-un fisier. Functia are 5 parametri: un sir de caractere care contine calea si numele fisierului, sirul care se cauta a fi inlocuit, sirul cu care se inlocuieste si optional parametri care indica daca cautarea este case sensitive si numarul de ocurente. Functia va returna numarul de substituri facute.

* Pentru orice intrebari sau nelamuriri legate de curs sau limbajul AutoIt accesati sectiunea AutoIt a forumului SkullBox sau platforma de suport tehnic NetHelp.