=========================================================================== BBS: The Abacus * HST/DS * Potterville, MI Date: 03-13-93 (22:26) Number: 87 From: QUINN TYLER JACKSON Refer#: NONE To: ALL Recvd: NO Subj: formula solver 5/7 Conf: (35) Quick Basi --------------------------------------------------------------------------- '>>> Start of page 5. IF VariPtr <= VARMAX THEN VarMem(VariPtr).Nom = VarName$ VarMem(VariPtr).Valu = VarValue ELSE PRINT "Out of variable space!" END IF END SUB SUB sqjGetOp TOKEN$ = "" DO WHILE MID$(expression$, Ptr, 1) = " " Ptr = Ptr + 1 LOOP IF INSTR(MID$(expression$, Ptr, 1), "(") THEN TOKEN$ = "(" Ptr = Ptr + 1 EXIT SUB END IF IF INSTR(MID$(expression$, Ptr, 1), ")") THEN TOKEN$ = ")" Ptr = Ptr + 1 EXIT SUB END IF IF INSTR(OPERATOR$, MID$(expression$, Ptr, 1)) THEN TOKEN$ = MID$(expression$, Ptr, 1) Ptr = Ptr + 1 ' see if it's a compound operator IF INSTR(OPERATOR$, MID$(expression$, Ptr, 1)) THEN TOKEN$ = TOKEN$ + MID$(expression$, Ptr, 1) Ptr = Ptr + 1 END IF TypeToken = OperatorClass EXIT SUB END IF Temp$ = MID$(expression$, Ptr, 1) IF Temp$ >= "0" AND Temp$ <= "9" THEN ' Build up a number from its digits DO WHILE INSTR(" " + OPERATOR$, MID$(expression$, Ptr, 1)) = 0 TOKEN$ = TOKEN$ + MID$(expression$, Ptr, 1) Ptr = Ptr + 1 LOOP TypeToken = DigitClass END IF Temp$ = MID$(expression$, Ptr, 1) IF Temp$ >= "a" AND Temp$ <= "z" THEN ' Build up a variable name based upon letters DO WHILE INSTR(" " + OPERATOR$, MID$(expression$, Ptr, 1)) = 0 TOKEN$ = TOKEN$ + MID$(expression$, Ptr, 1) Ptr = Ptr + 1 LOOP TOKEN$ = STR$(fqjFetchVar(TOKEN$)) TypeToken = DigitClass END IF '>>> Continued on page 6. --- Maximus/2 2.01wb * Origin: The Nibble's Roost, Richmond BC Canada 604-244-8009 (1:153/918) SEEN-BY: 1/211 11/2 4 13/13 101/1 108/89 109/25 110/69 114/5 123/19 124/1 SEEN-BY: 153/752 154/40 77 157/2 159/100 125 430 950 203/23 209/209 280/1 SEEN-BY: 390/1 396/1 15 397/2 2230/100 3603/20