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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2015, 07:29   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
так ткни пальцем куда смотреть.
Я имел ввиду что оптимизатор (это не ты, а оптимизатор компилятора) по идее эти два цикла вообще не должен был компилировать...
Цитата:
Нужно подсчитать количество переходов из зеленого цвета в желтый
Если не секрет, что это за цвета, и какова изначальная задача?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.04.2015, 21:25   #12
as091isk
 
Регистрация: 30.06.2010
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Я имел ввиду что оптимизатор (это не ты, а оптимизатор компилятора) по идее эти два цикла вообще не должен был компилировать...

Если не секрет, что это за цвета, и какова изначальная задача?
Задача следующая. Есть уже готовый отчет в excel.
На каждой из 50 машин установлено по 4 типа датчиков.
Два раза в сутки определяется работает(зеленый) датчик или нет (Желтый).

Нужно подсчитать кол-во переходов из зеленого в желтый и из желтого в зеленый для составления статистического прогноза (процессы Маркова).
as091isk вне форума Ответить с цитированием
Старый 14.04.2015, 07:33   #13
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

У-у-у... Ша камни в чей-то город полетять...
Вот два из них:
1) А почему не прописать считку данных в твоей программе? Причем тут Экзель?
2) Если уж считка данных прописана в экзеле, то может лучше именно там составлять прогноз? На VBA допилить макрос.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.04.2015, 10:00   #14
as091isk
 
Регистрация: 30.06.2010
Сообщений: 7
Счастье

Цитата:
Сообщение от Stilet Посмотреть сообщение
У-у-у... Ша камни в чей-то город полетять...
Вот два из них:
1) А почему не прописать считку данных в твоей программе? Причем тут Экзель?
2) Если уж считка данных прописана в экзеле, то может лучше именно там составлять прогноз? На VBA допилить макрос.
Ниче, ниче, мне щебенка нужна подъезд к гаражу отсыпать

1) Отчет формируется другой программой, на изменение которой у меня доступа нет.
2) Задумывался о макросе на VBA, но не имею ни практических знаний, ни опыта. Поэтому пока EXCEL через Delphi пока в приоритете.
as091isk вне форума Ответить с цитированием
Старый 14.04.2015, 11:19   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Отчет формируется другой программой, на изменение которой у меня доступа нет.
А источник данных для этого отчета известен? Туда доступ есть?
Цитата:
Задумывался о макросе на VBA, но не имею ни практических знаний, ни опыта.
Ну я бы на твоем месте лучше бы всетки потратил время на обучение.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.04.2015, 15:36   #16
as091isk
 
Регистрация: 30.06.2010
Сообщений: 7
По умолчанию

Цитата:
Сообщение от as091isk Посмотреть сообщение
Всем, доброго дня.

Уважаемые эксперты, помогите найти решение проблемы.

У меня есть лист EXCEL с данными, размером 50 строк х 250 столбцов.
Каждая ячейка помимо текста закрашена в один из 4 цветов - зеленый, красный, желтый, коричневый.

Подключаюсь к EXCEL через COM, естественно в потоке.
Данные с листа считываю через объект Range:
Код:
Result:=MyExcel.WorkSheets[WorksheetIndex].Range[R].Value;
Проблема в том, что Result содержит только текст. Мне нужен именно цвет каждой ячейки.

При прямом чтении цвета каждой ячейки получаю катастрофически низкую производительность приложения:
Код:
RangeColor:=MyExcel.WorkSheets[WorksheetIndex].Range[R];
for row:= 1 to 50 do begin
for col := 1 to 250 do begin
Color:=RangeColor.cells[row,col+5+c+1].Interior.Color;
......
.......
......
end;
end;
Что же делать, как же быть?
Ясно, Всем спасибо за подсказки.

Возвращаемся с самому вопросу.
Существует ли способ заставить EXCEL поучать цвет ячейки с большей производительностью?
as091isk вне форума Ответить с цитированием
Старый 20.09.2015, 22:37   #17
Conejo
Пользователь
 
Регистрация: 20.09.2015
Сообщений: 22
По умолчанию

Если удалось решить задачу, поделитесь пожалуйста знаниями. Очень-очень нужно
Conejo вне форума Ответить с цитированием
Старый 20.09.2015, 23:54   #18
as091isk
 
Регистрация: 30.06.2010
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Conejo Посмотреть сообщение
Если удалось решить задачу, поделитесь пожалуйста знаниями. Очень-очень нужно
Использовал вот эту подсказку

Цитата:
Сообщение от Аватар Посмотреть сообщение
И что, как узнать цвет ячеек?

Можно выгрузить как xml-книгу. И пропарсить его. Там в стилях есть цвета заливки и фона, а для каждой ячейки ссылка на стиль. Немного нудно, но зато быстро
Как выгрузить лист EXcel в xml-книгу нашел в ГУГЛЕ (MSDN).
В DELPHI есть стандартные компоненты для xml.

Скорость работы на высоте. Меня устроило. Других более быстрых способов не искал.

Остались вопросы , задавай!
as091isk вне форума Ответить с цитированием
Старый 21.09.2015, 01:17   #19
Conejo
Пользователь
 
Регистрация: 20.09.2015
Сообщений: 22
По умолчанию

Спасибо!
У меня пока задача неожиданно вдруг упростилась - красить будут целиком колонки, т.е. достаточно прочитать цвет в шапке.
Но может придется вернуться к старому варианту через месяц
Conejo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi и ячейки excel Ks2010 Общие вопросы Delphi 0 24.04.2012 11:37
ячейки в массив Excel и Delphi Fistashka Помощь студентам 0 18.12.2011 13:07
цвет ячейки stringgrid в delphi The Catalyst Помощь студентам 0 01.12.2011 14:47
Delphi + Excel проверка ячейки на ошибку Tirendus Общие вопросы Delphi 0 26.02.2010 15:49