home *** CD-ROM | disk | FTP | other *** search
- { ------------------------------------------------------------------------- }
- { FKEDIT.PAS }
- { Programm zum Editieren der Funktionsgleichung - muss als COM - File }
- { compeliert werden ! }
- { ------------------------------------------------------------------------- }
-
- PROGRAM edit;
-
- TYPE cpm_name = STRING [20];
-
-
- PROCEDURE auto_start (prog_name : cpm_name);
-
- CONST CR = #13 ; { Carrige return ! }
- ttsp = $FD9F; { Anfangsadresse des Tastaturspeichers im BIOS }
- anz_ttsp = $FD9E; { Anzahl der Zeichen im Tastaturspeicher }
- hol_ttsp = $FD9D; { Bereits vom CCP geholte Zeichen }
-
- VAR prog : FILE;
- i : INTEGER;
-
- BEGIN
- prog_name := 'NR' + prog_name + CR; { 'N' : fuer No }
- { 'R' : fuer Run }
- ClrScr; { Loescht den Bildschirm }
- WriteLn(' Bitte warten, habe viel zu tun !');
- WriteLn(' Melde mich zurueck, sobald ich fertig bin.');
- WriteLn(' ------------------------------------------');
-
- { mit 'mem' kann man bei TURBO - Pascal Speicherinhalte veraendern }
-
- Mem[hol_ttsp] := 0;
- Mem[anz_ttsp] := Length(prog_name);
- FOR i := 0 TO Length(prog_name) - 1 DO
- Mem[ttsp+i] := Ord(Copy(prog_name,i + 1,1));
-
- Assign(prog,'turbo.com'); { assign weist der physikal. }
- Execute(prog) { Datei prog den Namen }
- { 'turbo.com' zu. Mit execute}
- { wird das Programm gestartet}
- END;
-
- {--------------------------------------------------------------------------}
-
- PROCEDURE eingabe;
-
- VAR z : STRING [40]; { Eingabestring }
- x : TEXT;
-
- BEGIN
- ClrScr;
- WriteLn('Bitte geben Sie die gewuenschten Funktionsgleichung ein.');
- WriteLn(' Beispiel : x*sin(x/2) [CR]');
- WriteLn('Wenn Sie keine neue Funktion eingeben wollen, nur [CR] eingeben');
- WriteLn; WriteLn;
- Write('f(x) = '); { Einlesen der Funktionsgleichung }
- ReadLn(z);
- IF z<> '' THEN { neue Funktionsgleichung wurde eingegeben }
- BEGIN
- Assign(x,'FUNKTION.inc');
- ReWrite(x);
- WriteLn(x,'function f(x:real) : real;');
- WriteLn(x,'begin');
- WriteLn(x,' f:= ',z);
- WriteLn(x,'end;');
- Close(x)
- END
- END;
-
- {---------------------------------------------------------------------------}
-
- BEGIN
- eingabe;
- ClrScr;
- auto_start('FKT_TAB');
- END.
-