1: DECLARE FUNCTION GetCommandLineParem$ (t$, tp$, nm!) 2: DECLARE FUNCTION MathPro! (n$) 3: DECLARE FUNCTION ReplaceMid$ (t$, r$, s!, ln!) 4: DECLARE FUNCTION FindQuoteLength! (t$, s!) 5: DECLARE FUNCTION TRIMS$ (n!, t$) 6: 's$=command$ 7: 's$ = "V 0" 8: IF UCASE$(LEFT$(s$, 7)) = "LENGTH(" THEN Instant = 1 9: IF INSTR(UCASE$(s$), "LENGTH(") <> 0 THEN ss = INSTR(UCASE$(s$), "LENGTH(") + 7: s$ = ReplaceMid$(s$, TRIMS$(FindQuoteLength(s$, ss), ""), ss - LEN("LENGHT(") - 1, LEN("LENGTH(") + FindQuoteLength(s$, ss) + 4) 10: IF UCASE$(LEFT$(s$, 4)) = "MID " THEN txt$ = GetCommandLineParem$(s$, "TEXT", 0): en = VAL(GetCommandLineParem$(s$, "END", 1)): st = VAL(GetCommandLineParem$(s$, "START", 1)): outParem$ = MID$(txt$, st, en - st) 11: IF UCASE$(LEFT$(s$, 3)) = "KEY" THEN outParem$ = INPUT$(1) 12: IF UCASE$(LEFT$(s$, 4)) = "STRG" THEN LINE INPUT outParem$ 13: IF UCASE$(LEFT$(s$, 5)) = MID$(s$, 1, 4) + "U" THEN outParem$ = UCASE$(outParem$) 14: IF UCASE$(LEFT$(s$, 5)) = MID$(s$, 1, 4) + "L" THEN outParem$ = LCASE$(outParem$) 15: IF UCASE$(LEFT$(s$, 4)) = "KEYP" THEN PRINT outParem$ 16: IF UCASE$(LEFT$(s$, 2)) = "U " THEN outParem$ = UCASE$(RIGHT$(s$, LEN(s$) - 2)) 17: IF UCASE$(LEFT$(s$, 2)) = "L " THEN outParem$ = LCASE$(RIGHT$(s$, LEN(s$) - 2)) 18: IF UCASE$(LEFT$(s$, 3)) = "FC " THEN COLOR VAL(RIGHT$(s$, LEN(s$) - 3)) 19: IF UCASE$(LEFT$(s$, 3)) = "BC " THEN COLOR , VAL(RIGHT$(s$, LEN(s$) - 3)) 20: IF UCASE$(LEFT$(s$, 2)) = "V " THEN SCREEN VAL(RIGHT$(s$, LEN(s$) - 2)) 21: IF Instant = 1 THEN outParem$ = s$ 22: 23: 24: PRINT outParem$ 25: 26: FUNCTION FindQuoteLength (t$, s) 27: FOR q = s TO LEN(t$) 28: IF MID$(t$, q, 1) = CHR$(34) THEN OpenedQuote = (NOT OpenedQuote): q = q + (OpenedQuote) * -1 29: IF OpenedQuote THEN Cnt = Cnt + 1 ELSE EXIT FOR 30: NEXT q 31: FindQuoteLength = Cnt 32: END FUNCTION 33: 34: FUNCTION GetCommandLineParem$ (t$, tp$, nm) 35: x = INSTR(UCASE$(t$), "/" + UCASE$(tp$) + ":") + LEN("/" + tp$ + ":") 36: IF nm = 0 THEN tl = FindQuoteLength(t$, x): m = 1 ELSE tl = INSTR(x, t$, " ") - x: m = 0 37: man$ = MID$(t$, x + m, tl) 38: IF nm = 0 = 0 THEN man$ = TRIMS$(MathPro(man$), "") 39: GetCommandLineParem$ = man$ 40: END FUNCTION 41: 42: FUNCTION MathPro (n$) 43: FOR q = 1 TO LEN(n$) 44: IF (MID$(n$, q, 1) = TRIMS$(VAL(MID$(n$, q, 1)), "")) = 0 = -1 AND op$ = "-" = -1 = -1 THEN Ouut = Ouut + (psdta - VAL(dd$)): psdta = 0 45: IF (MID$(n$, q, 1) = TRIMS$(VAL(MID$(n$, q, 1)), "")) = 0 = -1 AND op$ = "+" = -1 = -1 THEN Ouut = Ouut + (psdta + VAL(dd$)): psdta = 0 46: IF (MID$(n$, q, 1) = TRIMS$(VAL(MID$(n$, q, 1)), "")) = 0 = -1 AND op$ = "/" = -1 = -1 THEN Ouut = Ouut + (psdta / VAL(dd$)): psdta = 0 47: IF (MID$(n$, q, 1) = TRIMS$(VAL(MID$(n$, q, 1)), "")) = 0 = -1 AND op$ = "*" = -1 = -1 THEN Ouut = Ouut + (psdta * VAL(dd$)): psdta = 0 48: IF (MID$(n$, q, 1) = TRIMS$(VAL(MID$(n$, q, 1)), "")) = 0 = -1 THEN op$ = MID$(n$, q, 1): psdta = VAL(dd$): dd$ = "": q = q + 1 49: 'PRINT Ouut; psdta; VAL(dd$); op$ 50: dd$ = dd$ + MID$(n$, q, 1) 51: NEXT q 52: IF (MID$(n$, q, 1) = TRIMS$(VAL(MID$(n$, q, 1)), "")) = 0 = -1 AND op$ = "-" = -1 = -1 THEN Ouut = Ouut + (psdta - VAL(dd$)): psdta = 0 53: IF (MID$(n$, q, 1) = TRIMS$(VAL(MID$(n$, q, 1)), "")) = 0 = -1 AND op$ = "+" = -1 = -1 THEN Ouut = Ouut + (psdta + VAL(dd$)): psdta = 0 54: IF (MID$(n$, q, 1) = TRIMS$(VAL(MID$(n$, q, 1)), "")) = 0 = -1 AND op$ = "/" = -1 = -1 THEN Ouut = Ouut + (psdta / VAL(dd$)): psdta = 0 55: IF (MID$(n$, q, 1) = TRIMS$(VAL(MID$(n$, q, 1)), "")) = 0 = -1 AND op$ = "*" = -1 = -1 THEN Ouut = Ouut + (psdta * VAL(dd$)): psdta = 0 56: IF (MID$(n$, q, 1) = TRIMS$(VAL(MID$(n$, q, 1)), "")) = 0 = -1 THEN psdta = VAL(dd$): dd$ = "": q = q + 1 57: MathPro = Ouut 58: 'PRINT Ouut; psdta; VAL(dd$); op$ 59: IF op$ = "" THEN MathPro = VAL(n$) 60: END FUNCTION 61: 62: FUNCTION ReplaceMid$ (t$, r$, s, ln) 63: ReplaceMid$ = LEFT$(t$, s) + r$ + MID$(t$, s + ln, LEN(t$) - (s + ln) + 1) 64: END FUNCTION 65: 66: FUNCTION TRIMS$ (n, t$) 67: IF t$ = "" THEN TRIMS$ = LTRIM$(RTRIM$(STR$(n))) ELSE TRIMS$ = LTRIM$(RTRIM$(t$)) 68: END FUNCTION 69: |