home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1992 December / simtel1292_SIMTEL_1292_Walnut_Creek.iso / msdos / txtutl / downer.arc / DOWNER.BAS < prev    next >
BASIC Source File  |  1987-02-07  |  3KB  |  73 lines

  1. 10 OPTION BASE 1
  2. 20 ' "DOWNER" upper to lower case conversion program
  3. 30 '        Author:       Dan Moore       1/27/87
  4. 40 '        Revised by:   Jerry Botkin    2/07/87
  5. 50 '
  6. 60 '     Option ZERO reads standard ASCII sequential files
  7. 70 '  and replaces all upper case characters to lower case.
  8. 80 '     Option ONE will allow the first non-blank character
  9. 90 '  following a period, exclamation point, or question mark
  10. 100 ' to remain unchanged.
  11. 110 '    Option TWO will allow the first letter of each word
  12. 112 ' to remain unchanged.
  13. 113 '    Option THREE is identical to option one plus the first
  14. 114 ' letter of each line is also left unchanged.
  15. 115 '
  16. 120 DEFINT A-Z
  17. 130 COLOR 3,1,1
  18. 140 KEY OFF:CLS:RNBR=0:SW1=0:SW2=0:SW3=0:SW4=0:SW5=0
  19. 150 LOCATE 4,25,0:PRINT"'DOWNER' Case Conversion Program";
  20. 160 COLOR 7,1,1
  21. 170 LOCATE 7,19,0:PRINT"Enter origin filename (d:\path\filename.ext)";
  22. 180 COLOR 6,1,1
  23. 190 LOCATE 8,25,0:INPUT"",INFILE$
  24. 200 COLOR 7,1,1
  25. 210 OPEN INFILE$ FOR INPUT AS #1
  26. 220 LOCATE 10,19,0:PRINT"Enter destination filename (d:\path\filename.ext)";
  27. 230 COLOR 6,1,1
  28. 240 LOCATE 11,25,0:INPUT"",OUTFILE$
  29. 250 COLOR 7,1,1
  30. 260 OPEN OUTFILE$ FOR OUTPUT AS #2
  31. 270 COLOR 6,1,1
  32. 280 LOCATE 17,19,0: PRINT"Conversion Codes:  0 = all lower"
  33. 290 LOCATE 18,38,0: PRINT"1 = Caps after .!?"
  34. 300 LOCATE 19,38,0: PRINT"2 = First letter of each word"
  35. 310 LOCATE 20,38,0: PRINT"3 = Caps after .!? + First of line"
  36. 320 COLOR 7,1,1
  37. 330 LOCATE 13,19,0:PRINT"Enter Conversion Code: (0/1/2/3) "
  38. 332 A$=INKEY$: IF A$="" THEN 332
  39. 333 IF A$=>"0" AND A$<="3" THEN SW1=VAL(A$): GOTO 345
  40. 340 BEEP: GOTO 332
  41. 345 COLOR 5,1,1: LOCATE 13,52,0: PRINT SW1
  42. 350 COLOR 3,1,1
  43. 360 LOCATE 15,19,0: PRINT"DOWNER is currently processing Record: "
  44. 370 SW3=SW1
  45. 380 SW4=SW1
  46. 390 IF SW1=3 THEN SW5=3: SW3=1: SW4=1
  47. 400 IF EOF(1) THEN GOTO 610
  48. 410 LINE INPUT#1,R$
  49. 420 RNBR = RNBR + 1
  50. 430 LOCATE 15,59,0: PRINT RNBR
  51. 440 IF SW5=3 THEN SW3=1
  52. 450 I=1:WHILE I<=LEN(R$)
  53. 460 C=ASC(MID$(R$,I,1))
  54. 470 IF SW1=0 AND (C>64 AND C<91) THEN MID$(R$,I,1)=CHR$(C+32):GOTO 550
  55. 480 IF SW3=1 THEN SW3=0:GOTO 550
  56. 490 IF SW4=2 THEN SW4=0: GOTO 550
  57. 500 IF (C=46 OR C=33 OR C=63) THEN SW2=1:GOTO 550
  58. 510 IF SW1=2 AND C=32 THEN SW2=1: GOTO 550
  59. 520 IF (C<65 OR C>90) GOTO 550
  60. 530 IF SW2=1 THEN SW2=0:GOTO 550
  61. 540 MID$(R$,I,1)=CHR$(C+32)
  62. 550 I=I+1
  63. 560 WEND
  64. 570 PRINT #2,R$
  65. 580 SW4=SW1
  66. 590 IF SW4=2 OR SW5=3 THEN SW2=0
  67. 600 GOTO 400
  68. 610 COLOR 7,1,1
  69. 620 BEEP:CLOSE#1:CLOSE#2:LOCATE 22,19,0:PRINT"Conversion complete...Convert another (Y/N)"
  70. 622 A$=INKEY$: IF A$="" THEN 622
  71. 630 IF A$="Y" OR A$="y" THEN GOTO 130
  72. 640 END
  73.