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