Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Неправильная раскраска отчета (и не только) [D7, XP]


madmech ©   (2009-04-26 15:47:00) 

У меня 2 проблемы:
1. Когда я пытаюсь программно менять цвет раскрашиваемых ячеек в Кросс-отчете в зависимости от содержимого ячейки, то почему-то при просмотре отчета цвет оказывается совсем не тем, каким должен быть. К примеру, я пишу:
 if ColumnIndex < N1 then                                                                    
   case Value of
     Null: Memo.Color := clTeal;
     0:    Memo.Color := $f6eb14;                                        
     1:    Memo.Color := $deeed7;
     2:    Memo.Color := $deeed7;                                  
     -1:   Memo.Color := $ffd7d7;  
     -2:   Memo.Color := $ffd7d7;
   end;

Цвета беру из фотошопа, так что с правильностью цветопередачи все в порядке должно быть, да и та же самая матрица в виде DBGrid внутри программы выглядит правильно. Например, ячейки с нулями должны раскрашиваться в бледножелтый цвет, а на деле выходит голубой. Тоже самое со значениями "-1" , "-2" - вместо бледнокрасного выдается фиолетовый. А с "1" и "2" почем-то все нормально. Что тут можно придумать? Может быть, есть смысл использовать функцию rgb? Но тогда как подключить библиотеку Windows? Простое uses Windows;в начале скрипта выдает ошибку.
2. Почему-то никак не удается поменять ширину последнего итогового столбца ColumnTotal, несмотря на то, что "Авто-размер" отключил. Все остальные столбцы вручную удается отрегулировать (либо ручками, либо в инспекторе объектов), а тут хоть ты лопни, хоть ты тресни, ничего не получается, стоит как вкопанный.


sniknik   (2009-04-26 18:17:00) [1]

ты правила форума читал? как [3] относится к вопросу в топике
> Неправильная раскраска отчета
?
или это оффтоп?


madmech   (2009-04-26 17:45:00) [2]

И сразу же, не отходя от кассы, вопрос в догонку ко второй проблеме: а можно ли в итоговый столбец заносить не сумму по строке или результат выполнения какой-либо другой агрегатной функции, а НУЖНЫЙ МНЕ набор чисел?


easy   (2009-04-26 16:04:00) [3]

if ColumnIndex < N1 then                                                                    
  case Value of
    Null: Memo.Color := clTeal;
    0:    Memo.Color := $14ebf6;                                        
    1:    Memo.Color := $d7eede;
    2:    Memo.Color := $d7eede;                                  
    -1:   Memo.Color := $d7d7ff;  
    -2:   Memo.Color := $d7d7ff;
  end;


sniknik   (2009-04-26 16:03:00) [4]

> Цвета беру из фотошопа, так что с правильностью цветопередачи все в порядке должно быть
не обязательно. даже скорее всего не так, т.к. в одном случае это массив из байт (r,g,b) а в другом интежер константа в которой чтобы получить туже последовательность, что в массиве нужно изменить порядок. (см. статьи о хранении чисел в памяти)

> Что тут можно придумать?
да просто местами байты по переставляй, найди правильное местоположение. методом "тыка"...


Наверх

Титульная страница Поиск, карта сайта Написать письмо