home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / database / datamage.arj / DOCS.ZIP / UPDATE.DOC < prev    next >
Text File  |  1991-09-23  |  26KB  |  476 lines

  1.                            DATAMAGE - Update Listing
  2.  
  3. Recently  it  occurred to me that a DATAMAGE user who got an upgrade  might  be
  4. hard  pressed  to  determine  if there were any  differences  between  his  new
  5. programs  and his old ones.  The following is a very incomplete listing of  the
  6. changes DATAMAGE has undergone over the years.  I began this listing with 2.6.
  7.  
  8. DATAMAGE 1.0
  9.  
  10. I began this package in '85, via the BASIC interpreter.  Every once in a  while
  11. I  run across some code that I suspect was in the  original,  interpreter-based
  12. program.  But not so often, now.
  13.  
  14. I began uploading compiled versions of it in '87, when I got a modem.  Sometime
  15. in the middle of that year a sysop had the idea of sending the programs to  PC-
  16. SIG.    I had never heard of them, (and now I wish I still hadn't)  but  worked
  17. hard  to  get something  presentable together to send them.  They  liked,  they
  18. published.
  19.  
  20. The initial version was kind of wimpy, and had several KILLER bugs in it.   The
  21. results  of the article which SIG placed in their magazine were that a  lot  of
  22. people tried it and wrote me about the bugs, and what else it needed to work.
  23.  
  24. DATAMAGE 2.0
  25.  
  26. I  fixed all the bugs in 1.0, added date fields, sorting and  record  selection
  27. based  on dates. I had changed compilers three times and, unbeknown to  me,  my
  28. routine for rounding off the ieee floating point numbers no longer worked.
  29.  
  30. I have bitten the bullet and spent big dollars on the Microsoft Basic  Compiler
  31. 6.0b,  and,  since it usually works (for a change) I don't plan to  upgrade  my
  32. compiler again.  I have moved away from BASIC and the BASIC portion of DATAMAGE
  33. will be maintained but not expanded.
  34.  
  35. With  V:2.0  the  old-style  GDRECNOS.SAD file  was  replaced  by  the  current
  36. CTRLFILE.RAD,  a random-access version of the same thing.  If you have  an  old
  37. V:1.0  file  you'll need a program I have called OLD2NEW.EXE.   Please  mention
  38. this in your registration letter.
  39.  
  40. DATAMAGE 2.2
  41.  
  42. The  main  datafile is now open on two iocbs.  The first in  random  mode,  the
  43. second  in binary mode.  There are several places in the programs where I  need
  44. only  one field from a record.  The random mode lacks the ability to  return  a
  45. single  field and, previously, I had to move an entire record from disk to  get
  46. at  just one field.  This change augmented the speed of the record  select  and
  47. calculation routines greatly.
  48.  
  49. SCREEN  MAKER was my pet C project for quite some time.  It was a little  buggy
  50. in the initial versions of 2.2, of which there were several.  SCREEN MAKER adds
  51. relational processing to DATAMAGE as it will do lookups and updates into up  to
  52. seven  datafiles.   It  also gives the user the  ability  to  originate  custom
  53. screens  complete with an optional report that is printed after the new  record
  54. is written to disk.  As always within DATAMAGE, there is no text file to write.
  55. The  screens and reports are initialized by locating your cursor  and  pressing
  56. return, then answering the prompts.
  57.  
  58. Much improvement was done on the POWER MAIL program, rendering it able to print
  59. labels for records found via index search or entered from the keyboard as  well
  60. as it's original targets of all records or records in a MARKER file.
  61.  
  62. The source code was added to the \MAGE\DOCS directory.  The complete BASIC code
  63. for POWER MAIL, the C core library and ISAM demonstrate how to do programs that
  64. share  datafiles  with DATAMAGE, in keeping with my initial goal of  writing  a
  65. HYBRID system instead of just another database.
  66.  
  67. DATAMAGE - Version 2.6 Mods
  68.  
  69. BREAKING THE 640K BARRIER - STORAGE FLEXIBILITY:
  70.  
  71. The  RAM_BASE  and  DISK_BASE programs have been combined,  and  the  new  BASE
  72. program  can  access  files up to 32,000 records.  It retains  the  ability  to
  73. process  counter  fields  in memory, provided the  memory  is  available.   The
  74. program no longer loads the file index into memory.  On a computer with a  hard
  75. disk  this  makes little difference.  With floppies it does.  The few  lose  in
  76. favor of the norm - sound familiar?
  77.  
  78. The BASE program will prompt the user for the disk to use for temporary  files.
  79. This  will  happen  when insufficient memory is available for  storage  of  the
  80. counters.   I  have loaded files of 14,000 records and the program is  able  to
  81. find the memory to process the counters.
  82.  
  83. DATAMAGE  can break the 640K barrier by making use of a RAM DISK.  If you  have
  84. an AT with two megs of ram, simply install the RAMDRIV.SYS that came with  your
  85. DOS,  or  use your choice of RAM DISK drivers  operating  in  extended/expanded
  86. memory.   By specifying the RAM DISK for temporary storage you speed things  up
  87. considerably because DATAMAGE gets access to more than 640K.
  88.  
  89. ABSOLUTE FIELD NUMBERS:
  90.  
  91. The  key.sad definition file now holds four numbers per field as compared  with
  92. the  previous three.  The DBSEMAKR program will load an old style file and  add
  93. the  new absolute record numbers.  Write the definition into a junk  directory,
  94. then copy the new key.sad file into the directory holding your file.
  95.  
  96. The  absolute  field  numbers are a unique identifier for the  field.   If  the
  97. datafile  is reorganized they provide way for the macros,  input-output  groups
  98. and  custom  screens  to find the fields they use.   In  previous  versions  of
  99. DATAMAGE reorganizing a file would cause it's macros and screens to fail.
  100.  
  101. If  a field is moved within the file, whether directly or by  inserting  fields
  102. previous to it, the absolute record number remains unchanged.  You might have a
  103. field  with an absolute number of 10 in position 13 within your file.  You  may
  104. have moved it down three fields, or you may have inserted three fields pervious
  105. to it.  By writing the absolute field number to disk the programs can now  find
  106. any field wherever it may end up.
  107.  
  108. AUTOMATIC "INDEX" MAINTENANCE:
  109.  
  110. DATAMAGE has always automatically maintained it's indexes.  Other programs call
  111. MARKER  FILES indexes.  MARKER FILES were, in prior versions, written  whenever
  112. the user wrote one, or ran a macro that wrote one.
  113.  
  114. The BASE program now supports full automatic maintenance of your MARKER  FILES.
  115. This  is done via the AUTOEXIT macro file.  The program senses the presence  of
  116. an  AUTOEXIT.MAC file.  If a record is written, (entered, updated  or  deleted)
  117. the  AUTOEXIT macro is automatically executed when the user quits the  file  or
  118. ends the program.
  119.  
  120. The macro executes and uses all features of the BASE program to create  groups,
  121. do calculations and order records, then writes as many MARKER FILES as you need
  122. to maintain.  By executing on file exit these MARKERS are always current.
  123.  
  124. INITIAL DISK SPACE RESERVATION:
  125.  
  126. Datafiles are built one record at a time.  Record entry, provided the file  has
  127. no  holes caused by record deletion that can be filled, causes a new record  to
  128. be added to three files:  CTRLFILE.RAD, FILEINDX.RAD and YOURDATA.RAD.  If  you
  129. started with a blank disk and entered a thousand records your drive would be  a
  130. mish-mash  of clusters belonging to the three files.  And the fact  that  there
  131. are  other  processes allocating/freeing disk space between  DATAMAGE  sessions
  132. doesn't help matters a bit.
  133.  
  134. The DBSEMAKR program can now reserve disk space at the time of file  definition
  135. or  reorganization.  The user enters the number of records for which he  wishes
  136. to reserve space and the program writes blank records into the three files.  If
  137. the  file grows beyond the number of records anticipated the programs begin  to
  138. dynamically allocate extra space, as usual.  The allocation of initial space is
  139. optional, and may be bypassed.
  140.  
  141. CALLING YOUR RECORDS:
  142.  
  143. The BASE program will now dial the modem from the record display/update screen.
  144. The  user  simply presses D with the flasher on the phone  number  field.   The
  145. modem  is  initialized  at three hundred baud and  only  the  most  rudimentary
  146. commands are issued to it.  Almost any modem should work and the HAYES  command
  147. set is not required of the modem.
  148.  
  149. DATAMAGE V: 3.1 MODS:
  150.  
  151. ANOTHER CHEAP VIDEO TRICK:
  152.  
  153. Recently  I received another letter or comment with a registration accusing  me
  154. of  being left handed.  That's about the fifth or sixth one.  Usually it  seems
  155. to be all right with the user; they're left handed, too!  But I'm not.
  156.  
  157. There  are people who have complained about actually having to press  a  number
  158. key  all  the time.  And I understand, after all, those keys  are  SMALL!   And
  159. actually targeting, then hitting one is too hard, I agree.
  160.  
  161. Then  there  are  the almost 3,000 registered users of  DATAMAGE,  in  general.
  162. These  tough individuals have been put upon to press a number key for  so  long
  163. that they have become used to it.  And any change in as basic an operating mode
  164. as choice selection would undoubtedly cause them trouble.
  165.  
  166. So the choice selection routines have been slightly modified.  They now display
  167. one  of  the choices in (gag) inverse video.  You may, IF YOU WISH,  press  the
  168. right/left  arrow  keys until your selection is highlighted, then  hit  return.
  169. But you can just hit the number key beside the option, if you think you can cut
  170. it.  And the num lock key will make it right handed, too.
  171.  
  172. But  that's MY opinion.  DATAMAGE isn't my program anymore, hasn't  been  since
  173. '88 when it was first published.  There are people who use it a LOT more than I
  174. do, and anything I can do to make it better for YOU I'll be more than happy  to
  175. do  so.  Witness the four days I spent converting all the DATAMAGE code to  the
  176. new video trick.
  177.  
  178. POWER COPY RE-DONE:
  179.  
  180. The  computer simply ran out of memory to store the record pairs.  Well, if  it
  181. won't  fit  in memory you'll be obliged to write it to disk.  And  that's  just
  182. what  I  did.  POWER COPY now uses a temporary disk file to store a  number  of
  183. record pairings limited to 32,000.
  184.  
  185. BASE PROGRAM MODS:
  186.  
  187. RECORD ENTRY:
  188.  
  189. The speed with which space for a record entered is found has greatly  improved.
  190. And,  as  the program no longer loads the file index into memory files  can  be
  191. accessed much faster.
  192.  
  193. BINARY SEARCH:
  194.  
  195. The  binary  search is dependent upon the current group being in order  on  the
  196. target  data.  The binary search is available on the target data only when  the
  197. current  group has been sorted (or a MARKER file has been loaded) in  order  on
  198. the target field.
  199.  
  200. The binary search doesn't have to look at all the records, or even the  records
  201. up  to the target.  It's not instantaneous, the number of records in  the  file
  202. still affect it's execution time.  But I trust you will find it VERY fast.
  203.  
  204. The  binary search is offered in the find records (F-5) function if  the  group
  205. has  not  been  placed in order it will beep you.  Then you  simply  enter  the
  206. search  values,  and the routine does it's thing.
  207.  
  208. The  BINARY SEARCH will find the place in the file where the search data  would
  209. belong.   It places the first two targets, of which there may be up  to  eight,
  210. in  the  BROWSE  display screen and, as your group is in order  on  the  target
  211. field,  it should be easy to see if you found a match.  To display  the  record
  212. just hit return.
  213.  
  214. Other  programs make binary search available, usually by keeping  bulky  b-tree
  215. style indexes and allowing binary search only upon fields having an  associated
  216. b-tree index.
  217.  
  218. DATAMAGE  offers binary searches on it's usual array of targets:  Any  field(s)
  219. in  the datafile, the counter fields or the record numbers.  There's  no  sense
  220. copying the others.  You gotta beat them at their own game.
  221.  
  222. DATAMAGE doesn't need a tree file to do a binary search.  With DATAMAGE you can
  223. just sort on any data, then search it.  The act of sorting the file creates the
  224. BINARY INDEX in memory.  If you enter, update or delete records the index  will
  225. be  maintained  IN MEMORY by placing the new/updated records  in  their  proper
  226. place, and removing the deleted records from the index.
  227.  
  228. Since  DATAMAGE  doesn't  require  a  disk file to  do  this  it  also  doesn't
  229. automatically  update any files you may choose to keep.  There may be a way  to
  230. auto-maintain  a  MARKER  file for the purpose of BINARY INDEXING  in  a  later
  231. version of DATAMAGE.  For now, just save your index after updating a file.
  232.  
  233. If  you  forget to save your index no great loss.  Just load your  most  recent
  234. index  file,  use  the APPEND REMAINING RECORDS function  in  the  MARKER  file
  235. function to add the new records, then sort your file.  The sort will go quickly
  236. as  there  is little for it to do.  Most of the records are  already  in  order
  237. thanks to that most recent MARKER file.
  238.  
  239. There you go, DATAMAGE users:  The "IMPOSSIBLE" has been done, there are "shoot
  240. from the hip" binary searches that require no definition in the datafile and no
  241. bulky,  error-prone  b-tree file.  And a simple, easy, fast way has  been  made
  242. available to update the MARKER file containing the order of the records, should
  243. you consider it necessary to keep one.  You may have your cake and eat it, too.
  244. You may do, and NOT do, whatever you need/wish.
  245.  
  246. MARKER FILES:
  247.  
  248. In order to facilitate the recording of the data that the group was ordered  on
  249. when a marker file was written it was necessary to change the marker files.  If
  250. you  are  getting  an upgrade your old markers won't work.   But  it  won't  be
  251. difficult to write new ones.  Sorry, but there was no other way.
  252.  
  253. The MARKER function now offers three options instead of the original two.   You
  254. may  now  restore the remaining records to the group.  Doing this,  of  course,
  255. destroys  the  content  of the counter fields.  But you end  up  with  all  the
  256. records in the file, mostly in order on whatever sorting scheme you used.
  257.  
  258. Doing a sort on your choice of parameters will be much quicker after using  the
  259. restore  remaining  records function as the sort will need to move  only  those
  260. records that have been entered or updated since the last sort.  If your purpose
  261. is  to  place a large file into order for the purpose of maintaining  a  MARKER
  262. file this is the way to go.  It is much faster than sorting the entire file.
  263.  
  264. IMPROVED SORTING:
  265.  
  266. The BASE program can now sort up to eight levels of data, in any combination of
  267. field types.  All sorting is now accomplished internally.  The crucibles of the
  268. sort routines have been redone and are FAST.
  269.  
  270. VERSION 3.5 MODS:
  271.  
  272. SYSTEM MODS:
  273.  
  274. The maximum length of a string field has been increased from thirty-five to two
  275. hundred fifty characters.  Again, this change was made due to user  complaints.
  276. DATAMAGE  files  are flat.  When you specify the length of a field  that's  how
  277. long  it actually is, regardless of whether or not the space is used.  This  is
  278. one  of  the reasons DATAMAGE can operate so rapidly, and  it's  datafiles  are
  279. accessible to popular programming languages.
  280.  
  281. DATAMAGE is NOT a word processor.  I encourage you to use the absolute  minimum
  282. space necessary to record your data.   When I started programming a disk  drive
  283. cost 10s of thousands of dollars, and a disk "pack" cost almost a thousand.   I
  284. have seen people FIRED for wasting disk space.  Things have changed a lot since
  285. then,  everything's  cheap  and easy now.  But good  programming  and  datafile
  286. design have not changed, and in my mind at least, wasting resources is a CRIME.
  287.  
  288. BASE PROGRAM MODS:
  289.  
  290. The  BASE  program has been improved to accept command line arguments.   As  is
  291. becoming  commonplace,  this  was suggested by  several  registered  users  who
  292. desired the execution of a MACRO either from a batch file on a menuing system.
  293.  
  294. I would like to take this opportunity to thank my users for their feedback  and
  295. to encourage you to write to me and state your needs and the way in which their
  296. fulfillment would positively augment the DATAMAGE system.  I will not guarantee
  297. to  include your mod in the next version, but I am dedicated to  improving  the
  298. system  in whatever way I think may be useful to my users.  If your  suggestion
  299. would not benefit most users it may be ignored.
  300.  
  301. The  BASE  program will now respond to command line arguments  by  loading  the
  302. datafile  and executing the macro.  If you start the program by entering:  BASE
  303. C:\MAGE\INVOICES\PAYABLES.MAC   the   program  will  load   the   datafile   in
  304. C:\MAGE\INVOICES and execute the PAYABLES MACRO.
  305.  
  306. If  the  program  is  given command a line argument  it  will  terminate  after
  307. executing  the  MACRO.  It will return to the MS-DOS command level  instead  of
  308. running the GO.EXE program as it usually does.  If you are running a batch file
  309. it will continue without user intervention.  If you are using a menu system you
  310. will return to it.
  311.  
  312. BINARY SORTS/SEARCHES:
  313.  
  314. The  SORT function (F-6) has been slightly modified, as has the  BINARY  search
  315. routine.   Here we have a classic example of functions that  worked  perfectly,
  316. but whose concept was flawed.
  317.  
  318. The  implementation of the BINARY searches was a large task.  The fact  that  I
  319. was  obliged to do this in BASIC didn't help a bit.  But, the BASE program  was
  320. originally  done in BASIC, and I would prefer to spend my time and work on  the
  321. improvement of the system as opposed to the re-doing of same.
  322.  
  323. Version  3.1 prompted the user for his choice of ignoring  case/spacing  during
  324. the BINARY searches.  That was nice, but it didn't work.  This is because  that
  325. choice affects the order of the group produced by the sort.  The data I used to
  326. test it was in all-caps; I didn't see it.
  327.  
  328. The program now prompts you for your choice of ignoring case/spacing during the
  329. SORT  that produces the BINARY indexes.  Your choice is then  displayed  during
  330. the entry of data upon which to BINARY search.  This works.
  331.  
  332. MARKER FILES:
  333.  
  334. Unfortunately, this mod has rendered MARKER files produced by previous versions
  335. unusable.  So, if you're getting an update to 3.5, you'll need to re-create all
  336. your MARKER files.  My apologies.
  337.  
  338. MACRO FILES:
  339.  
  340. The  above  error has also rendered all MACROS containing a sort  that  targets
  341. string fields unusable.  This is due to the new need to record your choices  of
  342. ignoring case/spacing in the MACRO.  I feel REALLY badly about this!
  343.  
  344. You  NEED to be certain that you don't attempt to run old MACROS  with  version
  345. 3.5.  The program SHOULD catch the error and terminate your MACRO.  I  wouldn't
  346. be willing to bet it will, in this case.  If the sort is the last thing you did
  347. in the MACRO it may go undetected.  If not, the MACRO will halt after the sort,
  348. and that's no good either.
  349.  
  350. SCREEN MAKER:
  351.  
  352. This program, included in versions 2.2 through 3.1, died.  Or, was re-born.  At
  353. the  very least, the name has been changed.  It is now APPLICATIONS MAKER,  and
  354. many  new features have been added; many of the limits of the old version  have
  355. been removed.
  356.  
  357. APPLICATIONS MAKER - DATAMAGE IS NOW A DATABASE!:
  358.  
  359. The  APPLICATIONS  MAKER program supports the  design/implementation  of  user-
  360. originated processes.  It can be used to make reports, screens, etc.  It  looks
  361. and works just like SCREEN MAKER, but is much more powerful.
  362.  
  363. I  am  VERY apprehensive of placing the power of APPLICATIONS  MAKER  into  the
  364. hands of my users.  This program is DECEPTIVELY easy, yet it certainly has  the
  365. power  to totally RUIN any datafile it opens.  For this reason I took  lots  of
  366. time  to  document  a  fool-proof way in which you  may  write  and  test  your
  367. applications.   PLEASE  read  the  docs for  this  program!   The  filename  is
  368. APCNMAKR.DOC; it's in the \MAGE\DOCS directory.
  369.  
  370. APPLICATIONS MAKER is a DANGEROUSLY powerful program; it should be operated  at
  371. the  edit  level  with great care, and only by those with a  knowledge  of  the
  372. DATAMAGE  system and a thorough understanding of the job to be done.  It's  not
  373. that  the program is difficult or "tricky" in it's design or  operation;  QUITE
  374. THE CONTRARY!  It's user-interface is (if I DO say so, myself) SECOND TO  NONE.
  375. And the same can be said of it's power and it's speed.
  376.  
  377. With ANY program of this type, which can not assess the fitness of it's user to
  378. accomplish  the things that the program can do, mistakes WILL be made.   If  my
  379. SINCERE  advice on the creation and use of a test environment (in the docs)  is
  380. ignored data will be lost; entire datafiles will be TRASHED.
  381.  
  382. You  have  a  MUCH  better chance  of  successfully  originating  your  desired
  383. application  with APPLICATIONS MAKER than with any other program.  While  doing
  384. so you will be obliged, with this or any other system, to think in a dual mode.
  385.  
  386. On  the  one hand, you will be concerned with what you need to do and  how  you
  387. will do it; on the other you will need to figure out how to get the software to
  388. do your bidding.  The latter process will interrupt the former.  There's no way
  389. around  that,  until  someone (and it WON'T be me) invents a way  to  have  the
  390. computer read your mind, and then to comply with your wishes.
  391.  
  392. VERSION 4.0:
  393.  
  394. The  modifications  that  comprise  version 4.0 were almost  all  done  on  the
  395. APPLICATIONS MAKER program.  A few cosmetic changes were made to BASE, DBSEMAKR
  396. and  POWRMAIL.  There were (and probably still are!) some spelling mistakes,  a
  397. few inconsequential boo-boos in the prompts, etc.  I wish to STRESS, here, that
  398. I appreciate and solicit the help of my users in finding such errors.
  399.  
  400. APPLICATIONS MAKER:
  401.  
  402. SCREEN STORAGE:
  403.  
  404. The former versions of APP MAKER used the computer's memory to store the  input
  405. and report screens.  This resulted in severe limitations on the maximum size of
  406. both  the screens and the applications, as your application is also  stored  in
  407. memory.   The screens are now stored on disk, and their size has  been  greatly
  408. expanded.  There is now lots more room for your application in memory as well.
  409.  
  410. LOCATE ITEMS:
  411.  
  412. The  program  now includes LOCATE items that both locate your  viewport  within
  413. your  application and set horizontal boundaries outside which  the  application
  414. will not go until the LOCATE is released.  This gives you the ability to create
  415. applications  that  consist  of multiple screens,  placed  side-by-side.   Your
  416. application  can branch to one of your vertical screens and then work it's  way
  417. down  within  it.  When the sub-task is completed you may return to  the  first
  418. screen and perhaps select another option on yet another screen.
  419.  
  420. COLOR SCREENS:
  421.  
  422. This  change  also  allowed  me to implement color  screens.   The  PC's  video
  423. requires  two bytes of storage for each character on your screen; one  for  the
  424. character  and one for the attribute (or color).  When the program  was  making
  425. use of the computer's memory to store the screens the doubling of the necessary
  426. space in order to offer you color screens was out of the question.
  427.  
  428. You  may  now select, via the use of the arrow keys, both  the  background  and
  429. foreground  color  of  any  item on your screen  and  any  rectangular  portion
  430. thereof.   I do hope that you enjoy your pretty screens as it took me  a  solid
  431. month to do this for you.
  432.  
  433. STRING STORAGE AND FORMULAS:
  434.  
  435. The  APP  MAKER program now offers you twenty areas in your  computer's  memory
  436. designed to hold string data.  The string items on the input screen now include
  437. the  option  to  execute a "formula" with which you  may  store,  retrieve  and
  438. concatenate  your  strings.   These string storage areas can  hold  up  to  the
  439. maximum length of a DATAMAGE string field which is 250 characters.
  440.  
  441. GET RECORD ITEMS:
  442.  
  443. The scope of the APP MAKER program continues to expand.  The program can now be
  444. used  to  process  records in a datafile without having to find  them  via  the
  445. indexes.  You may process all records in the file in the order that they appear
  446. or the records in a MARKER file via the GET RECORD items.
  447.  
  448. MARKER FILES:
  449.  
  450. The APP MAKER program can now load a MARKER FILE (produced by the BASE program)
  451. and  process the records contained therein.  This comes in REAL handy when  you
  452. wish  to  produce a report (or whatever) for only certain records  in  a  file.
  453.  
  454. Instead of having to test the content of each record and skip the ones that  do
  455. not  conform  to your current criterion you can create a MACRO  with  the  BASE
  456. program  to  quickly  identify the group of records you  wish  to  process  and
  457. perhaps  place this group into some sort of order, then use a LOAD MARKER  item
  458. to direct your application to process only the targeted records, in the desired
  459. order.   This  entire  process can be automated via batch files  or  a  menuing
  460. system, rendering the process independent of user interaction.
  461.  
  462. DEBUGGING FACILITIES:
  463.  
  464. The  DEBUG  items can be placed within your application or activated  from  the
  465. edit  mode.  These items allow you to view the current content of your  numeric
  466. or  string storage at any time during the execution of your application.   Your
  467. variables can now be named and the names you assign to them are saved with your
  468. application.  The DEBUG items/option provides you with a window that lists  all
  469. of your variables, their names/purposes, and current content.
  470.  
  471. 4.0 - WRAP UP:
  472.  
  473. Version 4.0 has undergone MANY changes, only the most significant of which have
  474. been  documented  above.  I am committed to producing a system that  will  fill
  475. your  needs with speed and ease unmatched by any other data program.  I  would,
  476. again, solicit your feedback so that I may improve and expand the DATAMAGE.