home *** CD-ROM | disk | FTP | other *** search
-
-
- PROCEDURE formula(VAR x : REAL;prompt : strg);
- VAR term : calc_string;
- vptr : calc_prog;
- vartab : calc_vartab;
-
- BEGIN
- REPEAT
- readstr(term,1,0,30,prompt);
- (* wer die Funktion 'WhereY' auf seinem Rechner verfuegbar hat, sollte *)
- (* die obige Zeile durch *)
- (* readstr(term,1,whereY,sizeof(Calc_String)-1,prompt); *)
- (* ersetzen ! Die 0 ist ein Trick !!! *)
- WHILE Pos(' ',term) = 1 DO
- Delete(term,1,1);
- IF term = '' THEN term := '0';
- term := term +';';
- vartab := nil;
- compileexpression(term,vartab,vptr);
- if calcresult THEN x := calcexpression(vptr,vartab);
- UNTIL calcresult;
- killexpression(vptr);
- killvartab(vartab);
- END;
-
- PROCEDURE formulaln(VAR x : REAL; prompt : strg);
-
- BEGIN
- formula(x,prompt);
- Writeln
- END;
-