Copiați, mutați și redenumiți dosarul în Delphi

Acest articol descrie modul de copiere, redenumire sau mutare a unui director cu toate atașamentele. Creați, ștergeți și verificați dacă există sau nu un dosar. este considerată în articolul precedent.

O funcție pregătită pentru copierea unui dosar, atât pentru copierea fișierelor. nr. Prin urmare, funcțiile noastre personalizate sunt folosite aici. Una dintre metodele cele mai convenabile este utilizarea bibliotecii ShellApi.

În secțiunea de descriere, trebuie să adăugați o bibliotecă:

fFlags: = FOF_ALLOWUNDO + FOF_NOCONFIRMATION;

Acest steguleț interzice transmiterea de cereri către utilizator.

Cu toate acestea, dacă există deja fișiere existente, acestea nu vor fi înlocuite. Pentru a remedia acest lucru, adăugați un alt steag:

fFlaguri: = FOF_ALLOWUNDO + FOF_NOCONFIRMATION + FOF_MULTIDESTFILES;

FOF_ALLOWUNDO - dacă există o opțiune, ștergerea se face în coșul de gunoi.

FOF_SILENT - dezactivează afișarea ferestrei standard a sistemului de operare cu progresul copierii.

FOF_RENAMEONCOLLISION - dacă fișierul există deja, este copiat cu "Copy" adăugat la numele fișierului sau al folderului.

Redenumiți și mutați directoarele

Pentru a muta directoarele, puteți utiliza funcția MoveFile sau RenameFile.

Caracteristicile acestor funcții sunt similare. Pentru fiecare, specificați o cale absolută sau relativă la directorul sursă și o nouă cale în care este planificată mutarea. Dacă mutarea este reușită, funcțiile se întorc True, dacă nu, False.

dacă MoveFile ('c: \ myfolder'. 'c: \ new \ myfolder') atunci
ShowMessage ('Dosarul a fost mutat cu succes.')
altfel
ShowMessage ('Eroare la mutarea dosarului.');

dacă RenameFile ('c: \ myfolder'. 'c: \ new \ myfolder') atunci
ShowMessage ('Dosarul a fost mutat cu succes.')
altfel
ShowMessage ('Eroare la mutarea dosarului.');

Dacă trebuie doar să redenumiți folderul, numele noului folder este specificat fără a schimba directorul:

MoveFile ('c: \ myfolder'. 'C: \ newfolder');

RenameFile ('c: \ myfolder'. 'C: \ newfolder');

Diferența este dacă specificați directoarele unei variabile de șir sau a unei proprietăți de șir a unei componente (de exemplu, proprietatea Text, componenta Editare). Funcția RenameFile. va funcționa cu o simplă indicație a căilor din componente:

Pentru funcția MoveFile. atunci când se specifică parametrii, este necesar să se distribuie tipurile:

Mai multe din această secțiune