diff options
Diffstat (limited to 'macros.bas')
-rw-r--r-- | macros.bas | 176 |
1 files changed, 0 insertions, 176 deletions
diff --git a/macros.bas b/macros.bas deleted file mode 100644 index 89ba846b..00000000 --- a/macros.bas +++ /dev/null @@ -1,176 +0,0 @@ -' INFO_1: Converter for STANDARD.MAC to MACRO.C -' -' INFO_2: Written by Mark Junker in 1997 -' InterNet: mjs@prg.hannover.sgh-net.de -' FIDO: Mark Junker@2:2437/47.21 -' -' COMMENT: To start the program press SHIFT+F5 within the QBasic IDE -' or start it from the command-line with QBASIC /RUN MACROS -' - -DEFINT A-Z - -DECLARE FUNCTION StrTrimLeft$ (a$, b$) -DECLARE FUNCTION StrTrimRight$ (a$, b$) -DECLARE FUNCTION StrTrim$ (a$, b$) -DECLARE SUB StrSplitString (SplitString$, SplitChars$, SplitField$(), SplitCount%) -DECLARE FUNCTION Min% (a%, b%) -DECLARE FUNCTION StrInstrLeft% (SearchStart%, SearchIn$, SearchFor$) -DECLARE FUNCTION StrAscii% (a$) - - -CLS -DIM LineData$(1 TO 2) - -OPEN "I", 1, "STANDARD.MAC" -OPEN "O", 2, "macros.c" - -PRINT #2, "/* This file auto-generated from standard.mac by macros.bas - don't edit it */" -PRINT #2, "" -PRINT #2, "static char *stdmac[] = {" - -WHILE NOT EOF(1) - LINE INPUT #1, l$ - CALL StrSplitString(l$, ";", LineData$(), SplitCount) - IF SplitCount THEN - LineData$(1) = StrTrim$(LineData$(1), CHR$(9) + " ") - IF LEN(LineData$(1)) THEN - PRINT #2, " " + CHR$(34) + LineData$(1) + CHR$(34) + "," - END IF - END IF -WEND -PRINT #2, " NULL" -PRINT #2, "};" - -CLOSE 2 -CLOSE 1 -SYSTEM - -FUNCTION Min% (a%, b%) - IF a% < b% THEN Min% = a% ELSE Min% = b% -END FUNCTION - -FUNCTION StrAscii (a$) - IF LEN(a$) = 0 THEN - StrAscii = -1 - ELSE - StrAscii = ASC(a$) - END IF -END FUNCTION - -' same as =INSTR(SearchStart, SearchIn, ANY SearchFor$) in PowerBASIC(tm) -' -FUNCTION StrInstrLeft (SearchStart, SearchIn$, SearchFor$) - ValuesCount = LEN(SearchFor$) - MaxValue = LEN(SearchIn$) + 1 - MinValue = MaxValue - FOR Counter1 = 1 TO ValuesCount - SearchChar$ = MID$(SearchFor$, Counter1, 1) - hVal2 = INSTR(SearchStart, SearchIn$, SearchChar$) - IF hVal2 > 0 THEN MinValue = Min%(hVal2, MinValue) - NEXT - IF MinValue = MaxValue THEN MinValue = 0 - StrInstrLeft = MinValue -END FUNCTION - -' -' This is a very damn fuckin' shit version of this splitting routine. -' At this time, it's not very useful :] -' -SUB StrSplitString (SplitString$, SplitChars$, SplitField$(), SplitCount) - StartIndex = LBOUND(SplitField$) - LastIndex = UBOUND(SplitField$) - ActualIndex& = StartIndex - SplitCount = 0 - - LastPos = 1 - FoundPos = StrInstrLeft(LastPos, SplitString$, SplitChars$ + CHR$(34)) - GetDirect = 0 - EndLoop = 0 - TempString$ = "" - DO WHILE FoundPos > 0 - FoundCharVal = StrAscii(MID$(SplitString$, FoundPos, 1)) - PosDiff = (FoundPos - LastPos) + 1 - SELECT CASE FoundCharVal - CASE 34 - TempString$ = TempString$ + MID$(SplitString$, LastPos, PosDiff - 1) - SELECT CASE EndLoop - CASE 0 - EndLoop = 2 - CASE 3 - EndLoop = 0 - END SELECT - CASE ELSE - TempString$ = TempString$ + MID$(SplitString$, LastPos, PosDiff - 1) - SplitField$(ActualIndex&) = TempString$ - TempString$ = "" - ActualIndex& = ActualIndex& + 1 - IF ActualIndex& > LastIndex THEN - ActualIndex& = LastIndex - EndLoop = 1 - END IF - END SELECT - SELECT CASE EndLoop - CASE 0 - DO - LastPos = FoundPos + 1 - FoundPos = StrInstrLeft(LastPos, SplitString$, SplitChars$) - LOOP WHILE LastPos = FoundPos - FoundPos = StrInstrLeft(LastPos, SplitString$, SplitChars$ + CHR$(34)) - CASE 1 - FoundPos = 0 - LastPos = LEN(SplitString$) + 1 - CASE 2 - EndLoop = 3 - LastPos = FoundPos + 1 - FoundPos = StrInstrLeft(LastPos, SplitString$, CHR$(34)) - IF FoundPos = 0 THEN - SplitString$ = SplitString$ + CHR$(34) - FoundPos = LEN(SplitString$) - END IF - END SELECT - LOOP - IF EndLoop = 0 THEN - IF LEN(TempString$) > 0 THEN - SplitField$(ActualIndex&) = TempString$ - ELSEIF LastPos <= LEN(SplitString$) THEN - SplitField$(ActualIndex&) = MID$(SplitString$, LastPos) - ELSE - ActualIndex& = ActualIndex& - 1 - END IF - END IF - FOR a = ActualIndex& + 1 TO LastIndex - SplitField$(a) = "" - NEXT - SplitCount = (ActualIndex& - StartIndex) + 1 -END SUB - -FUNCTION StrTrim$ (a$, b$) - StrTrim$ = StrTrimRight$(StrTrimLeft$(a$, b$), b$) -END FUNCTION - -FUNCTION StrTrimLeft$ (a$, b$) 'public - p = 0 - l = LEN(a$) - DO - p = p + 1 - t$ = MID$(a$, p, 1) - LOOP WHILE (p < l) AND (INSTR(b$, t$) > 0) - StrTrimLeft$ = MID$(a$, p) -END FUNCTION - -FUNCTION StrTrimRight$ (a$, b$) 'public - l = LEN(a$) - p = l + 1 - DO - p = p - 1 - IF p > 0 THEN - t$ = MID$(a$, p, 1) - ELSE - t$ = "" - END IF - LOOP WHILE (p > 0) AND (INSTR(b$, t$) > 0) - StrTrimRight$ = LEFT$(a$, p) -END FUNCTION - -
\ No newline at end of file |