5748469 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$ cat -n betbat.bas
   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: 
5748470 [rkeene@sledge /home/rkeene/devel/archive/quickbasic]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2000-05-09 21:00:07