1 CLS 2 CLEAR 4 rem 12:14 AM 1/29/00 change in 404, original is in rem 5 W = 3000 6 OPEN "_list.txt" FOR INPUT AS #1 7 OPEN "to.tmp" FOR APPEND AS #2 9 Z = 100 : REM dimension variable, max = 100 11 DIM A$(Z) 12 DIM B$(Z) 13 DIM LN$(Z) 14 DIM EN$(Z) 15 DIM MN$(Z) 16 DIM DB$(Z) 17 DIM MF$(Z) 18 DIM MM$(Z) 19 DIM FS$(Z) 20 DIM FL$(Z) 21 DIM SX$(Z) 22 DIM BP$(Z) 23 DIM DP$(Z) 24 DIM RP$(Z) 25 DIM DD$(Z) 26 DIM SS$(Z) 27 DIM AG$(Z) 28 DIM RE$(Z) 29 DIM TC$(Z) 30 DIM MS$(Z) 31 DIM SP$(Z) 32 DIM YO$(Z) 33 DIM CT$(Z) 34 DIM RC$(Z) 35 DIM BI$(Z) 36 DIM AU$(Z) 37 DIM OP$(Z) 38 DIM CD$(Z) 39 DIM EV$(Z) 40 DIM IW$(Z) 41 DIM DI$(Z) 42 DIM MI$(Z) 43 DIM MD$(Z) 44 DIM AC$(Z) 45 DIM TF$(Z) 46 DIM TY$(Z) 47 DIM UC$(Z) 48 DIM UG$(Z) 49 DIM ID$(Z) 50 DIM MP$(Z) 51 DIM HI$(Z) 52 DIM ST$(Z) 53 DIM CC$(Z) 54 DIM CE$(Z) 55 DIM SC$(Z) 56 DIM TE$(Z) 57 DIM YE$(Z) 58 DIM RG$(Z) 59 DIM HG$(Z) 60 DIM YI$(Z) 61 DIM DH$(Z) 62 DIM UU$(Z) 63 DIM ZP$(Z) 64 DIM UI$(Z) 99 REM read in all lines 105 L = 0 110 FOR N = 1 TO Z 115 IF EOF(1) THEN 140 120 LINE INPUT #1, A$(N) 130 L = L + 1 135 NEXT N 140 REM end of inputing 150 REM now process data 197 REM identify fields 198 IF L=0 THEN 994 199 FOR N = 1 TO L 200 Y=6: B$(N) = LEFT$(A$(N),Y) 201 FS$(N) = B$(N) 203 Y=6: B$(N) = MID$(A$(N),7,Y) 205 FL$(N) = B$(N) 207 Y=20: B$(N) = MID$(A$(N),13,Y) 208 GOSUB 400 : LN$(N) = B$(N) 210 Y=12: B$(N) = MID$(A$(N),33,Y) 211 GOSUB 400 : EN$(N) = B$(N) 213 Y=12: B$(N) = MID$(A$(N),45,Y) 215 GOSUB 400 : MN$(N) = B$(N) 217 Y=1: B$(N) = MID$(A$(N),57,Y) 218 GOSUB 400 : TC$(N) = B$(N) 220 Y=8: B$(N) = MID$(A$(N),58,Y) 221 GOSUB 400 : DD$(N) = B$(N) 223 Y=1: B$(N) = MID$(A$(N),66,Y) 225 GOSUB 400 : SX$(N) = B$(N) 227 B$(N) = MID$(A$(N),67,Y) 228 GOSUB 400 : RE$(N) = B$(N) 230 Y=8 : B$(N) = MID$(A$(N),69,Y) 231 GOSUB 400 : DB$(N) = B$(N) 233 Y=3 : B$(N) = MID$(A$(N),77,Y) 235 GOSUB 400 : AG$(N) = B$(N) 237 Y=2 : B$(N) = MID$(A$(N),80,Y) 238 GOSUB 400 : BP$(N) = B$(N) 240 Y=15: B$(N) = MID$(A$(N),82,Y) 241 GOSUB 400 : MF$(N) = B$(N) 243 Y=15: B$(N) = MID$(A$(N),97,Y) 245 GOSUB 400 : MM$(N) = B$(N) 247 Y=9 : B$(N) = MID$(A$(N),112,Y) 248 GOSUB 400 : SS$(N) = B$(N) 250 Y=1 : B$(N) = MID$(A$(N),121,Y) 251 GOSUB 400 : MS$(N) = B$(N) 253 Y=2 : B$(N) = MID$(A$(N),122,Y) 255 GOSUB 400 : SP$(N) = B$(N) 257 Y=2: B$(N) = MID$(A$(N),124,Y) 258 GOSUB 400 : YO$(N) = B$(N) 260 Y=6: B$(N) = MID$(A$(N),126,Y) 261 GOSUB 400 : CT$(N) = B$(N) 263 Y=2 : B$(N) = MID$(A$(N),132,Y) 265 GOSUB 400 : DP$(N) = B$(N) 267 Y=2 : B$(N) = MID$(A$(N),134,Y) 268 rem NOT ASSIGNED 270 Y=1 : B$(N) = MID$(A$(N),136,Y) 271 GOSUB 400 : RC$(N) = B$(N) 273 Y=1 : B$(N) = MID$(A$(N),137,Y) 275 GOSUB 400 : BI$(N) = B$(N) 277 Y=1 : B$(N) = MID$(A$(N),138,Y) 278 GOSUB 400 : AU$(N) = B$(N) 280 Y=1: B$(N) = MID$(A$(N),139,Y) 281 GOSUB 400 : OP$(N) = B$(N) 283 Y=1: B$(N) = MID$(A$(N),140,Y) 285 GOSUB 400 : CD$(N) = B$(N) 287 Y=1 : B$(N) = MID$(A$(N),141,Y) 288 GOSUB 400 : EV$(N) = B$(N) 290 Y=1 : B$(N) = MID$(A$(N),142,Y) 291 GOSUB 400 : IW$(N) = B$(N) 293 Y=8 : B$(N) = MID$(A$(N),143,Y) 295 GOSUB 400 : DI$(N) = B$(N) 297 Y=1 : B$(N) = MID$(A$(N),151,Y) 298 rem NOT ASSIGNED 300 Y=1 : B$(N) = MID$(A$(N),152,Y) 301 GOSUB 400 : MI$(N) = B$(N) 303 Y=1 : B$(N) = MID$(A$(N),153,Y) 305 GOSUB 400 : MD$(N) = B$(N) 307 Y=1 : B$(N) = MID$(A$(N),154,Y) 308 GOSUB 400 : AC$(N) = B$(N) 310 Y=1 : B$(N) = MID$(A$(N),155,Y) 311 GOSUB 400 : TF$(N) = B$(N) 313 Y=2 : B$(N) = MID$(A$(N),156,Y) 315 GOSUB 400 : RP$(N) = B$(N) 317 Y=2 : B$(N) = MID$(A$(N),158,Y) 318 rem NOT ASSIGNED 320 Y=1 : B$(N) = MID$(A$(N),160,Y) 321 GOSUB 400 : TY$(N) = B$(N) 323 Y=5 : B$(N) = MID$(A$(N),161,Y) 325 GOSUB 400 : UC$(N) = B$(N) 327 Y=3 : B$(N) = MID$(A$(N),166,Y) 328 GOSUB 400 : UG$(N) = B$(N) 330 Y=3 : B$(N) = MID$(A$(N),169,Y) 331 GOSUB 400 : ID$(N) = B$(N) 333 Y=2 : B$(N) = MID$(A$(N),172,Y) 335 GOSUB 400 : MP$(N) = B$(N) 337 Y=1 : B$(N) = MID$(A$(N),174,Y) 338 GOSUB 400 : HI$(N) = B$(N) 340 Y=6 : B$(N) = MID$(A$(N),175,Y) 341 rem NOT ASSIGNED 343 Y=2 : B$(N) = MID$(A$(N),181,Y) 345 GOSUB 400 : ST$(N) = B$(N) 347 Y=4 : B$(N) = MID$(A$(N),183,Y) 348 GOSUB 400 : CC$(N) = B$(N) 350 Y=6 : B$(N) = MID$(A$(N),187,Y) 351 GOSUB 400 : CE$(N) = B$(N) 353 Y=1 : B$(N) = MID$(A$(N),193,Y) 355 GOSUB 400 : SC$(N) = B$(N) 357 Y=1 : B$(N) = MID$(A$(N),194,Y) 358 GOSUB 400 : TE$(N) = B$(N) 360 Y=4 : B$(N) = MID$(A$(N),195,Y) 361 GOSUB 400 : YE$(N) = B$(N) 363 Y=2 : B$(N) = MID$(A$(N),199,Y) 365 GOSUB 400 : RG$(N) = B$(N) 367 Y=2 : B$(N) = MID$(A$(N),201,Y) 368 GOSUB 400 : HG$(N) = B$(N) 370 Y=4 : B$(N) = MID$(A$(N),203,Y) 371 rem NOT ASSIGNED 373 Y=4 : B$(N) = MID$(A$(N),207,Y) 375 rem NOT ASSIGNED 377 Y=2 : B$(N) = MID$(A$(N),211,Y) 378 GOSUB 400 : YI$(N) = B$(N) 380 Y=1 : B$(N) = MID$(A$(N),213,Y) 381 GOSUB 400 : DH$(N) = B$(N) 383 Y=1 : B$(N) = MID$(A$(N),214,Y) 385 GOSUB 400 : UU$(N) = B$(N) 387 Y=28: B$(N) = MID$(A$(N),215,Y) 388 rem NOT ASSIGNED 390 Y=5 : B$(N) = MID$(A$(N),243,Y) 391 GOSUB 400 : ZP$(N) = B$(N) 393 Y=3 : B$(N) = MID$(A$(N),248,Y) 395 GOSUB 400 : UI$(N) = B$(N) 397 NEXT N 398 GOTO 599 400 REM subroutine to elimatate spaces in string 401 FOR X=1 TO Y 402 IF N > L THEN 499 403 IF LEN(B$(N)) <> Y THEN 408 : rem IF LEN(B$(N)) = 0 THEN 408 404 IF ASC(MID$(B$(N),X,1)) = 32 THEN 420 408 NEXT X 420 B$(N) = LEFT$(B$(N),X-1) 499 RETURN 599 REM Now assemble and write revised data back to file. 610 FOR N = 1 TO L 645 A$(N) = FS$(N) + "|" + FL$(N) + "|" + LN$(N) + "|" + EN$(N) + "|" + MN$(N) + "|" + TC$(N) + "|" + DD$(N) + "|" + SX$(N) + "|" + RE$(N) + "|" + DB$(N) + "|" + AG$(N) + "|" + BP$(N) + "|" + MF$(N) + "|" + MM$(N) + "|" + SS$(N) + "|" + MS$(N) 646 A$(N) = A$(N) + "|" + SP$(N) + "|" + YO$(N) + "|" + CT$(N) + "|" + DP$(N) + "|" + RC$(N) + "|" + BI$(N) + "|" + AU$(N) + "|" + OP$(N) + "|" + CD$(N) + "|" + EV$(N) + "|" + IW$(N) + "|" + DI$(N) + "|" + MI$(N) + "|" + MD$(N) + "|" + AC$(N) 647 A$(N) = A$(N) + "|" + TF$(N) + "|" + TY$(N) + "|" + UC$(N) + "|" + UG$(N) + "|" + ID$(N) + "|" + MP$(N) + "|" + HI$(N) + "|" + ST$(N) + "|" + CC$(N) + "|" + CE$(N) + "|" + SC$(N) + "|" + TE$(N) + "|" + YE$(N) + "|" + RG$(N) + "|" + HG$(N) 648 A$(N) = A$(N) + "|" + YI$(N) + "|" + DH$(N) + "|" + UU$(N) + "|" + ZP$(N) + "|" + UI$(N) 649 rem + "|" + ??$(N) + "|" + ??$(N) + "|" + ??$(N) + "|" + ??$(N) + "|" + ??$(N) + "|" + ??$(N) + "|" + ??$(N) + "|" + ??$(N) + "|" + ??$(N) + "|" + ??$(N) 660 REM now check for || in a row, make |-| 661 REM GOTO 740 662 Y = LEN(A$(N)) 664 FOR X=1 TO Y 666 IF MID$(A$(N),X,2) = "||" THEN 680 668 NEXT X 670 GOTO 740 680 REM A$(N) = LEFT$(A$(N),X) + "" + RIGHT$(A$(N),Y-X) 685 Y=Y+1: GOTO 668 740 REM now save to file 742 PRINT A$(N) 743 stop 750 PRINT #2, A$(N) 755 NEXT N 799 GOTO 890: REM Optional display of results. 800 OPEN "to.tmp" FOR INPUT AS #2 805 FOR N = 1 TO L 810 IF EOF(1) THEN 830 815 LINE INPUT #2, A$(N) 820 NEXT N 830 PRINT "START" 835 FOR N = 1 TO L 840 PRINT A$(N) 845 NEXT N 850 PRINT "DONE", L 851 GOTO 890 880 PRINT "LENGTH ERROR !!! : ", A$(N) 890 W=W-1 : IF W=0 THEN 994 891 ERASE A$ 892 ERASE B$ 893 ERASE LN$ 894 ERASE EN$ 895 ERASE MN$ 896 ERASE DB$ 897 ERASE MF$ 898 ERASE MM$ 899 ERASE FS$ 900 ERASE FL$ 901 ERASE SX$ 902 ERASE BP$ 903 ERASE DP$ 904 ERASE RP$ 905 ERASE DD$ 906 ERASE SS$ 907 ERASE AG$ 908 ERASE RE$ 909 ERASE TC$ 910 ERASE MS$ 911 ERASE SP$ 912 ERASE YO$ 913 ERASE CT$ 914 ERASE RC$ 915 ERASE BI$ 916 ERASE AU$ 917 ERASE OP$ 918 ERASE CD$ 919 ERASE EV$ 920 ERASE IW$ 921 ERASE DI$ 922 ERASE MI$ 923 ERASE MD$ 924 ERASE AC$ 925 ERASE TF$ 926 ERASE TY$ 927 ERASE UC$ 928 ERASE UG$ 929 ERASE ID$ 930 ERASE MP$ 931 ERASE HI$ 932 ERASE ST$ 933 ERASE CC$ 934 ERASE CE$ 935 ERASE SC$ 936 ERASE TE$ 937 ERASE YE$ 938 ERASE RG$ 939 ERASE HG$ 940 ERASE YI$ 941 ERASE DH$ 942 ERASE UU$ 943 ERASE ZP$ 944 ERASE UI$ 992 GOTO 9 994 CLOSE 996 PRINT W, L 999 SYSTEM