home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol052
/
scatpad.bas
< prev
next >
Wrap
BASIC Source File
|
1984-04-29
|
2KB
|
48 lines
1000 '***** Simple Utility Program *****
1010 ' If your sort program only allows
records to be fixed length, then
this program can be used to pad
spaces to the end of each line.
1020 ' New addition - for those who must have
fixed length fields too.
1022 ' Beware - This program is like tomato juice,
i.e. possible insect fragments - it was put
together very quickly and has been tested
only minimally.
1030 '***** Bill Norris, 12/13/81 *****
1040 INPUT "Type complete INPUT filename : ",IFIL$
1050 INPUT "Type complete OUTPUT filename : ",OFIL$
1060 OPEN "I",#1,IFIL$ : OPEN "O",#2,OFIL$ : PRINT
1070 PRINT "Type '1' for fixed length records (last field padded)."
1080 PRINT "Type '2' for fixed length fields too (slower than #1)."
1090 INPUT " Type '1' or '2' : ",X : PRINT
1100 IF X<>1 AND X<>2 THEN GOTO 1070
1110 IF X=2 THEN GOTO 1190
1120 INPUT "What is the record length? ",RL
1130 PRINT "Only";RL-2;" bytes available for fields, as"
1140 INPUT "<cr/lf> occupies 2 bytes. Retype ? ",X$
1150 IF ASC(X$)=89 OR ASC(X$)=121 THEN PRINT : GOTO 1120
1160 LINE INPUT #1,A$:B$=A$+SPACE$(RL-LEN(A$)):
PRINT #2,B$:IF EOF(1) THEN GOTO 1170 ELSE GOTO 1160
1170 GOTO 9000
1190 INPUT "How many fields per record? ",NUMF : WIDTH 78
1195 INPUT "Do you want commas inserted between fields? ",X$
1198 IF ASC(X$)=89 OR ASC(X$) THEN COM$=","
1200 FOR I=1 TO NUMF :
PRINT "How many bytes in field #";I; :
INPUT " ",FL(I) :
NEXT I
1210 Y$="":FOR I=1 TO NUMF-1:
INPUT #1,X$:Y$=Y$+X$+SPACE$(FL(I)-LEN(X$))+COM$:
NEXT I:INPUT #1,X$:Y$=Y$+X$+SPACE$(FL(NUMF)-LEN(X$)):
X$=Y$+CHR$(13)+CHR$(10):PRINT #2,X$;
1220 IF EOF(1) THEN GOTO 9000 ELSE PRINT "*"; : GOTO 1210
9000 CLOSE : PRINT : PRINT "Fin" : END