CRDFIL.THD --- Copyright 1987 by Phil Wheeler An original compilation of Compuserve Model 100 Forum messages for use by Forum members only. CRDFIL.BAS (see also CRDFIL.DOC, .TIP & .DVI) in DL4 is a nifty "index-card" data base program, given us by Tony as a 1987 Christmas present. It is proving to be very popular -- and is one of those "Why didn't I think of it first?" programs. CRDFIL has been the major topic of conversation here during the holiday week. This file captures some of those messages. Message range: 162966 to 163207 Dates: 12/26/87 to 12/30/87 Sb: #CRDFIL Fm: Phil Wheeler 71266,125 To: Tony Anderson 76703,4062 Just gave this one a trial run. Pretty nifty. Just scanned the doc, and it ran with very little need for documentation. Nice program, Tony -- and very practical use for these machines. Fm: Tony Anderson 76703,4062 To: Phil Wheeler 71266,125 Surprised someone didn't come up with it before. Although I'm not real pleased with the approach of storing the data in the file the way it is... But the "template" idea intrigued me. Also, I think an improvement would be to enable the search function on only specific fields, rather than on all the fields on a card... i.e. search for only those cards with "1984" on a "date" line... ignore it anywhere else. Also, how about an alphabetic resort of the file? Ideas for the next version. (grin) Fm: Phil Wheeler 71266,125 To: Tony Anderson 76703,4062 Gee, could be lots of enhancements, I suppose: compress the data files somehow; field sensitive search; etc. But it would all add to the size. But it you built in a DOS for disk access, then size wouldn't be so imoportant. Let's see --it would have to see which disk type was in use to be truly elegant. Nahhh...not worth the hassle! Fm: Denny Thomas 76701,40 To: Phil Wheeler 71266,125 I tested it with the Munk and it worked just fine. Could be a problem with files larger than ram and on a TDD though, not sure. Fm: Tony Anderson 76703,4062 To: Denny Thomas 76701,40 Glad to hear your report of a successful test on the Chipmunk... I hadn't gotten around to doing disk tests on the program yet, since it was more of an academic exercise than a needed program... I was intrigued with the "template" idea of having a single program make up card file templates, and having several data files, all of which fit the same program, regardless of what kind of data was in the file. The problem with TDD use would seem to be in the use of the Append statement in the "Add" section, line 622; and of course, the 64K file size limitation. I don't know if all the DOS's for the TDD support APPEND. The original POWR-DISK, and TS-DOS do; but it is not clear whether the original version of Disk-Power (UltraSoft) supports APPEND. The manual says only "OPEN `0:filename' FOR `mode' AS `file number'. `Mode' is not defined. And of course I have no information on Power-DOS, or accessing data in the Node DataPak or Booster Pack. But it's possible the program could be very useful with large files stored in external devices. Fm: Denny Thomas 76701,40 To: Tony Anderson 76703,4062 Well, Powr-DOS thinks of itself as "device generic" and refers you to the detailed instructions in the M100 manual, so I don't think there's a problem there. And I know that the Booster Pack can handle either the RAM-disk or TDD./t Denny Fm: C. Davey Utter 70055,522 To: Tony Anderson 76703,4062 Tony, well you got me!! It's a real fine idea that is LONG overdue. My wish would be for a report generator and for it to dial phone numbers. I'm not a programmer, but I'll test stuff endlessly for those who want to write it and this is a fine start! Put this baby in a ROM chip or the booster pack and we'll really have something!!...Dave Fm: C. Davey Utter 70055,522 To: Phil Wheeler 71266,125 Phil, it's WORTH the hassle!!!! Long overdue, anything I can do to help, let me know...Dave Fm: C. Davey Utter 70055,522 To: Denny Thomas 76701,40 TDD is a MUST guys, let's go on this one, it's a beauty!!!...Dave Fm: C. Davey Utter 70055,522 To: Denny Thomas 76701,40 This is getting exciting!...Dave Fm: Tony Anderson 76703,4062 To: C. Davey Utter 70055,522 How exactly, would you couple a report generator to the data files? I imagine a simple program that read the format, then printed the data according to format would be easy. Not sure about dialing phone numbers. Why would you think that to be a good, or even necessary, improvement? Fm: Tony Anderson 76703,4062 To: C. Davey Utter 70055,522 Well, I've given it a little bit of thought, and I suppose a CRDFIL Printing program wouldn't be too difficult to put together. Problem would be in defining exactly what it should do. As i see it, if you're going to print data from the file, you have several options: 1) Print the data exactly as it appears on the screen, on cards or paper... 2) Rearrange the data in a different format that might look better on whatever you're printing the data on; cards, paper, lists, etc... 3) Selectively print just the data you want from the file in some specified format, and alternately even change the normal card prompts to suit the output better. 4) Restructure the data, correlating it to some specification, sorting, or listing on specified fields only. As more options become available, the program would naturally get more and more complex. 1 and 2 should be relatively easy to do... 3 and 4 would match capabilities in MAJOR database report generator programs, some of which occupy over 100K in PC's. -- I've always been amazed that they have to use so much space for PC programs. Is it inefficient programming? Or just the machines??? (grin) But that's another question... And not being a report-oriented person, I'm probably overlooking some capability that would appear obvious to someone with some experience in that field. Like if I was trying to develop a report generator for spreadsheet data files... no experience, no insight into what the final product should look like. What are your ideas along this line? Maybe something will develop, given enough interest. Incidently, the program can be used to print data on labels or whatever. I've seen continuous labels that are 1.5 x 4 inches, which would take an 8 line "card" 40 characters, quite easily. Shipping labels would be another example. Fm: Tony Anderson 76703,4062 To: C. Davey Utter 70055,522 Here is a sample of how the logic flow of the cardfile report generator is shaping up. Comments? CARD FILE PRINT PROGRAM `REPORT GENERATOR' What is the name of the data file to be used? (filename) Do you want to print on ards or labels, print on

aper, or ist selected items? (C/P/L/E/M) Would you like to print ll the data cards or earch for specific word matches? (A/S/E/M) Do you want them in hronological order (as entered), or in a Pseudo- orted order? (C/S/E/M) Let's look at your original screen prompts, and change any that need it, and select the ones you want printed. Screen display will give you a number for each prompt. Note the numbers, or press the PRINT key for a copy! Type the number of the prompt you want to change. Type a zero to change none of them. Number to change? Prompt # x "(prompt)" Change it to: ? Do you wish to change another? (Y/N) Do you want to print all the data fields? (Y/N) (If N): Type a zero to end this routine. Data field NOT to print: You are left with the following: (List of prompts to be printed) That's about as far as I've got, so far. Is this the sort of thing you had in mind??? Fm: Gary Davis 72256,2551 To: [F] Tony Anderson 76703,4062 I your CRDFIL program! I have already thought of 6 different uses that will benefit me both at home and at work. You're nifty! One point....in the ADD mode, suppose you want to "skip" one of the prompts, i.e., no info is to be entered for that particular prompt, yet you want to go to the next prompt and, indeed, enter data. If you hit so as to bypass a prompt you default back to the menu screen and lose all you have entered on that particular card. So, if possible, it would be nice to have continue to cycle you through ALL the prompts on that particular card even if you haven't entered anything. Minor point, but thought I should bring it to your attention to see if you agree because there might be some instances wherein you would want to fill out a 7 prompt card, for example, but have nothing to enter in prompt 3 for that particular card. Hope you had a wonderful Christmas holiday....and thanks again for a great program! Fm: Tony Anderson 76703,4062 To: Gary Davis 72256,2551 Well, I didn't consider blank fields, I admit. You can always put a single space in a blank field. The space will preserve the field in the data file, and will print as "nothing" on output. The problem is in line 608... it should have been like lines 294-296. You can fix it yourself by putting in: 608 LINEINPUTB$(A):IFB$(A)=""THENB$(A)=" " 609 IFINSTR("ENDEndend",B$(A))THENRUN ELSENEXT Thanks for calling that one to my attention, though.. you shouldn't go back to the menu with a CR input. Will fix that in the next version. The CRDPRT program that I'm working on next will be a doozy - printing from the data file in different formats. Fm: C. Davey Utter 70055,522 To: Tony Anderson 76703,4062 All your thinking is what I have been thinking about to. Really have nothing to add at this point as you have covered it all so far. Will be playing around with the porgram for the next few days and will holler if I get any great ideas...Dave Fm: C. Davey Utter 70055,522 To: Tony Anderson 76703,4062 Yes! It's right on the money...Dave Fm: Tony Anderson 76703,4062 To: C. Davey Utter 70055,522 Well, I'm not sure we really NEED a print program to work with the CRDFIL concept. ... I chose what I considered to be some minimal options... print on cards, or paper in the more-or-less screen format, or list selected items on paper in the form of columns. Included is all-print, selective print, or pseudo-sorted print. So far, I've got only the cards portion of the program done, and the program is over 7K !!! I told you such sophistication required lots of RAM space. ... Or perhaps it was programming unsophistication. (grin) Fm: R Caley 72316,647 To: tony anderson Tony: I got the new program downloaded. I also read all the chatter about your program. I KNEW I wasn't the only one who thought it was nifty! Anyway, I see that you are already 7K into a report generator. So maybe any comments I might make will be too late. However, you mentioned reports were not your usual forte. But they are my SPECIALTY. If I get some time, I will send you a note with some well thought out suggestions that you might use in the future. I think maybe you hit the nail on the head though--when you said you're fast approaching a database management system. For example, I can't think of a report generator without thinking of NUMERIC fields that can be sub-totaled and/or Grand Totaled based on a sorted key field. But that's another problem. Anyway, as I said, I'll get back to you when possible with some ideas (such as they might be.) Fm: Tony Anderson 76703,4062 To: R Caley 72316,647 See! Now that's the sort of thing (totalling fields, etc...) that is beyond my insight. I'd think a spreadsheet program would be better for that sort of thing... I'm just trying to get the cards printed out in a neat order. I was thinking of just common, ordinary, 3x5 cards... not a whole database manager. (grin) Fm: Tony Anderson 76703,4062 To: C. Davey Utter 70055,522 Due to the size of this beast... over 9K now, and still growing, I'm going to break it up into 3 discrete printing programs; one for cards or labels, one for a paper dump of selected entries, and one for columnar listings of selected data. That seems the only way to go, as this multi-purpose printing program is getting out of hand. Maybe I'll get it done, or at least part of it done, by next weekend. Meanwhile, build your data files. (grin) Fm: GENE NESTRO 72216,512 To: Tony Anderson 76703,4062 WOW!!!!!! Fm: GENE NESTRO 72216,512 To: ALL Following recent threads of this prg. It occured that there is a 395 byte Label printing prg. in DL4, that can be compressed more... Following the upload of Tony,s Tip file, you might want to look at this prg. LABEL.EZ (DL4). Might even be an module you want to add. Fm: Tony Anderson 76703,4062 To: GENE NESTRO 72216,512 And i just got a mail-order catalog from Data Dynamics in Long Beach, Calif, which offers one-up pin-feed labels that are 4 inches by 1.5 inches... i.e. 40 columns wide (Pica), by 9 lines... perfect for dumps of an entire screen to a label. I'll be adding that to the TIP file. Fm: R Caley 72316,647 To: TONY ANDERSON Tony: I got your messages and they were very helpful. I've got the "don't print field name" working; and the colon after the prompt works well. Hope I wasn't being fussy. Concerning all this falles des ralles about your program, you are absolutely correct. It's not intended to replace a DB. I think it's fine as is. For your "report" program, all you need are a couple options. Print "AS IS" (no report use print F key) Print mailing labels from name address city st. zip fields print selected fields in columnar fashion. I've got the 80 columns working fine and have found that I must quit before using 256 bytes on a field or the file becomes corrupted. Fm: GERALD LINDSAY 73717,2710 To: Tony Anderson 76703,4062 I really appreciate your program runs great. I have been using it with my 256K Node Ram, since the program exits to menu I can run the program from the Node. Only problem is it still looks for the data in system ram. Not your problem, but I thought you'd like to know you don't need to put it on a ROM. Now if you could just look into the small problem in your spare time?????? Fm: GERALD LINDSAY 73717,2710 To: Tony Anderson 76703,4062 Me again, forgot one real problem I had was Search is case sensitive, is there an easy way to change this. I forget to capitalize at times and can't locate the file card. Still works great though. Fm: Tony Anderson 76703,4062 To: GERALD LINDSAY 73717,2710 Not having a Node, I don't know how to access files in the Node, rather than in RAM. I suppose you'll have to change the OPEN statements to reflect the device you are using, the same way you change them to be able to access disk drives. "0:filename.do" will get data from disk (assuming a compatable DOS), and I think "R:filename" does it from the Node... if so, you can type that in when you are asked for a filename. Fm: Tony Anderson 76703,4062 To: ALL CRDFIL USERS Some additonal tips have been added to the tip file on the basis of messages and information exchanged today. (12/30) Fm: Tony Anderson 76703,4062 To: GERALD LINDSAY 73717,2710 Get a new copy of the CRDFIL.TIP file in DL4, it contains a solution to the case-sensitive search problem.