⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 genexp.bas

📁 SEAL是DOS 下的32位保护模式的GUI程序
💻 BAS
字号:
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GENEXP 1.0                                                     '
' Copyright (c) Owen Rudge 2001                                  '
'                                                                '
' GenExp is a program to take the ALLEGRO.DEF file generated by  '
' fixdll.sh and produce a SEAL-compatible EXP file               '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

DIM BUF AS STRING
DIM NUMIGNORE AS INTEGER

DIM IGNORE(150) AS STRING

PRINT "GenExp 1.0"
PRINT "Copyright (c) Owen Rudge 2001"
PRINT
PRINT "Reading IGNORE.TXT..."

OPEN "IGNORE.TXT" FOR INPUT AS #1

i = 0
NUMIGNORE = 0

DO UNTIL EOF(1)
   LINE INPUT #1, BUF
   NUMIGNORE = NUMIGNORE + 1
LOOP

'REDIM IGNORE(1 TO NUMIGNORE) AS STRING

SEEK #1, 1

i = 0

FOR i = 1 TO NUMIGNORE 'DO UNTIL EOF(1)
   'i = i + 1
   LINE INPUT #1, IGNORE(i)

   IF LEFT$(IGNORE(i), 1) = ";" THEN
      'i = i - 1
   ELSEIF LEN(IGNORE(i)) >= 2 THEN
      IF LEFT$(IGNORE(i), 2) = "//" THEN
         'i = i - 1
      END IF
   END IF
NEXT i 'LOOP

CLOSE #1

PRINT "Generating ALLEGRO.EXP from ALLEGRO.DEF..."

OPEN "ALLEGRO.DEF" FOR INPUT AS #1
OPEN "ALLEGRO.EXP" FOR OUTPUT AS #2

PRINT #2, "/* Automatically generated by GENEXP on " + DATE$ + " (MM-DD-YY)"
PRINT #2, "   at " + TIME$ + " */"
PRINT #2,

LINE INPUT #1, BUF  ' skip comment and EXPORTS line
LINE INPUT #1, BUF

OLDPOS% = POS(0)

DO UNTIL EOF(1)
   LINE INPUT #1, BUF
   BUF = LTRIM$(RTRIM$(BUF))

   SPOS% = INSTR(1, BUF, " ")

   IF SPOS% <> 0 THEN
      BUF = LEFT$(BUF, SPOS% - 1)
   END IF

'   PRINT BUF;

   FOR i = 1 TO NUMIGNORE
      'PRINT i

      IF INSTR(BUF, IGNORE(i)) <> 0 THEN
         'PRINT "BAD THING!"
         'INPUT X$
         NF% = 0
      'ELSE
      '  GOTO NEXTLOOP
        ' 'PRINT " - IGNORED!"
      END IF
   NEXT i

   IF NF% = 1 THEN
      LOCATE , OLDPOS%
      
      FOR j = 1 TO OLDLEN%
         PRINT "  ";
      NEXT j

      LOCATE , OLDPOS%
       
      PRINT "   "; BUF;
      OLDLEN% = LEN(BUF)

      PRINT #2, "LIBEXPORT(" + BUF + ")"
   END IF

   NF% = 1

NEXTLOOP:
LOOP

OPEN "ADD.TXT" FOR INPUT AS #3

DO UNTIL EOF(3)
   LINE INPUT #3, BUF
   IF LEFT$(BUF, 1) <> ";" THEN
      PRINT #2, "LIBEXPORT(" + BUF + ")"
   END IF
LOOP

PRINT #2, "/* Generation finished on " + DATE$ + " (MM-DD-YY) at " + TIME$ + " */"

CLOSE #3
CLOSE #2
CLOSE #1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -