|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.10.2010, 08:11 | #11 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
согласен с мнением Karabash
что-то в данных в этих строчках (№674, №678, №680) не хорошо. Например, первое, что просится, так это сжать лишние пробелы в строке. Например, так: Код:
|
12.10.2010, 08:22 | #12 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Серж, спасибо! Попробую обязательно это сделать. Слушайте, вот такой вопрос. Я решил сделать еще, чтоб в Lable62.Caption показывалась соотвествующий текст ошибки. Делаю так:
Код:
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
12.10.2010, 08:38 | #13 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 216
|
Если нужно чтобы текст ошибки появлялся при выделении строки (одним кликом мышки, или при движении по таблице клавишами), то, скорее всего вывод ошибки нужно делать в событии DataSet (ADOQuery1) AfterScroll. В нем так же проверить наличие номера контракта. Если нет выводить в лабел ошибку.
|
12.10.2010, 08:51 | #14 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
На AfterScroll не получилось. Появилась ошибка. Сделал вроде так, правда получил EAccessViolation ошибку, но обработал ее так:
Код:
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
12.10.2010, 08:57 | #15 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 216
|
Ошибка то понятно откуда. Объект AFont не создан, а обращение к нему происходит (AFont.Color, например). Но даже если его и создавать, то откуда ему взять нужные свойства. Наверное, надо оставить раскраску в OnGetCellParams, а в этой процедуре только выводить ошибку. Конечно выбросить объявления
Код:
Да, еще добавлю. OnCellMouseClick, конечно, хорош, спору нет, но AfterScroll более универсально что ли. Оно возникает на любое изменение выделенной строки. Неважно по какой причине это происходит. Тыкаем мышкой в другую строку или бегаем по гриде с помощью клавиатуры. OnCellMouseClick же срабатывает только на мышиный клик. Последний раз редактировалось Karabash; 12.10.2010 в 09:30. |
12.10.2010, 09:29 | #16 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Тут другой вопрос у меня остался еще пока что . Извините за назойливость, но, "народ просит разобраться" (с) . Итак. Что нужно: если в поле Number contract отсутствует значение (т.е. пусто в ячейке) и/или количество символов в ячейке меньше трех, то эта строка выделяется красным. Если значение в ячейке есть, т.е. первое условие не нарушается, то строка остается красным до тех пор, пока количество символов не станет в ячейке больше трех. Если количество символов становится больше трех либо равно трем, то строка закрашивается в зеленый цвет. Если нарушаются оба условия, то отображается соотвествующий текст ошибок. Исправили нарушение первого условия - текст первой ошибки исчез, строка осталась красной. Исправили нарушение второго условия - текст второй ошибки исчез, строка закрасилась в зеленый. Вот, делаю так:
Код:
Код:
Если я введу в ячейку значения, например всего два значения, то строка закрашивается в белый, а должно оставаться красным до тех пор пока не выполнится это условие: Код:
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
Последний раз редактировалось artemavd; 12.10.2010 в 09:34. |
12.10.2010, 09:37 | #17 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 216
|
Вот это условие лишнее и оно мешает:
Код:
Если будет 2 символа (1 ли), то сработает указанное лишнее условие и мы не провалимся в блок if чтобы закраситься красным. Последний раз редактировалось Karabash; 12.10.2010 в 09:40. |
12.10.2010, 11:46 | #18 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Вроде как с этим более менее разобрались . Нужно вот такой код:
Код:
Код:
Код:
Код:
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
12.10.2010, 11:54 | #19 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 216
|
Здесь просто. Вместо and поставить or. И все дела.
Код:
Последний раз редактировалось Karabash; 12.10.2010 в 11:56. |
12.10.2010, 12:16 | #20 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Karabash, даже не знаю как тебя благодарить . Че-т не получается замутить проверку цвета грида. Хочу, чтобы DBGridEh1 имеет красный цвет, то выдавалось сообщение. Пробовал так:
Код:
???
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
Последний раз редактировалось artemavd; 12.10.2010 в 12:29. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Раскраска диаграммы | dayfuaim | Microsoft Office Excel | 8 | 22.08.2010 15:44 |
Раскраска эллипса | rubik | Мультимедиа в Delphi | 1 | 02.05.2010 05:21 |
цветовая раскраска эллипса | rubik | Помощь студентам | 1 | 01.05.2010 15:52 |
раскраска матрицы | jeyjoe | Помощь студентам | 0 | 12.11.2009 18:49 |
Раскраска домика в графике | Tirr | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 28.10.2009 22:10 |