home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR2
/
DELIM327.ZIP
/
HISTORY.TXT
< prev
next >
Wrap
Text File
|
1993-04-25
|
6KB
|
133 lines
History of DELIMIT _______
DELIMIT was created when a friend needed to do some budget _______
analysis. The accounting reports were 100 pages long, and we
needed to get the department totals into a spread sheet for
analysis. There were 3 choices:
1) Ask the computer operators to create an ad hoc report in a
difficult to use report writing system, and import it into
the spread sheet. They were back logged, so it would have
taken a couple of weeks, (and the next time the requirements
would have been different, and we would have to wait weeks
again.)
2) Import the entire report into the spread sheet, and delete
the detail records. (the spread sheet couldn't handle that
many lines).
3) Use a text editor to delete the detail lines, and then
import it into the spread sheet. This would have been very
tedious!
We tested parsing 1 page of the accounting report in a spread
sheet program. Reading the text file was quick, but parsing it
took a long time - it would have literally taken HOURS to parse
the hundred pages of data we needed. We didn't need all the
columns that were included on the report anyway.
DELIMIT v1.00 was created. We could INCLUDE the records we _______
wanted and ignore the rest (Detail parm). We could also select
the columns we wanted and ignore the others. The data was either
text - surrounded by double quotes, (Character parm) or numbers
(Number parm). What would have taken hours to parse took just a
few minutes using DELIMIT. The spread sheet program could read _______
the text file quickly, and the time consuming parse was not
needed.
Several weeks later, we needed to do the same thing, but wanted
all the detail records for a 20 page section of the report, not
just the totals. There was no unique way to identify the detail
records, but we could identify the records we didn't want. This
is when the Header parm was added, to select records to EXCLUDE
from the processing, and process the rest.
Somewhere along the line, someone else needed to DELIMIT a file, _______
but their destination program didn't want text surrounded by
double quotes. This is when the Move parameter was created, to
select the text, but not surround it with double quotes.
Another person saw this and said, "this is great!, but why do I
have to print the report first, why can't I just copy the data
file from the mini computer?" This represented a two changes.
The first change was that the source file was no longer a report.
The data file from the mini was fixed format, with NO record
separators. This is when the Length parm was created, to be able
to read files with no record separators. The second problem was
that the records were longer than 255 characters. The input
buffers can now work with records up to 4000 bytes.
During another project, we needed to bring a data file from a
main frame tape, to a Macintosh (Mac). The Mac doesn't
understand comma delimited files, it doesn't like double quotes
or Carriage Return - Line Feed (CR-LF) for the record separator
either. This produced the Separator parm, to be able to use any
other character (or string) as a field separator. This also
produced the Record separator parm, in able to use any other
character (or string) as the record separator.
After explaining the program to someone, they said, "how can you
understand what all those parm files mean?". This lead to the *
comment parm, so parm files can be documented.
The latest project has been to acquire data from many diverse
sources, and import it into a data base. One mainframe source
could only supply data on large reel tape. The numeric fields
were signed (the last position not a number it is a letter).
This produced the Signed Numeric field.
It is faster to create one import program, and many DELIMIT parm _______
files to create the format we need, than to continue to write new
import programs for the data base. Also the research analysts
don't want to program, but they love to DELIMIT. _______
FUTURE ENHANCEMENTS
- A constant parm, to add 'constant' data to every record.
During one project, data is reformatted from a fixed format
file to be imported into a spread sheet. For formatting
purposes, the user wants to create blank columns. Currently
we just select an area we know will be blank to give the
empty field.
- A record count parm. Some data by its nature does not have
unique keys. A record count parm could be used to create
unique keys. Some data bases require a unique key for
storage reasons.
- A prettier user interface.