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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2012, 19:30   #1
denisknn
 
Регистрация: 11.02.2012
Сообщений: 4
По умолчанию Экспорт строк из AdvStringGrid в html в цвете

Здравствуйте!
Моя задача состоит в том, чтобы экспортировать содержимое таблицы AdvStringGrid в файл в виде строк с сохранением цвета слов как было в таблице. Цвет шрифта в ячейках таблицы прорисован в DrawCell через Canvas.Font.Color.
Пытался сделать так:
Код:
var
 c, r: integer; // колонка, строка
 color: TColor;
begin
  Memo.Clear;
  for r := 0 to Grid1.RowCount - 1 do
  begin
    for c := 0 to Grid1.ColCount - 1 do
      begin
        color:=Grid1.Canvas.Font.Color;
        Memo.Lines.Add('<font color="'+colortostring(color)+'">'+Grid1.Cells[c,r]+'</font>');
      end;
    Memo.Lines.Add(' <br>');
  end;
end;
В результате выводятся строки, и все они с цветом первой ячейки первой строки таблицы. Цвета остальных ячеек игнорируются.
У AdvStringGrid есть процедура SaveToHTML, но она тоже не раскрашивает слова, цвет которых задан через Canvas.
Как можно получить Canvas.Font.Color определенной ячейки? Или возможно есть другой способ экспорта, главное чтобы цвет шрифта строк был точно, как в таблице.
denisknn вне форума Ответить с цитированием
Старый 27.02.2012, 19:39   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

дык не там цепляетесь, канва то едина для всего компонента, а не для каждой ячейки.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.02.2012, 19:41   #3
denisknn
 
Регистрация: 11.02.2012
Сообщений: 4
По умолчанию

Как же быть? Мне не обязательно в html, главное чтобы цвета сохранялись
denisknn вне форума Ответить с цитированием
Старый 27.02.2012, 19:43   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

экспортировать цвета вам надо по тому же принципу как вы и красите их.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.02.2012, 19:51   #5
denisknn
 
Регистрация: 11.02.2012
Сообщений: 4
По умолчанию

Там процедура раскраски сложная. При соблюдении определенных условий, в зависимости от значений в других ячейках, текст в каждой ячейке определенный. Наверно придется красить через CellProperties, тогда придется полностью весь алгоритм окраски переписывать
denisknn вне форума Ответить с цитированием
Старый 28.02.2012, 01:12   #6
denisknn
 
Регистрация: 11.02.2012
Сообщений: 4
По умолчанию

Пепел Феникса, спасибо за подсказку что в канве нечего ловить.
Сделал задание цвета текста в ячейке через CellProperties, и при выводе в html взял цвет текста из свойств ячейки. Всё получилось как и было задумано!
denisknn вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отрисовка текста в цвете Disabled NieL Общие вопросы Delphi 1 14.05.2011 14:53
Экспорт содержимого Dbgrid в html и xml Discovery-24 БД в Delphi 0 03.05.2011 21:26
DBGrid2(CellClick) фокус на строке в цвете в DBGrid1 funball БД в Delphi 5 31.08.2009 17:30
Экспорт из Excel в HTML или doc. Graf_dolgov Microsoft Office Excel 1 02.08.2009 14:39
вопрос о цвете символа Ceprey Общие вопросы C/C++ 5 01.05.2008 20:53