'=========================================================================== ' Subject: .BI FILE GENERATOR Date: 04-10-00 (11:22) ' Author: Andreas van Cranenburgh Code: QB, QBasic, PDS ' Origin: andreaswolf@mail.com Packet: MISC.ABC '=========================================================================== ' Make .BI (Basic Include files) By Andreas van Cranenburgh (C) 2000 ' Mail any suggestions and bug reports to andreaswolf@mail.com FILES PRINT " -- Make .BI by Andreas van Cranenburgh --" PRINT " -- E-Mail comments to andreaswolf@quios.com --" INPUT "Input file: ", infile$ INPUT "Output file: ", outfile$ OPEN infile$ FOR INPUT AS #1 OPEN outfile$ FOR OUTPUT AS #2 PRINT #2, "' -- Created with Andreas van Cranenburgh's Make .BI --" PRINT #2, "' -- E-Mail comments to andreaswolf@quios.com --" PRINT "Adding SUBs... "; DO 'Phase: SUBs LINE INPUT #1, line$ IF LEFT$(LTRIM$(UCASE$(line$)), 3) = "SUB" THEN IF INSTR(UCASE$(line$), "STATIC") > 0 THEN line$ = LEFT$(line$, INSTR(UCASE$(line$), "STATIC") - 1) END IF IF INSTR(UCASE$(line$), "'") > 0 THEN line$ = LEFT$(line$, INSTR(UCASE$(line$), "'") - 1) END IF IF INSTR(line$, "(") = 0 THEN line$ = line$ + " ()" PRINT #2, "DECLARE " + RTRIM$(LTRIM$(line$)) END IF LOOP UNTIL EOF(1) COLOR 2, 0: PRINT "Finished": COLOR 7, 0 PRINT "Adding FUNCTIONs... "; SEEK #1, 1 DO 'Phase: FUNCTIONs LINE INPUT #1, line$ IF LEFT$(LTRIM$(UCASE$(line$)), 8) = "FUNCTION" THEN IF INSTR(UCASE$(line$), "STATIC") > 0 THEN line$ = LEFT$(line$, INSTR(UCASE$(line$), "STATIC") - 1) END IF IF INSTR(UCASE$(line$), "'") > 0 THEN line$ = LEFT$(line$, INSTR(UCASE$(line$), "'") - 1) END IF IF INSTR(line$, "(") = 0 THEN line$ = line$ + " ()" PRINT #2, "DECLARE " + LTRIM$(RTRIM$(line$)) END IF LOOP UNTIL EOF(1) COLOR 2, 0: PRINT "Finished": COLOR 7, 0 PRINT "Adding TYPEs... "; SEEK #1, 1 DO 'Phase: TYPEs LINE INPUT #1, line$ IF LEFT$(LTRIM$(UCASE$(line$)), 4) = "TYPE" THEN PRINT #2, line$ DO LINE INPUT #1, line$ PRINT #2, line$ LOOP UNTIL LEFT$(LTRIM$(UCASE$(line$)), 8) = "END TYPE" END IF LOOP UNTIL EOF(1) COLOR 2, 0: PRINT "Finished": COLOR 7, 0 PRINT infile$ + " is ready" CLOSE #2 CLOSE #1