home *** CD-ROM | disk | FTP | other *** search
- '* ------------------------------------------------------- *
- '* INLINE.BAS *
- '* Utility zum Erzeugen einer INLINE - Prozedur *
- '* (C) 1989 H. Stellbrink & TOOLBOX *
- '* ------------------------------------------------------- *
- SUB Monitor (Farbe%) '* Farbmonitor ?
- LOCAL Modus%
- DEF SEG = 0
- Modus% = (PEEK (&H410) AND 48) / 16
- DEF SEG
- SELECT CASE Modus%
- CASE 1 : Farbe% = -1
- CASE 2 : Farbe% = -1
- CASE 3 : Farbe% = 0
- END SELECT
- END SUB
-
- SUB Taste (z$) '* Tastenabfrage
- IF z$ = "" THEN z$ = "Weiter mit einer Taste"
- PRINT
- PRINT z$
- z$ = INPUT$(1)
- END SUB
-
- SUB Bild (Farbe%)
- IF Farbe% THEN COLOR 14,1 ELSE COLOR 0,7
- PRINT "┌"+STRING$(77,"─")+"┐"
- PRINT "│";TAB(10);"I N L I N E - P R O Z E D U R";
- PRINT " - E R Z E U G U N G";TAB(79);"│"
- PRINT "└"+STRING$(71,"─")+" H.St.┘"
- IF Farbe% THEN COLOR 14,0 ELSE COLOR 7,0
- END SUB
-
- SUB Eingabe (BinDatei$, SubName$)
- LOCATE 5,1
- PRINT "Bitte geben Sie die vollständige Datei"+_
- "bezeichnung der binären Quelldatei ein."
- PRINT
- INPUT BinDatei$
- PRINT
- PRINT "Wie soll die INLINE - Prozedur heißen ?"
- PRINT
- INPUT SubName$
- END SUB
-
- '* ------------------------------------------------------- *
- TextDatei$ = "INLINE.TXT" '* Name der Ausgabe-Datei
- ProZeile% = 10 '* Anzahl der Codes pro Zeile
-
- CLS
- ON ERROR GOTO Fehler
- CALL Monitor (Farbe%) '* Klärt, ob Farbmonitor
- CALL Bild (Farbe%) '* Kopfbild
- CALL Eingabe (BinDatei$, SubName$)
-
- OPEN BinDatei$ FOR INPUT AS #1 '* Datei vorhanden ?
- CLOSE
- OPEN TextDatei$ FOR OUTPUT AS #1
- OPEN BinDatei$ FOR BINARY AS #2
-
- CLS
- PRINT "Bearbeitet wird ";UCASE$(BinDatei$)
- PRINT
- PRINT #1, "SUB ";SubName$;" INLINE"
- PRINT "SUB ";SubName$;" INLINE"
- DO
- IF EOF(2) THEN EXIT LOOP
- PRINT #1, " $INLINE ";
- PRINT " $INLINE ";
- FOR i% = 1 TO ProZeile%
- IF EOF(2) THEN EXIT LOOP
- GET$ #2, 1, b$
- b$ = STR$ (ASC (b$))
- b$ = RIGHT$ (" "+b$, 4)
- PRINT b$;
- PRINT #1, b$;
- IF i% <> ProZeile% AND NOT EOF(2) THEN
- PRINT #1, ",";
- PRINT ",";
- ELSE
- PRINT
- PRINT #1,
- END IF
- NEXT i%
- LOOP
- PRINT "END SUB"
- PRINT #1,"END SUB"
- CLOSE
- PRINT
- PRINT "Diese Prozedur finden Sie in der Datei "; TextDatei$
- CALL Taste ("")
- COLOR 7,0
- END
-
- '* ------------------------------------------------------- *
- Fehler:
- BEEP
- CLOSE
- PRINT
- SELECT CASE err
- CASE 53, 61, 64, 70, 71, 72, 75, 76
- PRINT "Fehler beim Zugriff auf Datenträger"
- CASE ELSE
- PRINT "F E H L E R.............."
- PRINT
- PRINT "Nummer ";ERR
- PRINT "Adresse ";ERADR
- END SELECT
- RESUME FehlerEnde
- FehlerEnde:
- CALL Taste ("")
- COLOR 7,0
- END
- '* ------------------------------------------------------- *
- '* Ende von INLINE.BAS *