Цитата:
Сообщение от SHIFT999
Это в принципе TChart такой гад, или я накосячил?
|
Скорее всего второе

Я таких глюков не наблюдал.
Кстати в Delphi есть стандартная функция StringReplace для замены в строке вхождений одной подстроки на другую, благодаря чему код который я выше привёл можно упростить:
Заменяем это:
Код:
s := formula;
for i := Length(s) downto 1 do
begin
if s[i] = 'x' then
begin
Delete(s, i, 1);
Insert(FloatToStr(x), s, i);
end;
end;
на единственную строку:
Код:
s := StringReplace(formula, 'x', FloatToStr(x), [rfReplaceAll, rfIgnoreCase]);
Впрочем мне всё равно не нравится эта идея с вставками значений прямо в строку с формулой. Например таким способом не получится посчитать такое выражение: 'exp(x)'.