home *** CD-ROM | disk | FTP | other *** search
/ Software Du Jour / SoftwareDuJour.iso / BUSINESS / DBASE / DBAPG.ARC / PARSE.CMD < prev    next >
OS/2 REXX Batch file  |  1984-08-09  |  3KB  |  85 lines

  1. * Program..: PARSE.CMD
  2. * Author...: Tom Rettig
  3. * Date.....: May 5, 1983
  4. * Notice...: Copyright 1983 by Ashton-Tate.  All rights reserved.
  5. * dBASE....: II, versions 2.3x, 2.4x
  6. * Notes....: For separating one character field containing full names into
  7. *            two fields, one with the first name and one with the last.
  8. *
  9. *            Add two fields to your .DBF file called First:name and
  10. *            Last:name to receive the parsed names.  Leave plenty of
  11. *            room, you can always shorten them later.
  12. *
  13. ERASE
  14. SET TALK OFF
  15. @ 1,0 SAY '========================================'+;
  16.           '========================================'
  17. @ 2,0 SAY '||'
  18. @ 2,28 SAY 'P A R S I N G   N A M E S'
  19. @ 2,78 SAY '||'
  20. @ 3,0 SAY '========================================'+;
  21.           '========================================'
  22. USE Anyfile
  23. DO WHILE .NOT. EOF
  24.    *
  25.    * Separate the full name at the first space...
  26.    STORE LEN(Char:field) TO length
  27.    STORE @(' ',Char:field) TO location
  28.    STORE $(Char:field,1,location-1) TO mfirstname
  29.    STORE $(Char:field,location+1,length) TO mlastname
  30.    *
  31.    * Display the separation...
  32.    STORE T TO isagain
  33.    DO WHILE isagain
  34.       STORE '?' TO correct
  35.       @ 10,15 SAY #
  36.       @ 10,23 SAY ' FULL NAME :'+Char:field
  37.       @ 12,35
  38.       @ 12,23 SAY 'FIRST NAME :'+mfirstname
  39.       @ 13,35
  40.       @ 13,23 SAY ' LAST NAME :'+mlastname
  41.       @ 16,30 SAY 'Is this correct? ' GET correct PICTURE '!'
  42.       READ
  43.       *
  44.       * If the display is correct, place in the file's newly created name
  45.       * fields, skip to the next record, and repeat...
  46.       IF correct='Y'
  47.          REPLACE First:name WITH mfirstname, Last:name WITH mlastname
  48.          SKIP
  49.          STORE F TO isagain
  50.       ELSE
  51.          *
  52.          * If the display is not correct, separate at the next space and
  53.          * loop to display again...
  54.          STORE @(' ',TRIM(mlastname)) TO location
  55.          IF location<>0 .AND. mlastname>' '
  56.             STORE mfirstname+' '+$(mlastname,1,location-1) TO mfirstname
  57.             STORE $(mlastname,location+1,length) TO mlastname
  58.             LOOP
  59.          ELSE
  60.             *
  61.             * When all the options have been tried, the operator can make
  62.             * the entry manually and loop to display...
  63.             STORE $(STR(0,length+1),1,length) TO mfirstname,mlastname
  64.             @ 10,23 SAY ' FULL NAME :'+Char:field+':'
  65.             @ 12,17 SAY 'ENTER FIRST NAME ' GET mfirstname
  66.             @ 13,17 SAY ' ENTER LAST NAME ' GET mlastname
  67.             READ
  68.             LOOP
  69.          ENDIF
  70.       ENDIF
  71.    ENDDO
  72.    @ 10,35
  73. ENDDO
  74. @ 10,0
  75. @ 12,0
  76. @ 12,11 SAY '********** P A R S I N G   I S   C O M P L E T E **********'
  77. @ 13,0
  78. @ 16,0
  79. USE Anyfile
  80. RELEASE ALL
  81. SET TALK ON
  82. RETURN
  83. *
  84. * EOF: Parse.cmd
  85.