Classic Computer Magazine Archive COMPUTE! ISSUE 50 / JULY 1984 / PAGE 67


M'FILE For The Commodore 64

Stan Fenster

M'FILE is a set of data management programs for the Commodore 64. A 1541 disk drive and a printer are required. The manual indicates that there's also a tape version, but it was not tested for this review. Any serial port or user port (RS-232 or parallel) printer can be used.

The package contains a 7-inch x 9-inch loose-leaf manual, a software key, and a program disk. The programs on the disk can be copied to a backup disk. The key, which plugs into Control Port 1 (front joystick port), is required to run the program. The disk contains the main routines, a SORT program, a COPY program, and a TEXT'MERGE program. No data files go on this disk. Instead, each data file occupies a separate data disk. This might discourage the use of M'FILE for small jobs.

The manual is well written and generally easy to follow, though more examples would have been helpful. However, the menus within the program lead the user so effectively through all the necessary steps that you'd rarely need to refer to the manual.

Major Characteristics

Data is stored on the data disk, not in RAM. This allows for either 1000 records of 125 characters each or 500 records of 250 characters each. Each record is limited to 32 fields of no more than 78 characters each. Fields can be either numeric or alphanumeric. All alphabetic characters are in uppercase, but a new version which supports both upper- and lowercase has been announced. Numeric fields can be used in formulas allowing arithmetic calculations among fields. Within formulas, an if-then syntax is available. Up to ten user-defined interfield formulas can be used.

Selection of records for updates, reports, or text merges can be made using any or all fields. One field is designated as the keyfield. Searches using the keyfield are especially fast, and offer extensive comparison capabilities ( =, <,>, <=,> =, or <>) between fields.

Report formats are very flexible, and up to 15 such formats can be saved for reuse later. Fields can be printed in columns or horizontally, and special ASCII control codes can be sent to the printer.

Main Menu Options

The main menu gives the following options:

  1. Access a File.
  2. Print a Report.
  3. Create a File.
  4. Sort a File.
  5. Exit.

To get started, select Create a File. Next, format a data disk and set it up to receive the record specifications. After a title is entered, the program leads the user through the steps of choosing field names, types, sizes, and decimal settings. When setup is complete, it is stored on disk, and the user proceeds to Access a File.

Access a File is used to enter new data, to change or inspect data, or to add fields and formulas.

Print a Report allows the user to create a new report format, to call up a saved report format, to add temporary fields or formulas, to display totals on the screen, or to set printer control characters. After a report format is chosen and edited as desired, it may be saved. The report is then printed. Many options are available in setting up the print format.

Use Of Function Keys

The screens displayed by M'FILE are either menus or data screens. Data screens have a line at the bottom indicating the functions available by use of function keys. These generally include f1 = ACCEPT, f3 = DELETE, and f5 = EXIT. On a data entry or modification screen, f7 = ADD/SUB (modify a numeric field) also appears.

When a record selection is made by record number, the f2 key advances the pointer to the next sequential record, and f4 moves to the previous sequential record. Note that if records have been deleted, there may be missing record numbers. When a record selection is done by searching, the f8 key advances to the next matching record. However, none of these even-numbered function keys is indicated in the screen prompts.


Sorting is done by a separate program (SORT) loaded from the main menu. Sorting is performed on any single field, in either ascending or descending order. The result is a new, sorted data file on the disk. The exit from SORT is to the BASIC environment, not back to the main menu. To continue processing—for example, to prepare a report—the user must load and run M'FILE again.

Text Merging

A separate program, TEXT'MERGE, is provided to create files which can be used by most major word processing programs. The selection menu lists Quick Brown Fox, WordPro, EasyScript, Script 64, Totl Text, Busiwriter, Paper Clip, and Other. Other is intended to work with any word processors which can read sequential files. I found that I could not generate mailing lists and labels in the format I wanted with the M'FILE report generator. However, using TEXT'MERGE in conjunction with my word processor (EasyScript), it was easy to get single-column labels. Additional columns are not supported by M'FILE but I was able to do it with word processor manipulations—but only because my printer has reverse-line motion.

Copy Program

A separate program, COPY, is provided to make backup copies of M'FILE data disks, using a single disk drive. The file title of the new disk can be different from the old title. As with other backup programs, frequent disk swaps are required to make the backup disk. COPY also allows the user to copy the format only. This feature is useful for expanding the file onto a second disk, or creating a new file with the same format.

Other Features And Considerations

Another capability of M'FILE is a screen dump to the printer at almost any time, by pressing the British pound key.

When the file structure is accepted by the user, the file character limit is set at 125 if no more than 125 characters are required; otherwise, the limit is 250 characters. After this, the original field names and structures can't be changed, although new fields can be added later, as long as the maximum character limit (125 or 250) is not exceeded.

In report mode, additional temporary numeric fields can be added. Their contents are created by using formulas involving other numeric fields. The menu allows the user to add alphanumeric fields, but there is no way to enter data into them.

Reports have an optional total line at the end. However, the number of characters for each numeric field is the same for the totals as for individual entries. This leads to possible truncation in a total if extra digits would have been generated. I had this problem, and I found a solution by creating a temporary field equal to my original field, but with extra width. Then I used the new field instead of the old one and got a correct total. Of course, it would have been easier if the original field had been wider, but I didn't know that at the time. A related feature is Screen Totals. This allows display of totals on the screen, but has the same width limitation as printed totals.

Because the main data is kept on the data disk, there are frequent disk reads and writes. In particular, when an exit is made from the file access mode after changes are made, the data file on disk is rewritten, which takes a few minutes. When the user enters a new mode, a read is required, even if a write was just performed.

Field selection and searching are easy and fast. Sorting on keyfields is fast too, but limited in speed by disk accesses. Other sorts are slower.

Even with the limitations discussed above, M'FILE is a powerful and versatile data management system.


by m'soft

Double E. Electronics, Inc.

12027 Pacific Street

Omaha, NE 68154

(402) 334-7870