Filename Extensions in Delphi
There are various types of files with different filename extensions in a Delphi project like pas, dcu, dfm, exe, dll, dpr, res, dpk, dcp, bpl etc. Some of these files are source files and some are binary files. These files are required by Delphi for various reasons. Lets discuss each Delphi file one by one.
.PAS - Delphi Source File
In Delphi, PAS files are always the source code to either a unit or a form. Unit source files contain most of the code in an application. The unit contains the source code for any event handlers attached to the events of the form or the components it contains. We may edit .pas files using Delphi's code editor. Do not delete .pas files.
.DCU - Delphi Compiled Unit
A compiled unit (.pas) file. By default the compiled version of each unit is stored in a separate binary-format file with the same name as the unit file, but with the extension .DCU (Delphi compiled unit). For example unit1.dcu contains the code and data declared in the unit1.pas file. When you rebuild a project, individual units are not recompiled unless their source (.PAS) files have changed since the last compilation, or their .DCU files cannot be found. Safely delete .dcu file because Delphi recreates it when you compile the application.
.DFM - Delphi Form
These files are always paired with .pas files. DFM file contains the details (properties) of the objects contained in a form. It can be view as text by right clicking on the form and selecting view as text from the pop-up menu. Delphi copies information in .dfm files into the finished .exe code file. Caution should be used in altering this file as changes to it could prevent the IDE from being able to load the form. Form files can be saved in either binary or text format. The Environment Options dialog lets you indicate which format you want to use for newly created forms. Do not delete .dfm files.
.DPR - Delphi Project
The .dpr file is the central file to a delphi project (one .dpr file per a project), actually a Pascal source file. It serves as the primary entry point for the executable. The dpr contains the references to the other files in the project and links forms with their associated units. Although we can modify the .dpr file , we should not modify it manually. Do not delete .dpr files.
.RES - Windows Resource File
A Windows resource file, generated automatically by Delphi and required by the compilation process. This binary-format file contains the version info resource (if required) and the application’s main icon. File may also contain other resources used within the application but these are preserved as is.
.EXE - Application Executable
The first time we build an application or a standard dynamic-link library, the compiler produces a .DCU file for each new unit used in your project; all the .DCU files in your project are then linked to create a single .EXE (executable) or .DLL file. This binary-format file is the only one (in most cases) you have to distribute to your users. Safely delete your projects .exe file because Delphi recreates it when you compile the application.
.DLL - Application Extension
Code for dynamic link library. A dynamic-link library (DLL) is a collection of routines that can be called by applications and by other DLLs. Like units, DLLs contain sharable code or resources. But a DLL is a separately compiled executable that is linked at runtime to the programs that use it. Do not delete .dll file unless you wrote it.
.DPK - Delphi Package
This file contains the source code for a package, which are most often collection of multiple units. Package source files are similar to project files, but they are used to construct special dynamic-link libraries called packages. Do not delete .dpk files.
This binary image file consists of the actual compiled package. Symbol information and additional header information required by the IDE are all contained within the .dcp file. The IDE must have access to this file in order to build a project. Do not delete .dcp files.
.BPL or .DPL
This is the actual design-time or run-time package. This file is a Windows DLL with Delphi-specific features integrated into it. This file is essential for deployment of an application that uses a package. In version 4 and above this is 'Borland package library' in version 3 it's 'Delphi package library'.
.~?? - Delphi Backup Files
Files with names ending in .~?? (e.g. unit2.~pa) are backup copies of modified and saved files. Safely delete those files at any time, however you might want to keep the for recovering damaged programming.