powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Замедление работы
8 сообщений из 8, страница 1 из 1
Замедление работы
    #32355356
bav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, такая проблема -у меня был своего рода макрос, который анализировал некоторые значения в книге икселя, состоящей из 300 листов и выполнял некоторый расчёты с этими значениями, при переписывании того же кода на делфи, замедление работы повысилось в 10 - это точно ,даже более раз, подскажите что делать?
...
Рейтинг: 0 / 0
Замедление работы
    #32355370
Фотография boogier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оставить экселю его родной макрос, а не таскать туда-сюда данные через длиннючий туннель оле.
...
Рейтинг: 0 / 0
Замедление работы
    #32355505
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забирать данные из листов надо блоками, в массивы, например, и их уже обрабатывать, а не с отдельными ячейками возиться.
...
Рейтинг: 0 / 0
Замедление работы
    #32356237
bav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем я и выбирал данные в массив, всё равно скорость обработки не та :((
...
Рейтинг: 0 / 0
Замедление работы
    #32356275
SiDen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Массив переменной длины?
...
Рейтинг: 0 / 0
Замедление работы
    #32357135
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А протестировать - какой процент времени идет на передачу собственно из Excel в Delphi, а какой на расчеты ? А точно однократная передача была ?
...
Рейтинг: 0 / 0
Замедление работы
    #32357423
Дмитрий Мыльников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А там действительно везде данные в этих 300 листах, или часть из них расчётные значения? Если да, то к времени расчёта Exсel просто добавилось ещё и время расчёта в Delphi. При этом сам Exсel просчитывает их один раз, а потом просто берёт уже готовые значения, если изменений не было. А при обращении через OLE, я думаю, просиходит повторное вычисление этого значения. Так, на всякий случай (программисты Microsoft иногда такие вещи делают :( )/
То есть, ожно попробовать выбирать в Delphi только исходные данные.

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

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


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