home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 06 / fkedit.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1987-05-18  |  2.9 KB  |  77 lines

  1. { ------------------------------------------------------------------------- }
  2. {                               FKEDIT.PAS                                  }
  3. { Programm zum Editieren der Funktionsgleichung - muss als COM - File       }
  4. { compeliert werden !                                                       }
  5. { ------------------------------------------------------------------------- }
  6.  
  7. PROGRAM edit;
  8.  
  9. TYPE cpm_name = STRING [20];
  10.  
  11.  
  12. PROCEDURE auto_start (prog_name : cpm_name);
  13.  
  14. CONST   CR = #13  ;          { Carrige return !                             }
  15.       ttsp = $FD9F;          { Anfangsadresse des Tastaturspeichers im BIOS }
  16.   anz_ttsp = $FD9E;          { Anzahl der Zeichen im Tastaturspeicher       }
  17.   hol_ttsp = $FD9D;          { Bereits vom CCP geholte Zeichen              }
  18.  
  19. VAR   prog : FILE;
  20.          i : INTEGER;
  21.  
  22. BEGIN
  23.    prog_name := 'NR' + prog_name + CR;          { 'N' : fuer   No           }
  24.                                                 { 'R' : fuer   Run          }
  25.    ClrScr;                                      { Loescht den Bildschirm    }
  26.    WriteLn('               Bitte warten, habe viel zu tun !');
  27.    WriteLn('           Melde mich zurueck, sobald ich fertig bin.');
  28.    WriteLn('           ------------------------------------------');
  29.  
  30.    { mit 'mem' kann man bei TURBO - Pascal Speicherinhalte veraendern       }
  31.  
  32.    Mem[hol_ttsp] := 0;
  33.    Mem[anz_ttsp] := Length(prog_name);
  34.    FOR i := 0 TO Length(prog_name) - 1 DO
  35.       Mem[ttsp+i] := Ord(Copy(prog_name,i + 1,1));
  36.  
  37.    Assign(prog,'turbo.com');                  { assign weist der physikal. }
  38.    Execute(prog)                              { Datei prog den Namen       }
  39.                                               { 'turbo.com' zu. Mit execute}
  40.                                               { wird das Programm gestartet}
  41. END;
  42.  
  43. {--------------------------------------------------------------------------}
  44.  
  45. PROCEDURE eingabe;
  46.  
  47. VAR z : STRING [40];          { Eingabestring                              }
  48.     x : TEXT;
  49.  
  50. BEGIN
  51.   ClrScr;
  52.   WriteLn('Bitte geben Sie die gewuenschten Funktionsgleichung ein.');
  53.   WriteLn('             Beispiel : x*sin(x/2) [CR]');
  54.   WriteLn('Wenn Sie keine neue Funktion eingeben wollen, nur [CR] eingeben');
  55.   WriteLn; WriteLn;
  56.   Write('f(x) = ');            { Einlesen der Funktionsgleichung          }
  57.   ReadLn(z);
  58.   IF z<> '' THEN                { neue Funktionsgleichung wurde eingegeben }
  59.   BEGIN
  60.     Assign(x,'FUNKTION.inc');
  61.     ReWrite(x);
  62.     WriteLn(x,'function f(x:real) : real;');
  63.     WriteLn(x,'begin');
  64.     WriteLn(x,'     f:= ',z);
  65.     WriteLn(x,'end;');
  66.     Close(x)
  67.   END
  68. END;
  69.  
  70. {---------------------------------------------------------------------------}
  71.  
  72. BEGIN
  73.   eingabe;
  74.   ClrScr;
  75.   auto_start('FKT_TAB');
  76. END.
  77.