Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2013, 16:32   #1
Immo
 
Регистрация: 08.05.2013
Сообщений: 7
По умолчанию Delphi и excel 2010

Суть проблемы в том, что запись значений передаваемые на эксель очень низкие, примерно 2 в секунду, а у меня их около 1000. Не знаю в чем проблема, но в универе работает прекрасно. Стоит дельфи 7 и 2010 эксель.
Immo вне форума Ответить с цитированием
Старый 08.05.2013, 17:24   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Там и правда скорость взаимодействия через OleVariant низкая. Но не настолько же. Где-то что-то намудрил
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.05.2013, 17:37   #3
Immo
 
Регистрация: 08.05.2013
Сообщений: 7
По умолчанию

так а поподробней с чем это связанно и как исправить?
Immo вне форума Ответить с цитированием
Старый 08.05.2013, 17:57   #4
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Код в студию, а мы посмотрим. 1000 значений занести в Excel это дело нескольких миллисекунд, не считая самого открытия Excel.
FaTaL вне форума Ответить с цитированием
Старый 08.05.2013, 22:19   #5
Immo
 
Регистрация: 08.05.2013
Сообщений: 7
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 px,py:longint;
 excel:variant;
 s:string;
begin
 try
  excel:=CreateOleObject('excel.application');
  excel.displayalerts:=false;
  excel.workbooks.add;
  excel.workbooks[1].worksheets[1].name:='y=sin(x)';
  excel.workbooks[1].worksheets[1].columns[1].numberFormat:='0,00';
  excel.workbooks[1].worksheets[1].columns[2].numberFormat:='0,0000';
  excel.workbooks[1].worksheets[1].range['a1:i1'].merge;
  excel.workbooks[1].worksheets[1].range['a1'].value:='Ãðàôèê ôóíêöèè y=sin(x)';
  excel.workbooks[1].worksheets[1].range['a1'].Font.Size:=14;
  excel.workbooks[1].worksheets[1].range['a2'].value:='x';
  excel.workbooks[1].worksheets[1].range['b2'].value:='y';
  excel.workbooks[1].worksheets[1].Range['A2:B'+inttostr(image1.Width+3)].Select;
  Excel.Selection.Borders.LineStyle:=1;

for px:=0 to  image1.Width do
   begin
   s:='a'+inttostr(px+3);
     excel.workbooks[1].worksheets[1].range[s].value:=px*4*Pi/ClientWidth;
   s:='b'+inttostr(px+3);
     excel.workbooks[1].worksheets[1].range[s].value:=sin(px*4*Pi/ClientWidth);
  end;

 excel.Visible:=true;
 excel:= Unassigned;

 Except
 ShowMessage('OMG ERROR');
 excel.Application.quit;
 excel:= Unassigned;
end;

end;
дело в том что на компьютерах на учебе норм все работает

скорее всего проблема в экселе, хотя не уверен, при запуске выдавала ошибку на компонент visual studio 2010 вроде tfsofficeadd-in.dll

Последний раз редактировалось Stilet; 09.05.2013 в 18:41.
Immo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему Excel 2010 выполняет поиск гораздо медленнее чем Excel 2003 Sprat Microsoft Office Excel 1 25.10.2011 05:34
Excel 2010 valerij Microsoft Office Excel 2 15.05.2011 21:47
Word 2010 и Delphi 2010 David023 Мультимедиа в Delphi 1 30.04.2011 15:51
Скорость исполнения макроса в Excel-2010 намного ниже, чем в Excel-2003 Павел+ Microsoft Office Excel 5 29.12.2010 03:28
GlScene и Embarcadero Rad Studio 2010 (Delphi 2010) Fiery Fox Мультимедиа в Delphi 4 19.11.2010 21:46