Добрый день! Необходимо написать графический редактор следующего вида: Окно разбито на 2 части, в левой вводятся параметры фигуры, в правой она отрисовывается. Например: для начала задан прямоугольник высотой 50 и шириной 100. Указываем высоту - 25, на ней ширина 50 и фигура должна преобразоваться, приняв форму песочных часов и далее в этом духе. Надеюсь нормально объяснил...
Программу еще не начал, код писать не прошу, необходима консультация в том, какие элементы выбрать для разработки, TPaintBox или TImage и т.д. и как лучше всё это отрисовывать, может кто может дать совет?
Его там просто нет, поэтому и не работает. Грид - это не файл. Вот так изменяешь кусок, который обрабатывает StringGrid-ы, и все заработает:
if Components[j] is TStringGrid then with Components[j] as TStringGrid do begin // Saving Grigs numCols := ColCount; numRows := 0;
while Trim(StringReplace(Rows[numRows].Text, #13#10, '', [rfReplaceAll])) <> '' do begin inc(numRows); end;
if numRows > 0 then // Пустая таблица? Пропускаем... begin table := new_doc.Tables.Add(WordApp.Selection.Range, numRows, numCols);
for i1:=0 to numRows - 1 do for i2:=0 to ColCount-1 do begin Table.Cell(i1+1, i2+1).Range.Text:=Cells[i2, i1]; end;
Table.Cell(0, 0).Select; // Выводим снизу от таблицы имя компонента. // В принципе, можешь выводить любую информацию. CommentTable(numRows + 1, Name); end end
теперь пустые таблицы вообще не выводятся, а заполненные - переносятся в отчет до тех пор, пока не появится первая пустая строка. Как только она появилась - запись заканчивается. Так что если ты планируешь делать таблицы с пустыми строками в середине - то тебе надо сделать чуть-чуть по другому цикл While: идти с конца таблицы, и пока последние строки пустые - уменьшать NumRows.