Чего вы там курите на парах? Зачем в цикле очистка Memo1? Зачем объявлять тип переменной в цикле? Зачем тебе Extended, когда double хватит за глаза?
Memo1->Lines->Clear();
double y = 0, x = -2;
for (; x <= 2; x += 0.5 )
{
y = - 2.4 * (x * x) + 5 * x - 3;
Memo1->Lines->Add("x=" + FloatToStr(x) + "\ty=" + FloatToStr(y));
}