Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Замедление работы / 8 сообщений из 8, страница 1 из 1
17.12.2003, 14:22
    #32355356
bav
bav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление работы
Здравствуйте, такая проблема -у меня был своего рода макрос, который анализировал некоторые значения в книге икселя, состоящей из 300 листов и выполнял некоторый расчёты с этими значениями, при переписывании того же кода на делфи, замедление работы повысилось в 10 - это точно ,даже более раз, подскажите что делать?
...
Рейтинг: 0 / 0
17.12.2003, 14:25
    #32355370
boogier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление работы
Оставить экселю его родной макрос, а не таскать туда-сюда данные через длиннючий туннель оле.
...
Рейтинг: 0 / 0
17.12.2003, 15:16
    #32355505
Mik Prokoshin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление работы
Забирать данные из листов надо блоками, в массивы, например, и их уже обрабатывать, а не с отдельными ячейками возиться.
...
Рейтинг: 0 / 0
18.12.2003, 09:15
    #32356237
bav
bav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление работы
Вобщем я и выбирал данные в массив, всё равно скорость обработки не та :((
...
Рейтинг: 0 / 0
18.12.2003, 09:48
    #32356275
SiDen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление работы
Массив переменной длины?
...
Рейтинг: 0 / 0
18.12.2003, 17:09
    #32357135
Mik Prokoshin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление работы
А протестировать - какой процент времени идет на передачу собственно из Excel в Delphi, а какой на расчеты ? А точно однократная передача была ?
...
Рейтинг: 0 / 0
19.12.2003, 01:19
    #32357423
Дмитрий Мыльников
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление работы
А там действительно везде данные в этих 300 листах, или часть из них расчётные значения? Если да, то к времени расчёта Exсel просто добавилось ещё и время расчёта в Delphi. При этом сам Exсel просчитывает их один раз, а потом просто берёт уже готовые значения, если изменений не было. А при обращении через OLE, я думаю, просиходит повторное вычисление этого значения. Так, на всякий случай (программисты Microsoft иногда такие вещи делают :( )/
То есть, ожно попробовать выбирать в Delphi только исходные данные.

Ещё одной причиной замедления может быть формат, в котором вы забираете значения. То есть, если числа читать не в бинарном виде, а как текст, а потом в Delphi их снова из символьной формы переводить в двоичную, то вы тоже получите существенное замедление.
...
Рейтинг: 0 / 0
19.12.2003, 10:58
    #32357606
Papka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замедление работы
>bav

Проделывал примерно то-же самое. Результат тот-же. Правда можно делать это через АДО. Создать поименованную область в Екселе. Ну и из нее SELECT. Пробовал толко на малых объемах. Вроде работало нормально.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Замедление работы / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]