Copiere, șterge, muta, redenumi, și verificați un fișier în delphi

Pentru a lucra cu fișiere din Delphi are un set bogat de caracteristici care vă permite să efectueze toate operațiunile necesare pentru fișiere. Mecanismul fiecăruia dintre o astfel de procedură sau funcție este destul de simplu - pentru a specifica un nume de director și fișier de pe care se desfășoară acțiunea afară și, uneori, o indicație a parametrilor suplimentari pentru un control suplimentar al operațiunilor.

Acest articol descrie posibila manipulare a fișierelor existente. Mecanisme pentru crearea, deschiderea și salvarea fișierelor sunt descrise în articolul „Crearea și lucrul cu fișiere text în Delphi“.

În cazul în care al treilea parametru este setat la False, funcția va copia fișierul pentru a suprascrie dacă fișierul există deja, și ca urmare a reveni întotdeauna adevărat.

Deoarece tipul de parametru PChar căi de fișier specificat, atunci utilizarea variabilelor string în această funcție va cauza o eroare. O astfel de problemă poate apărea dacă, de exemplu, calea de fișier pentru a specifica Editare sau componentele OpenDialog. În acest caz, trebuie să arunce tipuri de date la forma corectă:

Ștergerea unui fișier

Ștergerea unui fișier în Delphi folosind DeleteFile funcție. Ca singurul parametru setează calea fișierului șters.

Ca rezultat al funcției sale de execuție DeleteFile returnează tipul boolean: true, în cazul în care fișierul a fost șters; fals, în cazul în care fișierul nu a fost șters (de exemplu, în cazul în care fișierul lipsește).

dacă DeleteFile ( 'myfile.txt') atunci
ShowMessage ( „Fișierul a fost șters cu succes.“)
altfel
ShowMessage ( „Eroare:. Acest fișier nu a fost șters“);

Mutarea unui fișier

MoveFile ( 'myfile.txt' 'newpath / myfile.txt'.);

În mod similar, funcțiile deja luate în considerare, acest lucru returnează adevărat succesul operațiunilor sale și fals, atunci când apare o eroare. poate să apară o eroare, de exemplu, în absența sau prezența fișierul original cu numele de fișier specificat în noul director.

dacă MoveFile ( 'myfile.txt'. 'newpath / myfile.txt') atunci
ShowMessage ( „fișier a fost mutat cu succes.“)
altfel
ShowMessage ( „Eroare:. Fișierul nu a fost mutat“);

Atunci când se utilizează componente și variabile string, va trebui, de asemenea, pentru a aduce tipuri de date:

Această funcție poate fi, de asemenea, folosit pentru a redenumi un fișier prin specificarea unui nou nume de fișier și de a salva modul vechi.

MoveFile ( 'myfile.txt' 'newfile.txt'.);

În plus, funcția MoveFile poate fi folosit pentru a redenumi sau muta un dosar cu toate fișierele sale. În exemplul următor, „myfolder“ dosarul este mutat la subdirectorul „newfolder1“ și redenumit „newfolder2“.

MoveFile ( 'myfolder' 'newfolder1 / newfolder2'.);

Redenumiți fișierul

Pentru a redenumi un fișier folosit funcția RenameFile. Parametrii STRING conțin doar calea fișierului sursă și calea fișierului cu un nume nou.

RenameFile ( 'myfile.txt' 'newfile.txt'.);

redenumiți întoarce, de asemenea, rezultatul punerii sale în aplicare a valorii logice.

dacă RenameFile ( 'myfile.txt'. 'newfile.txt'), atunci
ShowMessage ( 'File redenumit cu succes.')
altfel
ShowMessage ( „Eroare:. Fișierul nu a fost redenumit“);

Având în vedere faptul că al doilea parametru, puteți specifica nu numai un nume nou, dar, de asemenea, un nou mod, această funcție poate fi, de asemenea, folosit pentru a muta un fișier. Această funcție poate fi de asemenea folosit pentru a redenumi și muta dosare cu toate anexele lor.

MoveFile ( 'myfile.txt' 'newpath / myfile.txt'.);

Verificați dacă fișierul

De multe ori, înainte de a efectua orice acțiune cu fișierul, asigurați-vă că există pe disc. In aceste scopuri fileexists funcționează. cu un singur parametru șir al funcției conține calea către fișierul. Atunci când executat, funcția returnează valoarea reală, în cazul în care există fișierul specificat. Fals, dacă fișierul nu există.

dacă FileExists ( 'myfile.txt') atunci
ShowMessage ( „Fișierul specificat există.“)
altfel
ShowMessage ( „Un astfel de fișier lipsește.“);

Un alt material din această secțiune