Difference between revisions of "File extensions"
(New page: File extensions Some file extensions == Lazarus == *.lpi Lazarus Project Information file (stored in XML; contains project-specific settings) *.lpr Laza...) |
(Page description clarified) |
||
(28 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
− | File extensions | + | Here are the [[File extension|file extensions]] that are used when developing programs in Pascal. In most cases, these are extensions used by the IDE (Lazarus) and the compiler (FPC). |
− | + | == Lazarus == | |
+ | === Project files === | ||
+ | {| class="wikitable sortable" | ||
+ | ! extension || description || help || format | ||
+ | |- | ||
+ | | .lpg || Lazarus Project Group file || [[Project_Groups|Project Groups]] || XML | ||
+ | |- | ||
+ | | .lpk || Lazarus Package file (contains package-specific settings) || [[Lazarus_Packages|Lazarus Packages]] || XML | ||
+ | |- | ||
+ | | .lpi || Lazarus Project Information file (contains project-specific settings) || || XML | ||
+ | |- | ||
+ | | .lps || Lazarus Project Session file || [[IDE Window: Project Options#Save session information in|Project Options]] || XML | ||
+ | |- | ||
+ | | .lpr || Lazarus Program file, contains Pascal source of main program || || pascal | ||
+ | |- | ||
+ | | .lfm || Lazarus Form file - contains all components and their properties. The source code of the form is located in the PAS-file of the same name. || || text | ||
+ | |- | ||
+ | | .pas || Unit with Pascal code. It may also contain the code of form (stored in the LFM-file of the same name). || || pascal | ||
+ | |- | ||
+ | | .pp || Pascal code || || pascal | ||
+ | |- | ||
+ | | .inc || Include file. Contains a part of Pascal code that can be "included" in the program by the [[$include|{$i} directive]]. Not to be confused with INC-files of other programming languages that use the same extension. || [[$include]] || pascal | ||
+ | |- | ||
+ | | .compiled || Compilation session for a project || || XML | ||
+ | |- | ||
+ | | .ppu || Unit description file. Not to be confused with the compiled unit, which has the extension ".o" || [https://www.freepascal.org/docs-html/prog/progse65.html] || binary | ||
+ | |- | ||
+ | | .o || Compiled unit. Is the result of compilation by FPC (Free Pascal) or any other compiler (e.g. GCC for C++). || || binary | ||
+ | |- | ||
+ | | .or || Object resource, automatically generated from {$R} directive || || binary | ||
+ | |- | ||
+ | | .a || (1) Compiled unit, code part for smartlinking (on some platforms)<br /> (2) Compiled code from other compilers (e.g. gcc) linked into a static library || || binary | ||
+ | |- | ||
+ | | .lrs || Lazarus Resource file (this is a generated file; not to be confused with a Windows resource file) || [[Lazarus_Resources|Lazarus Resources]] || text | ||
+ | |- | ||
+ | | .lrt || Lazarus Resource string Table created when saving a LFM-file and i18n is enabled. It contains the TTranslateString properties of the LFM-file. || || | ||
+ | |- | ||
+ | | .rst || Resource String Table created by the compiler for every unit with a "resourcestring" section || [[Getting_translation_strings_right|Getting translation strings right]] || text | ||
+ | |- | ||
+ | | .rsj || Resource String table in JSON format created by FPC 2.7.1 for units with "resourcestring" section || [[Using_resourcestrings|Using resourcestrings]], [https://www.freepascal.org/docs-html/prog/progse39.html] || JSON | ||
+ | |- | ||
+ | | .rc || Resource script || [[Lazarus_Resources|Lazarus Resources]] || text | ||
+ | |- | ||
+ | | .res || Compiled resource || [[Lazarus_Resources|Lazarus Resources]] || binary | ||
+ | |- | ||
+ | | .ico || Icon (typically for a program) || || ico | ||
+ | |- | ||
+ | | .gitignore || Ignore list of [[git]] || || text | ||
+ | |} | ||
+ | === Subversion or Git === | ||
+ | These files would normally be stored in a repository as an adequate description of a project: | ||
− | + | *.lpi | |
+ | *.lpr | ||
+ | *.lfm | ||
+ | *.pas | ||
+ | *.pp | ||
+ | |||
+ | These files might contain manually-generated or imported information, or might be regenerated by the IDE or build process. In general, if they have the same basename as the project or a form or unit they're IDE-generated, but in all cases should be reviewed individually: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
*.inc | *.inc | ||
− | + | *.res | |
+ | *.lrs | ||
+ | *.rc | ||
+ | *.ico | ||
+ | These files are regenerated by the IDE or by a build so do not need to be stored: | ||
− | + | *.ppu | |
+ | *.o | ||
+ | *.a | ||
+ | *.lps | ||
+ | *.or | ||
+ | *.rst | ||
+ | *.compiled | ||
+ | Note that *.lrj files are generated for every form while tracking i18n, loss of these files can cause missing translations. | ||
+ | |||
+ | There is an example .gitignore file at [https://github.com/github/gitignore/blob/master/Global/Lazarus.gitignore]. | ||
+ | |||
+ | == [[Delphi]] == | ||
+ | === Project files === | ||
+ | *.dfm | ||
+ | Delphi form module | ||
+ | *.dof | ||
+ | Delphi project options file | ||
+ | *.dsk | ||
+ | Desktop configuration | ||
+ | |||
+ | === Converting Delphi projects === | ||
+ | Lazarus can convert at least some Delphi project files into its own format. | ||
+ | |||
+ | == Application == | ||
+ | === General === | ||
*.txt | *.txt | ||
Text file | Text file | ||
Line 38: | Line 105: | ||
Config file | Config file | ||
*.chm | *.chm | ||
− | Compiled Help File | + | Compiled Help File - contains html. See also package [[chm]] |
*.csv | *.csv | ||
Comma Separated Values text file format | Comma Separated Values text file format | ||
Line 54: | Line 121: | ||
PostScript | PostScript | ||
*.rtf | *.rtf | ||
− | Rich Text Format text file | + | Rich Text Format text file |
− | |||
− | |||
− | |||
+ | === Image === | ||
*.png | *.png | ||
Portable network graphic | Portable network graphic | ||
Line 74: | Line 139: | ||
portable bitmap | portable bitmap | ||
*.jpg | *.jpg | ||
+ | compressed image format standardised by the Joint Photographic Experts Group (JPEG) | ||
− | + | === XML === | |
− | |||
− | == XML == | ||
− | |||
*.xml | *.xml | ||
*.dtd | *.dtd | ||
Line 84: | Line 147: | ||
*.xsl | *.xsl | ||
− | == Web == | + | === Web === |
− | |||
*.html | *.html | ||
Hypertext Markup Language | Hypertext Markup Language | ||
Line 91: | Line 153: | ||
Cascading style sheet | Cascading style sheet | ||
− | == Archive == | + | === Archive === |
− | |||
*.tar | *.tar | ||
tape archive | tape archive | ||
*.zip | *.zip | ||
+ | a single file containing one or more compressed files | ||
− | == Database == | + | === Database === |
− | |||
*.dbf | *.dbf | ||
Database file | Database file | ||
Line 104: | Line 165: | ||
Multiple index file | Multiple index file | ||
− | == [[ | + | === [[FPSpreadsheet|Spreadsheet]] === |
− | + | *.ods | |
− | *. | + | OpenOffice.org Calc spreadsheet File Format |
− | + | *.xls | |
− | *. | + | Microsoft Excel File Format |
− | + | *.xlsx | |
− | *. | + | Microsoft Office Open XML Excel File Format |
− | |||
− | |||
− | |||
+ | == Operating system == | ||
+ | === Linux and Unix (excluding Darwin) === | ||
*.so | *.so | ||
Shared object library | Shared object library | ||
Line 122: | Line 182: | ||
Debian Package | Debian Package | ||
*.rpm | *.rpm | ||
− | + | Red Hat Package Manager | |
− | == Mac == | + | === Mac (Darwin) === |
*.app | *.app | ||
+ | [[Application Bundle|Application bundle]] (a structured directory) | ||
*.dmg | *.dmg | ||
Disk Image File | Disk Image File | ||
*.dylib | *.dylib | ||
− | Dynamic shared library | + | [[macOS Dynamic Libraries|Dynamic shared library]] |
− | + | *.framework | |
− | + | Framework (set of interfaces or subframeworks) | |
+ | *.icns | ||
+ | Icon resource file containing one or more images used for an application icon | ||
+ | *.plist | ||
+ | [[macOS property list files|Property list file]] (storage for serialised objects) | ||
+ | === Windows === | ||
*.bat | *.bat | ||
Batch file. It's a text file that contains a sequence of commands for a computer operating system. | Batch file. It's a text file that contains a sequence of commands for a computer operating system. | ||
Line 142: | Line 208: | ||
== See also == | == See also == | ||
+ | |||
[[Alphabetical list of file extensions]] | [[Alphabetical list of file extensions]] | ||
+ | |||
+ | [[Category:Lazarus]] | ||
+ | [[Category:File Handling]] |
Latest revision as of 16:30, 8 December 2023
Here are the file extensions that are used when developing programs in Pascal. In most cases, these are extensions used by the IDE (Lazarus) and the compiler (FPC).
Lazarus
Project files
extension | description | help | format |
---|---|---|---|
.lpg | Lazarus Project Group file | Project Groups | XML |
.lpk | Lazarus Package file (contains package-specific settings) | Lazarus Packages | XML |
.lpi | Lazarus Project Information file (contains project-specific settings) | XML | |
.lps | Lazarus Project Session file | Project Options | XML |
.lpr | Lazarus Program file, contains Pascal source of main program | pascal | |
.lfm | Lazarus Form file - contains all components and their properties. The source code of the form is located in the PAS-file of the same name. | text | |
.pas | Unit with Pascal code. It may also contain the code of form (stored in the LFM-file of the same name). | pascal | |
.pp | Pascal code | pascal | |
.inc | Include file. Contains a part of Pascal code that can be "included" in the program by the {$i} directive. Not to be confused with INC-files of other programming languages that use the same extension. | $include | pascal |
.compiled | Compilation session for a project | XML | |
.ppu | Unit description file. Not to be confused with the compiled unit, which has the extension ".o" | [1] | binary |
.o | Compiled unit. Is the result of compilation by FPC (Free Pascal) or any other compiler (e.g. GCC for C++). | binary | |
.or | Object resource, automatically generated from {$R} directive | binary | |
.a | (1) Compiled unit, code part for smartlinking (on some platforms) (2) Compiled code from other compilers (e.g. gcc) linked into a static library |
binary | |
.lrs | Lazarus Resource file (this is a generated file; not to be confused with a Windows resource file) | Lazarus Resources | text |
.lrt | Lazarus Resource string Table created when saving a LFM-file and i18n is enabled. It contains the TTranslateString properties of the LFM-file. | ||
.rst | Resource String Table created by the compiler for every unit with a "resourcestring" section | Getting translation strings right | text |
.rsj | Resource String table in JSON format created by FPC 2.7.1 for units with "resourcestring" section | Using resourcestrings, [2] | JSON |
.rc | Resource script | Lazarus Resources | text |
.res | Compiled resource | Lazarus Resources | binary |
.ico | Icon (typically for a program) | ico | |
.gitignore | Ignore list of git | text |
Subversion or Git
These files would normally be stored in a repository as an adequate description of a project:
*.lpi *.lpr *.lfm *.pas *.pp
These files might contain manually-generated or imported information, or might be regenerated by the IDE or build process. In general, if they have the same basename as the project or a form or unit they're IDE-generated, but in all cases should be reviewed individually:
*.inc *.res *.lrs *.rc *.ico
These files are regenerated by the IDE or by a build so do not need to be stored:
*.ppu *.o *.a *.lps *.or *.rst *.compiled
Note that *.lrj files are generated for every form while tracking i18n, loss of these files can cause missing translations.
There is an example .gitignore file at [3].
Delphi
Project files
*.dfm Delphi form module *.dof Delphi project options file *.dsk Desktop configuration
Converting Delphi projects
Lazarus can convert at least some Delphi project files into its own format.
Application
General
*.txt Text file *.po Gettext Portable Object *.bak Backup *.cfg Config file *.chm Compiled Help File - contains html. See also package chm *.csv Comma Separated Values text file format *.exe Directly executable program *.hlp Help file *.ini Initialization file *.odt OpenDocument text document *.pdf Portable Document Format *.ps PostScript *.rtf Rich Text Format text file
Image
*.png Portable network graphic *.bmp bitmap *.ico icon *.xpm pixmap *.ppm portable pixmap *.pgm portable graymap *.pbm portable bitmap *.jpg compressed image format standardised by the Joint Photographic Experts Group (JPEG)
XML
*.xml *.dtd *.xsd *.xsl
Web
*.html Hypertext Markup Language *.css Cascading style sheet
Archive
*.tar tape archive *.zip a single file containing one or more compressed files
Database
*.dbf Database file *.mdx Multiple index file
Spreadsheet
*.ods OpenOffice.org Calc spreadsheet File Format *.xls Microsoft Excel File Format *.xlsx Microsoft Office Open XML Excel File Format
Operating system
Linux and Unix (excluding Darwin)
*.so Shared object library *.sh Shell script *.deb Debian Package *.rpm Red Hat Package Manager
Mac (Darwin)
*.app Application bundle (a structured directory) *.dmg Disk Image File *.dylib Dynamic shared library *.framework Framework (set of interfaces or subframeworks) *.icns Icon resource file containing one or more images used for an application icon *.plist Property list file (storage for serialised objects)
Windows
*.bat Batch file. It's a text file that contains a sequence of commands for a computer operating system. *.dll dynamic-link library *.exe Directly executable program