Re: Working with fixed format text db's
- From: John Machin <sjmachin@xxxxxxxxxxx>
- Date: Fri, 08 Jun 2007 18:38:38 -0700
On Jun 9, 7:55 am, Jeremy C B Nicoll <jer...@xxxxxxxxxxxxxxxx> wrote:
Neil Cerutti <horp...@xxxxxxxxx> wrote:
On 2007-06-08, Jeremy C B Nicoll <jer...@xxxxxxxxxxxxxxxx> wrote:
Neil Cerutti <horp...@xxxxxxxxx> wrote:
Luckily, the output format has not changed yet, so issues with
maintaining the above haven't arisen.
The problem surely is that when you want to change the format
you have to do so in all files (and what about the backups
then?) and all programs simultaneously.
I don't have control of the format, unfortunately. It's an import
file format for a commercial database application.
You're saying your program merely has to read data files created by that
database app? It's not that you have a whole suite of programs that create
and read these files, nor that you have years worth of old files that would
need their format converted if the programs were changed?
It is not actually *hard* to do this with ad-hoc code, but then
the program is indecipherable without a hardcopy of the spec in
hand. And also, as you say, if the spec ever does change, the
hand-written batch of ljust, rjust and slice will be somewhat of
a pain to reconfigure.
You could presumably define a list (of some sort, might be the wrong
terminology) that defines the 'name', type, length, justification and
padding of each field, and then make the explicit code you showed loop
through that list and do what's needed field by field.
There's a risk that abstracting the definitions will make the code less
clear to anyone else; at least it's clear what the current stuff does.
But biggest weakness, to me, is that the specification is not in
the code, or read and used by the code, and I think it should be.
It'd be better if you could read the data layout spec from some file
produced by the database system. No chance perhaps of having the dat files
include some sort of dummy first record that contains the necessary info in
a form that you could interpret?
The OP is *WRITING* not reading.
.
- References:
- Working with fixed format text db's
- From: Neil Cerutti
- Re: Working with fixed format text db's
- From: Jeremy C B Nicoll
- Re: Working with fixed format text db's
- From: Neil Cerutti
- Re: Working with fixed format text db's
- From: Jeremy C B Nicoll
- Working with fixed format text db's
- Prev by Date: Re: DAO and Access97 WHERE clause fails
- Next by Date: Re: Working with fixed format text db's
- Previous by thread: Re: Working with fixed format text db's
- Next by thread: Re: Working with fixed format text db's
- Index(es):
Relevant Pages
|