Добрый день! Необходимо написать графический редактор следующего вида: Окно разбито на 2 части, в левой вводятся параметры фигуры, в правой она отрисовывается. Например: для начала задан прямоугольник высотой 50 и шириной 100. Указываем высоту - 25, на ней ширина 50 и фигура должна преобразоваться, приняв форму песочных часов и далее в этом духе. Надеюсь нормально объяснил...
Программу еще не начал, код писать не прошу, необходима консультация в том, какие элементы выбрать для разработки, TPaintBox или TImage и т.д. и как лучше всё это отрисовывать, может кто может дать совет?
Знаю, что переменные можно очищать с помощью dispose(); Но переменных в памяти очень много, можно ли каким-либо образом очистить всю память, занимаемую программой?
Перед тем, как очищать память, надо знать, как эта память выделяется. Если выделял через GetMem - то освобождать надо через FreeMem, если выделял конструктором какого-то класса - то вызывай его деструктор, и т.д. При правильно структурированной программе таких ошибок возникать не должно. Я не знаю, как там у тебя память выделяется, поэтому советов, "как очищать" давать не буду. Хочешь - показывай программу, посмотрим, что можно поправить...
Цитата
Почему-то график пустует, хотя ко времени вызова StrinGrid уже заполняется
Почему=то мне кажется, что даже если график и заполнится - там может быть полно "мусора". Лучше все-таки сделать так:
procedure Tf_main.Grafiki; var i:integer; a1,a2:real; begin Series1.Clear; for i:=1 to 5 do if (GridResult.Cells[1, i]<>'') and (GridRoom.Cells[5, i]<>'') then begin a1:=StrToFloat(GridRoom.Cells[1, i]); a2:=StrToFloat(GridRoom.Cells[5, i]); Series1.AddXY(a1, a2, '', clRed); // Добавлять в грид только тогда, когда A1 и A2 изменяются end; // Edit16.Text:=FloatToStr(a1); end;
Цитата
Это может быть из-за того, что числа в колонках большие: 5 знаков до запятой и 5 после?
Вряд ли. Добавляться к графику точки все равно должны.