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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2011, 17:40   #1
Quzya2
Пользователь
 
Регистрация: 24.03.2011
Сообщений: 18
По умолчанию Подсветка строки

Всем привет.
Суть задачи такова:
При нажатии на кнопку значение в виделенойя мною строчке ячейка "наскладе" должна уменшаться на 1.
Есил єто значение станет менше. чем значение в ячейке "норма", то єта строка должна изменит ьцвет на красніе, или текст стать красним.
ВОт что я пробива:
Код:
procedure TSklad.Button3Click(Sender: TObject);
var a,b:integer;
begin
With DataModule7.tablecklad do begin
a:=FieldByName('NACKLADI').AsInteger;
a:=a-1;
   FieldByName('NACKLADI').AsInteger:=a;
       a:=FieldByName('NACKLADI').AsInteger;
    b:=FieldByName('NORMA').AsInteger;
if (a<b)  then
DBGrid2.Font.Color:=clred;

end;
end;
Хелп.
Quzya2 вне форума Ответить с цитированием
Старый 05.06.2011, 17:48   #2
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

а данные отображаются в dbgrid?
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 05.06.2011, 17:53   #3
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

Если да, то Вам нужно событие DBGrid1DrawColumnCell в нем как раз таки и прописываете что вам нужно:
Код:
if (значение<норма) then
begin
DBGrid1.Canvas.Brush.Color:=$0080FFFF;
      DBGrid1.Canvas.Font.Color:=clBlack;
      DBGrid1.Canvas.FillRect(Rect);
      DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);
      DBGrid1.Columns[1].Alignment:=taLeftJustify;
end
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 05.06.2011, 18:06   #4
Quzya2
Пользователь
 
Регистрация: 24.03.2011
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Sparky Посмотреть сообщение
Если да, то Вам нужно событие DBGrid1DrawColumnCell в нем как раз таки и прописываете что вам нужно:
Код:
if (значение<норма) then
begin
DBGrid1.Canvas.Brush.Color:=$0080FFFF;
      DBGrid1.Canvas.Font.Color:=clBlack;
      DBGrid1.Canvas.FillRect(Rect);
      DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);
      DBGrid1.Columns[1].Alignment:=taLeftJustify;
end
супер.
только как зделать, чтоби цифри в лево н еуезжали?
а то стоят по левому краю.
Код:
DBGrid1.Canvas.TextOut(Rect.Left+1,Rect.Top+2,Column.Field.Text);
    DBGrid1.Columns[1].Alignment:=taRightJustify;
так не катит.

И с первим вопросам как? чтоби при нажатие на кнопку значение на 1 уменшалось.
Quzya2 вне форума Ответить с цитированием
Старый 05.06.2011, 23:52   #5
Quzya2
Пользователь
 
Регистрация: 24.03.2011
Сообщений: 18
По умолчанию

с первим порешал.
как только пересунуть вправо значение осталось)
Quzya2 вне форума Ответить с цитированием
Старый 06.06.2011, 07:45   #6
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

если правильно помню то нужно увеличить с 2 на то что Вам больше походит в этой строчке
Код:
DBGrid1.Canvas.TextOut(Rect.Left+1,Rect.Top+2,Column.Field.Text);
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсветка текста [RR]Reaction Общие вопросы Delphi 9 15.07.2012 00:58
Подсветка синтаксиса Whiteweider Общие вопросы Delphi 5 04.12.2010 20:54
подсветка ячейки denver323 Microsoft Office Excel 1 20.08.2010 16:29
Подсветка Патрон Общие вопросы Delphi 7 27.03.2008 20:27
Подсветка синтаксиса Simply-Art Общие вопросы Delphi 2 29.05.2007 16:22