
   Ŀ
                                                                           
    The following "reprint" describes PDT  The Pro~Formance Data Tool.   
    This article has appeared in several newsletters and publications.     
                                                                           
    The article was written by the author of a product that COMPETES WITH  
    PDT!  What better way to learn about the features of a product than    
    through the eyes of a competitor.                                      
                                                                           
    For information on PDT contact:     Rob Smetana                        
                                        Pro~Formance                       
                                        132 Alpine Terrace                 
                                        San Francisco, CA  94117  USA      
                                        (415) 863-0530                     
                                                                           
   


   Publisher's Note:                                             (added 4/97)
   

   We recently announced an UPDATE to PDT.  Two days after sending out
   letters announcing the new version, our phones started ringing  and
   haven't stopped!  Here are a few of the comments CURRENT USERS made
   while they were ordering the latest version of PDT:


     "This is the best product of this type I've ever seen."  (E.M. Germany)

     "I use PDT every day.  It's probably the best program I have."
      (S.R. New Hampshire)

     "Your stuff is a life saver.  I use PDT every day."  (J.V. Oregon)

     "I've used PDT daily for over 2 years, even in Windows.  I can't
      believe what it can do.  And it's amazingly stable and reassuring
      -- I've never found a bug in it.  Thank you!"  (D.C. Los Angeles)

     "PDT has saved my career many times.  Thank God you wrote this
      program."  (K.D. Colorado)


                                                                     

   ͻ
                                                                           
                                  Hold on!                                 
                                                                           
            PDT's awesome powers will get your adrenaline pumping.         
                                                                           
                                      by                                   
                                                                           
                               Frederick Volking                           
                                                                           
   ͼ


      Introduction
      =========================

      I must tell you up-front that I HATE doing this.  A few years ago
      I wrote a program that we've sold commercially in markets all over
      the world.  But I'm here to recommend that you try a DIFFERENT
      program:  the Pro~Formance Data Tool, or PDT.


      With PDT you can edit ANY type of file, of ANY size -- up to 2
      gigabytes in size.  You can edit executable files (.EXE or .COM
      files), binary files, data files, dBASE files  ANY type of file.


      And PDT is especially suited to view/edit fixed-format data files.
      If you create or use dBASE files (or data files written by other
      programs), if you're a programmer, or if you must maintain or
      repair data files, do yourself a favor and examine PDT.  You'll
      be amazed at it's flexibility, speed and a-w-e-s-o-m-e powers.


      For example, I'VE NEVER SEEN A PROGRAM that lets me point at a
      "packed" numeric field (integer, floating point, BCD, binary,
      column binary, etc.), "define" it's field "type," then scroll
      through the file and "see" what "n*" REALLY MEANS ("10862" 
      it's an integer field!).


      SUPPOSE you needed to change "10862" to "8562."  What would you
      change "n*" to?  With PDT, YOU DON'T HAVE TO KNOW!  Just press F6
      (Edit Field) and type in "8562."  PDT will save "8562" to disk in
      the proper format  which is "r!" in case you were wondering.


      That's amazing!  No other program lets you do that.  None!


      Note that PDT is NOT just for programmers and database experts.
      It's so easy-to-use that ANYONE will find it useful when they need to
      view or edit files their word processor can't handle.  In fact, PDT
      is especially useful to NON-programmers who rely on data files but
      don't care to (or know how to) write programs to manage those files.
                                                                     

      History
      =========================

      I've been working with data files for over 20 years:  all sizes,
      shapes, formats and kinds.  I can't count the number of times I've
      had to write a Q-&-D (Quick-&-Dirty) program to bail myself (or a
      colleague) out of some type of situation.  For example:

       - You're handed a new task that requires managing someone else's
         data files, files with a structure you don't understand.

       - While downloading or creating a file, some records get damaged.

       - A data file has too many fields; or fields are too wide or
         too narrow.

       - As you're developing or updating a program, something goes
         wrong and you damage a 15 megabyte data file.

       - You're developing a data file and find you have to mass-edit
         several thousand records  like adding CR/LF to each record.

       - You need to merge data into a file; or you want to save parts
         of a file to another file.


      Every time I faced situations like these and had to write yet
      another Q-&-D program, I wished someone would invent an editor
      whose only job was to help me VIEW, UNDERSTAND or EDIT ANY file,
      in a simple, logical, structured way.  As I looked around for
      something to handle the task, I'd often find something that let me
      view files, or something else that would edit certain types of
      files.  But I never found ANYTHING that let me view, format,
      interrogate and edit ANY file of ANY size  simply and easily.

      So I gave up looking and wrote my own.  I wrote it mainly for my
      own use; but others took note, and a software distributor picked
      it up and began marketing it commercially under the name of DFD
      (the Data File Doctor).

      Although I wrote DFD, I've always known it was a rather crude
      Q-&-D solution.  So after almost 3 years of limping along with
      DFD, I finally found another product that does everything DFD
      should have done.

        The program is:         PDT (the Pro~Formance Data Tool)

        It's offered by:        Rob Smetana
                                Pro~Formance
                                132 Alpine Terrace
                                San Francisco, CA  94117  USA
                                (415) 863-0530)

      PDT directly competes with my DFD product. But that's okay
      because, frankly, I save more $$$ using PDT (in time and effort)
      than I make from DFD.  That says a lot!                        

      Overview
      =========================

      PDT is an extremely flexible tool to view and edit ANY file --
      data files, EXE or COM files, font files, EBCDIC files, files on
      networked drives, floppy drives or hard disks.  Using PDT I've
      edited tiny 0 and 1 byte files, as well as huge, 970-megabyte
      files residing on a networked 5-gigabyte Novell file server.  (PDT
      can edit files up to 2 gigabytes in size -- up to 4 at once!)


      Very simply, PDT is a wonder to behold!  Its features, power and
      speed are unparalleled.  In fact, the adrenaline flows when you
      watch PDT safely and quickly change thousands or millions of bytes
      of data.  Do yourself a favor and contact the author to get a copy:

                     Rob Smetana,  (415) 863-0530.


      PDT's speed is nothing less than phenomenal.  Working on a Novell
      network, I edited the first bytes in a 970 megabyte file, then
      jumped to the end of the file and changed the last byte.  The
      total elapsed time was 15 seconds -- on a networked drive!

                                                                     

      Ease of Use; Getting Help
      =========================

      Editing files is much like working in a word processor.  Move
      around files using cursor pad keys.  And if you're working in
      dBASE or other formatted data files, you can Tab from field to
      field to quickly view or edit fields.


      PDT offers both pull-down menus and fast keyboard hotkeys.  Most
      hotkeys are intuitive and easy to remember (O = Open file, C =
      Close, S = Search, etc.).  PDT supports a mouse and works in 25-,
      43- and 50-line modes, in color or monochrome modes.


      Online-help is available for EVERY option (see figure 1).  For
      example, pull down a menu then either highlight an option and
      press F1 or click the right mouse button and a help window pops
      up.  There's also an editable "quick reference" file you can
      either view from inside PDT or print.


      Figure 1:  Pull down any menu, highlight an option, then press F1
      for Help with any option in that menu.

      File  Edit  Search  Block  Define  Options  Help

      Ŀ
       Open a new file/window (ctrl-O)  
       Close current window   (ctrl-C)  
      Ĵ
       Create a directory               
       Create a file                    
       Delete a file                    
       Rename a file                    
       Copy a file to a new location    
       Combine two or more files        
       Change file size                 
      Ĵ
       Translate File:  EBCDIC-to-ASCII 
       Translate File:  ASCII-to-EBCDIC 
      Ĵ
       Exit to DOS            (ctrl-X)  
      

                                                                     

      Data File Editing
      =========================

      PDT's data file editing tools are UNMATCHED in any program.

      For example, if you open a dBASE ".DBF" file, PDT automatically
      formats your view of the data into logical rows and columns.

      Many programs can do that.  But PDT is unique not only in the long
      list of other features it offers, but also in letting you use this
      same intelligence with virtually ANY fixed-length data file, like
      those created by most programming languages.

      PDT can remember the field-by-field layout of your data files,
      and can then display that data in rows and highlighted columns --
      automatically, whenever you open the file.  Equally important,
      once you tell PDT a field's "type," it can display the "values"
      in that field -- for character, integer, floating point, binary,
      BCD, column binary and on and on and ....  You can even move the
      cursor to, say, a floating point field and press a key to edit
      its value in normal decimal form.  When you press <Enter>, PDT
      saves what you entered in the proper format.  Slick!  Easy!

      Figure 2 shows how a data file might look like BEFORE you tell PDT
      what the file's structure is (which is easy to do).  Just define
      the file structure, then every time you open the file, the infor-
      mation in it is laid out in rows and columns as shown in Figure 3!

      Figure 2:  Many programs display data this way

      Ŀ
      Kim       Johnson       3300 South 18th Street  
      Venus     CO 31002 7145259933 Dennis    Avery   
          127 East South Temple   George      WA 98322
      8015669112 Andrew    Youngman,                  
      Sr. 945 Van Ness Street     Sabastol    CA 94532
      4153331200  Sam       Henderson     9800 South  
      1000 West    Clarion                            
      GA 32234 2062648822 Claire    Ruddman       4400
      South Delridge Way Bellevue    WA 98432 21438892
      00 Bill      Williamson   5423 North Queens Driv
      


      Figure 3:  But PDT displays the same data logically

      Ŀ
      Kim       Johnson       3300 South 18th Street  
      Dennis    Avery         127 East South Temple   
      Andrew    Youngman, Sr. 945 Van Ness Street     
      Sam       Henderson     9800 South Highway 11   
      Claire    Ruddman       4483 Delridge Way, Suite
      Bill      Williamson    5423 North Queens Drive 
      
                                                                     


      Once PDT knows the format of your data (as shown above in Figure 3):

       - You can tab from field-to-field to easily view or edit fields.

       - As you move the cursor to a field, PDT displays the VALUE of
         that field -- even fields stored in "packed" formats.

       - You can easily edit fields, even "packed" numeric fields.
         PDT automatically converts "packed" numbers to their decimal
         equivalent, lets you edit them and then re-converts edited
         values back to the proper format before saving them to disk.


      Examples
      =========================

      Here are examples of the types of things I've done with PDT:

       - We created a new dBASE file to store incoming data.  After the
         data was merged, I found several fields were much wider than
         necessary.  I just moved to the fields, told PDT to shrink
         them, and in seconds it was done -- across thousands of
         records, saving millions of bytes of disk space.  PDT even
         updated the dBASE file header automatically.  And PDT can do
         this just as easily with non-dBASE data files.

       - I needed to copy several hundred records to a new file.  Using
         PDT's Block Mark and Block Export features it took 10 seconds!

       - We download a 300 megabyte file from the mainframe.  But we
         soon discovered it had been damaged in transit.  I opened it in
         PDT, set the record length, and within seconds had found the
         damaged area.  It took just 2 minutes to restore damaged data
         and we were on our way -- without writing a single line of code.

       - We had to merge data from one file into the MIDDLE of another.
         I opened both files in PDT (you can open 4 files at once),
         marked the block I wanted to copy, jumped to the other window
         and selected "Copy/Insert."  PDT merged the data instantly.

       - We were handed a data file and asked to analyze it.  But nobody
         knew its file structure!  I opened it in PDT, made a guess as to
         the record length, then leaned on the F9 and F10 keys.  When you
         press F9 or F10, PDT adjusts the record length up or down, and
         re-draws the screen to adjust it's "view" of the data.  Like a
         giant pendulum, the data literally swings into the proper view.

         Once we figured out the record length, it was easy to identify
         where each field began, and what type of field it was (ie.,
         character, integer, double, currency, etc.).  For each field,
         we pressed a key and told PDT what the field name and field type
         were.  When we were done, PDT saved a "structure file" to disk.
         This structure file gave us everthing we needed to create the
         "structure" or "TYPE" our programs needed to read the data.  And
         whenever we opened the file again in PDT, PDT read the structure
         file and automatically formatted the data into rows and columns.
                                                                     

      List of Features
      =========================

      The examples above just scratch the surface of what you can do with
      PDT.  Here's a summary of some of the 50 or so options PDT offers.

      Block Options

      "Blocks" can be records, columns or a continuous stream.  Once you
      mark a block you can Delete it, Export it, Fill it (with any ASCII
      character or phrase), Copy it (to another location in the same file,
      or to another file).  You can even mark a column and Add it up, or
      add Sequence Numbers to it (like unique record or customer numbers).

      Search & Replace

      You may Search or Search & Replace forwards or backwards, anywhere
      in the file, or in just the block or column you've marked.  You can
      ignore Upper and Lower case, and you can Search & Replace using any
      ASCII character: 0 (null) through 255.

      EBCDIC File Support

      One of PDT's most unique features is how easily it handles EBCDIC
      files, like those you'd download from large IBM computers.  You
      can leave EBCDIC files on disk as-is, and tell PDT to dynamically
      translate them on-the-fly into ASCII.  This lets you view and edit
      data in easy-to-understand ASCII format.  Anything you change is
      automatically converted back to EBCDIC, and then saved to disk.

      Or, if you prefer, you can ask PDT to translate files from EBCDIC
      to ASCII, or vice versa.
  
      File Management

      PDT lets you Create, Delete, Rename or Copy files, or create file
      directories.  A powerful "Join" command lets you merge up to 6 files
      at a time, using the smallest amount of disk space possible.

                                                                     

      Flys in the Ointment
      =========================

      In short, PDT lets you view and edit virtually ANY type of file,
      up to 2 gigabytes in size.  And since you can open 4 file windows,
      you can work with up to 8 gigabytes of data at once!

      But PDT isn't perfect.  My main gripe is that I didn't write it...
      Okay, I said it.

      To understand another PDT limitation, you have to know a little
      about how PDT handles file editing.  Unlike a word processor or
      editor which loads files into memory, PDT loads NOTHING into memory.
      When PDT opens a file, you'll be looking at what's on disk (and PDT
      displays files-on-disk with astonishing speed).  Using this approach,
      PDT can help you edit 2-gigabyte files with NO NEED for extra memory.

      But turn edit mode on and change something, and that change is
      immediately written to disk.  That's why edit mode is OFF by default.
      (NOTE:  The latest versions of PDT include an "Edit Field" option 
      which is buffered.  That means you can press a function key, see
      the "value" of the field you want to edit, edit it, and press <Enter>
      to accept your changes, or <Escape> to cancel editing.)

      The fact that changes are immediately saved to disk accounts for
      PDT's restriction that when you Replace something, you must replace
      it with something else of the same length.  A word processor's
      search and replace function can expand or contract things in memory.
      But if PDT replaced something with something else of a different
      width, every time it found a "match" PDT would have to re-write the
      entire disk file from that point all the way to the end.  As you can
      imagine, with large files, this would be time-consuming and could be
      risky.  And if you're editing EXE or COM files, you should NEVER
      change the length of a variable.  So this "limitation" has some
      justification.

      PDT's approach also means that YOU must be careful and should make
      backup copies.  When edit mode is ON, PDT saves changes immediately
      to disk.  So turn edit mode on only when you must change something,
      then turn edit mode back off again.

      Other suggestions include:

      - PDT's calculator offers both decimal and hexadecimal calculations.
        I'd suggest that it be centered on the screen (rather than off to
        the side), provide a tape readout, and support a mouse.

      - While PDT correctly translates EBCDIC characters to their ASCII
        equivalents, the "values" of EBCDIC packed numeric fields don't
        always translate properly.  (Publisher's note:  A forthcoming
        version will add support for editing many numeric field types
        in EBCDIC files.)

      - You can open up to 4 file windows simultaneously, either
        horizontally or vertically.  No problem there.  But when you
        close a window, PDT re-draws all the other windows to fill in
        the now-empty space.  In doing so it sometimes changes your
        original choice of a window's layout: horizontal/vertical.
        But when you think about it, I'm not sure what choices it has.  

      Summary
      =========================

      If you create or use data files, if you're a programmer, or if
      you must maintain or repair data files, DO YOURSELF A FAVOR and
      SCREAM FOR a copy of PDT!  You'll be amazed at it's flexibility,
      speed and awesome power.

      I wouldn't care how much it costs (which isn't much); I save that
      much every week I use it.


      Grab the phone and order a copy --- now!

                        Rob Smetana
                        Pro~Formance

                        132 Alpine Terrace
                        San Francisco, CA  94117  USA

                        (415) 863-0530

