Ja, das muss man noch schön verpacken, so dass es in der Funktionsliste und in der Legende als f'(x) = x² eingetragen wird, kommt in 10 min.
//EDIT: Fehler wurde behoben, der User merkt rein gar nichts von der im Hintergrund erzeugten Formel.
Das habe ich nun immer noch so, weil man so aus jeder Funktion die Ableitung bestimmen kann und nicht erst auf irgendwelche Muster kontrollieren muss, nur halt sieht der User davon nichts mehr, außer im Eingabefeld, aber das wird ihn ja nicht stören. Jetzt habe ich auch eine Funktion für die zweite Ableitung eingebaut. Falls jemanden der Code für die Ableitungs-Funktion interessiert:
Delphi-Quellcode:
function Ableitung: string;
var old_edited1, old_edited2: string;
newformula: string;
begin
Form1.Edit1.Text := Copy(Form1.Edit1.Text, 2,
Length(Form1.Edit1.Text) - 1);
... // Alle Funktionsnamen, in denen "x" vorkommt, ersetzen: exp -> joker, usw.
old_edited1 := StringReplace(Form1.Edit1.Text,
'x', '(x+0,1)', [rfReplaceAll]);
old_edited2 := StringReplace(Form1.Edit1.Text,
'x', '(x-0,1)', [rfReplaceAll]);
... // Zurück ersetzen: joker -> exp, usw.
newformula := '(('+old_edited1+')-('+old_edited2+'))/0,2';
Result := newformula;
end;