StringGrid
в стринггрид у меня добавляются данные (довольно много)SergeyS писал(а):Что ты делаешь с TStringGrid? В какой момент ты хочешь чтобы скролы двигались? Когда изменяешь значение в ячейке? Когда делаешь ячейку активной? Когда добавляешь строку?
да, когда добавляется строка!
и чтобы она видна была а не уходила вниз (когда их много)

- SergeyS
- Сообщения: 196
- Зарегистрирован: 21 ноя 2006, 17:12
- Откуда: Хакасия, Абакан
- Контактная информация:
попробуй так:
Код: Выделить всё
StringGrid1.TopRow := StringGrid1.RowCount - StringGrid1.VisibleRowCount;
да, пасибо, именно оно=)SergeyS писал(а):попробуй так:Код: Выделить всё
StringGrid1.TopRow := StringGrid1.RowCount - StringGrid1.VisibleRowCount;
как нить можно оптимизировать этот код
а то Stringgid из нескольких тысяц строк сохранияется в Excel несколько минут.. 
Код: Выделить всё
XLApp.Workbooks[1].WorkSheets[2].name:='2';
for i:= 0 to Form1.strngrd2.ColCount-1 do
for m:= 0 to Form1.strngrd2.RowCount-1 do
begin
XLApp.worksheets[2].Cells[m+1, i+1].value:=Form1.strngrd2.Cells[i,m];
end;

- SergeyS
- Сообщения: 196
- Зарегистрирован: 21 ноя 2006, 17:12
- Откуда: Хакасия, Абакан
- Контактная информация:
Если работать с Excel как с OLE объектом, то никак. Так медленно и будет (разве что сказать Excel.ScreenUpdating := False на время заполнения. Ускорит но не намного)" писал(а):а то Stringgid из нескольких тысяц строк сохранияется в Excel несколько минут..
Я применяю использую следующую методику: модифицирую непосредственно сам файл сохранённый в XML формате. Но к сожалению такой формат понимает только Office XP, 2003 и 2007 (а ещё и OpenOffice

Можно попробовать формировать HTML файл и пробовать открывать его в Excel... не пробовал...
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
а варианты не быстрее пишутся? я правда многотысячные выгрузки не делаю...

SergeyS писал(а):Если работать с Excel как с OLE объектом, то никак. Так медленно и будет (разве что сказать Excel.ScreenUpdating := False на время заполнения. Ускорит но не намного)
Я применяю использую следующую методику: модифицирую непосредственно сам файл сохранённый в XML формате. Но к сожалению такой формат понимает только Office XP, 2003 и 2007 (а ещё и OpenOffice.
Можно попробовать формировать HTML файл и пробовать открывать его в Excel... не пробовал...
а можно поподробней на счет xml?

Ктонибудь может мне помочь с этим,а то я полный профан в этом деле. Пытался что-то написать,ничего не получается.У когонить есть готовый код?Очень буду благодарен.
P.S.Я застрял на этом куске :
Этот кусок должен делить первую строчку на первый элемент.
У меня делиться только первый элемент.Может я гдето что-то проглядел?Укажите пожалуйста,а то я уже 10 раз всё проверял.
P.S.Я застрял на этом куске :
Этот кусок должен делить первую строчку на первый элемент.
У меня делиться только первый элемент.Может я гдето что-то проглядел?Укажите пожалуйста,а то я уже 10 раз всё проверял.
Код: Выделить всё
i:=-1;p:=0;
While i<=StringGrid1.ColCount-1 do
begin
inc(i);
d:=StrToFloat(StringGrid1.Cells[i,j]);
dd:=StrToFloat(StringGrid1.Cells[p,j]);
st:=FloatToStr(d/dd);
StringGrid1.Cells[i,j]:=st;//FloatToStr(StrToInt(StringGrid1.Cells[i,j])/ StrToFloat(StringGrid1.Cells[p,j])) ;
end;
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
а хде J? и индексация Cells идёт [строка, столбец] (вроде...)
