Manager de fișiere cu mâinile proprii

Funcții tipice de gestionare a fișierelor

Pentru a crea un dosar, trebuie să utilizați funcția:

Un dialog pentru toate ocaziile

Pentru a face convenabil ca utilizatorul să introducă numele folderului creat și multe altele (am să discut acest lucru mai târziu), am decis să creez o casetă de dialog. Dar, deoarece există 3 operații, ar trebui să creați 3 casete de dialog, deoarece pentru fiecare comandă ele sunt ușor diferite.







Am decis că formularul 3 este prea mult și a decis să o facă singură. Acum vă voi spune cum am făcut-o. În primul rând, am creat formularul în mod obișnuit. Puneți pe el 2 butoane, 2 etichete și 1 casetă de text. În fișierul Form1.h, am adăugat o linie:

Implicit, C ++ furnizează toate componentele din clasa de form cu specificatori particulari, adică pot fi modificați numai din funcția de clasă și din funcțiile de clasă prietenie. Și am nevoie de el pentru a putea gestiona componentele din formularul de dialog din fereastra principală. Deci, primul lucru pe care l-am făcut a fost să mă schimb privat în public. Apoi am adăugat un al doilea constructor, în care trec șirul pentru antetul de formular. Iată codul lui.

Nimic complicat nu schimbă doar antetul de formular în textul transmis proiectantului. Acum am ajuns la cele mai interesante. Cum putem gestiona "dialogul miracol"? Pentru a crea formularul nostru, scrieți următorul rând:

Creăm o variabilă și apelam constructorul cu parametrul "Creare folder". În acest caz, vom face un dialog în care va exista o cerere de creare a unui dosar. Mai mult, totul este foarte simplu. Pentru a schimba textul butoanelor și orice altceva, trebuie să le accesați, ca și cum ar fi în forma principală.







Întrucât formularul este interactiv, trebuie să specificăm DialogResult pentru fiecare buton. Pe acesta putem afla ce buton a fost apăsat de utilizator. Ar trebui să se ia în considerare faptul că Show () și ShowDialog () nu trebuie să afișeze acest formular. Rezultatul va fi DialogResult al butonului apăsat. Fiți atenți la acest lucru.

Continuăm examinarea funcțiilor

Deci, am învățat deja cum să creați dosare. Acum este timpul să înveți cum să le eliminați. Aici ne vom confrunta cu o restricție enervantă. În WinAPI există o funcție:

Dar elimină doar un dosar gol. Sper că înțelegeți scopul parametrului său. Deci, dacă folderul nu este gol, va trebui mai întâi să îl ștergeți din fișiere și din toate subfolderele. Pentru aceasta, există o funcție

Aceasta duce calea completă la fișier și încearcă să o șterge. Dacă reușește, nu va reveni la 0, dar dacă nu reușește 0.

Cititorii insightful din articolul meu știu deja că pentru a șterge un dosar trebuie să îl parcurgeți și să începeți să ștergeți toate fișierele și folderele dacă există (în mod natural recursiv). Despre cum să căutați fișiere în directoare, a fost scris în prima parte a articolului, care poate fi citită în ediția anterioară.

Împreună cu operația de copiere, există o operație de transfer de fișiere. Sper că diferența dintre ele este cunoscută de toată lumea. Firește, mișcarea ar putea fi realizată prin copiere și ștergere, dar apoi programatorii Microsoft au avut grijă de noi și au scris o funcție numită

Această funcție poate muta nu numai fișiere, ci și dosare. Singura nuanță este că folderele ar trebui să se afle pe aceeași unitate logică, altfel nimic nu va ieși.

În acest sens, închei povestea mea despre funcțiile de lucru cu sistemul de fișiere. Bineînțeles, nu a fost completă, este suficient acest stoc pentru a scrie un manager de fișiere simplu. Vreți să știți mai multe? Citiți msdn. Vor fi întrebări, scrie-mi pe e-mail.







Articole similare

Trimiteți-le prietenilor: