though DataFlex has been around for over 25 years, all
of the file extensions used in the first versions of
DataFlex are still used and mean the same thing. The
introduction of OOP into the language in the early 1990s
added a few more extensions (such as VLD). DataFlex's
migration to the Internet in the form of the DataFlex
WebApp Server in the late 1990s added a few more extensions
is a list of the file extensions (in alphabetical order)
that can exist in a DataFlex application.
|BAD files are generated by the indexing
program (dfindex or dfsort, depending on the runtime
version) when a duplicate record or a record with
invalid bytes has been detected. A .BAD file contains
information about the problem that an administrative
utility (dfclean) uses to fix the duplicate or invalid
records. Unfortunately, .BAD files are not deleted
by dfclean. The existence of a .BAD file indicates
that there was a problem at that time. The only
way to know for certain that the problem was fixed
is to perform a new dfindex (or dfsort) on the datafile.
||A BP file is the source code for an
object that contains logic about a business process.
A business process is an algorithm that exists solely
to facilitate a step in a transaction. Examples
of business processes are tax calculations, minimum
inventory threshold calculations, security levels
for various user roles, and the selection of the
next inventory part to pick in a FIFO queue.
||A BPO (business process object) is
a synonym for a BP file.
CFG files are configuration files -- files that
define how DataFlex will behave on that installation.
The configuration files typically seen are:
- filelist.cfg: associates each datafile
with a unique, internal, DataFlex number.
- termlist.cfg: In older versions of
DataFlex, termlist.cfg contains the terminal
(monitor and keyboard) definitions along with
the DataFlex license information. More recent
versions of DataFlex use termlist.cfg for the
monitor and keyboard definitions.
- collate.cfg: Provides the sorting sequence
used by DataFlex indexes.
- dfini.cfg: This is a modern version
of termlist.cfg. Whereas termlist.cfg was a
binary file, dfini.cfg is an ASCII file that
is much easier to edit and read.
|| DataFlex datafile or table files
all have a .DAT extension. Each datafile holds one
(and only one) table, so a datafile and table (in
DataFlex) are synonymous. Each datafile should have
a .TAG and .FD
file, and optionally a .HDR,
.K* files, and a .VLD
file. Because of the way DataFlex runs, .TAG and
.FD files are not needed by the DataFlex runtime,
so .TAG and .FD files might be missing.
||A DD (Data Dictionary)
is a synonym for a DataFlex Data_Set.
Datafile (table) definitions have a .DEF extension.
DEF files are written by the DataFlex file definition
program. The names and versions of the file definition
|2.0 - 2.3
|3.0 - 3.2
||DFFILE or DFMAINT
||DFR files count users and verify that
the limits of the DataFlex license have not been
exceeded. DFR files are named number.DFR,
such as 1234.DFR. The number corresponds with the
DataFlex serial number for that installation.
||A DG files is the source code for
a dialog box. A dialog box is a data entry screen
that forces a user to either acknowledge or cancel
the box before the user is allowed to continue.
Examples of dialog boxes are error messages and
||A DataFlex Data_Set is an object that
encapsulates the interface to a DataFlex datafile.
All interaction with a DataFlex datafile should
ideally occur through a Data Set Object.
||A DSO is a synonym for a DS
||EXE files are the DataFlex runtime.
The runtime can not be decompiled -- only .FLX
files can be decompiled. In versions of Visual DataFlex
starting with 8.0, EXE files are also DataFlex programs.
||An FD file contains an association
between the real name of a datafile and the internal
DataFlex number. For example, the CUSTOMER datafile
might be internally associated with the number 15.
FD files also contain information about the definition
of each column in a DataFlex table. This is used
by the DataFlex compiler to associate file and field
references in source code with an internal numbering
scheme used within the DataFlex runtime.
||FLX files are compiled DataFlex programs.
The source code for these programs can be restored
by using The Database Managers' decompiling
An HDR file is a header file for a
datafile. If header files exist, there will be one
HDR for each DAT. The header file is mostly a copy
of the the first 2,776 bytes of the datafile in
case that part of the file gets clobbered for some
reason (usually due to a hardware related failure,
such as power failure). An administrative utility
allows a developer to restore a damaged header based
on the 'backup' provided in the HDR file. More
information about HDR files is available at
the Data Access Corporation website.
||An INC file is a source file that
is designed to be included into some other source
file. INC files typically define macros and other
extraneous and reusable bits of code. An unwritten
convention says that INC files can be included multiple
times within a source file without causing a compile-time
error. This is in direct contrast to a package file
that can only be included one time. The difference
is that an INC file normally has compiler directives
embedded in the source file to guard against causing
compile-time errors when it is included twice, whereas
a PKG file normally lacks those
mechanics. INC files are normally included into
source files using the #include
DataFlex index files have a .K* extension. The
* of K* is a one or two digit number. Values of
K* will range from K1 through K15. In DataFlex
2.x, the K10 index was always a 'batch' index,
which means its contents were not updated when
the datafile was updated. Batch indexes are only
updated when the index is (re)created with dfindex
or dfsort, depending on which version of DataFlex
you have. This provided some advantages in certain
situations, but most of those advantages have
become obsolete with the faster computers and
larger hard drives we enjoy today.
Index files can sometimes be enormous. I've seen
index files that were bigger than the datafile
they were indexing! Because index files are so
big, and because the dfsort utility in modern
versions of DataFlex is so fast, it's oftentimes
not necessary to back up index files. The reason
is that in those rare circumstances when a datafile
is restored from a backup, it takes little time
to reindex all of the datafiles for a small or
medium-sized application. The time saved by not
having to back up index files every day outweighs
the time wasted reindexing a restored datafile.
Also, depending on your backup medium, it can
be faster to simply reindex a datafile versus
restoring the file from the backup medium.
||A MAC file is a source file that contains
DataFlex macro definitions. See also INC
|A PIF file is a Windows Program Information
File used by Windows to determine how to run the
||A PKG file normally contains class
and object definitions. Because of that, a PKG file
should normally be compiled into a DataFlex program
one time. The USE command guards against compiling
a PKG file twice into the same program. A PKG file
is in direct contrast to an INC file,
which is assumed to be included into a source file
more than one time.
|In 2.x versions of DataFlex, PRN files
are graphic device drivers. PRN files can also be
debugging output from the compiler.
||A report view contains the class and
object definitions for a specific report.
||A selection list is an object that
allows a user to choose one or more records from
a scrollable list of records.
||An SRC file is a DataFlex source file.
||Similar to an FD
file, a TAG file is an ASCII file that contains
a line delimited list of the fields defined in a
table. It used used by DFQuery to let the user choose
the fields from a datafile.
||In DataFlex 3.0, the variable length
datafile, or VLD file, was introduced. When VLD
files are used, the VLD file holds the real data
and the DAT file simply holds
a pointer to the location in the VLD file where
the data resides. Therefore, when backing up or
restoring a datafile, it's vitally important that
the DAT and VLD (and HDR) be
kept in synchronization with each other. A VLD file
without a DAT file is completely useless, just like
an index file (K*) would be without
its DAT file.
||A view is a data entry panel.
||A Web Business Object is a synonym
for a WO file.
||A Web Object provides an interface
between the ASP code and the Data
Sets and Business Objects.