IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Сравнение в AdvStringGrid, Сравнение двух ячеек в AdvStringGrid
Atreides
сообщение 19.07.2012 11:44
Сообщение #1


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Добрый день!
Нужно сравнить два ячейки в AdvStringGrid.Казалось, что может быть проще, но что-то у меня возникли трудности. Задача, есть две колонки в гриде "от" и "до". Пользователь может редактировать обе, но значения "до" не должно быть меньше "от" и соответственно "от" не должно превышать "до", строка значений "от" и "до" одинаковая, разница только в колонках. В итоге нельзя отпускать пользователя пока не введет корректно. Не удается привязать ни к одному событию, ибо если число многозначное условие срабатывает на первом символе и не дает ввести дальше. Есть еще варианты кроме просто сравнения?


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
IUnknown
сообщение 19.07.2012 16:09
Сообщение #2


a.k.a. volvo877
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской

Репутация: -  627  +


TarasBer, ты на самом деле думаешь, что Билдер (любой, у меня 2009, если что) поддерживает все фишки нового стандарта? smile.gif

Цитата
Я так догадываюсь, что он должен войти в режим ввода числа, а он просто выделяет ячейку.
Я написал тебе код во втором сообщении, он работает корректно. Проверить на Дельфи не могу, сказал уже. Тебе что, записать видео, как ведет себя программа при запуске? Пока не введешь в столбцах 2 или 3 корректное число - не выйдешь из режима редактирования. Твой огрызок, который приведен ниже этого не делает.

Добавлено через 4 мин.
Блин... EditorMode а не EditMode !!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
TarasBer
сообщение 20.07.2012 11:58
Сообщение #3


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Цитата(IUnknown @ 19.07.2012 16:09) *

TarasBer, ты на самом деле думаешь, что Билдер (любой, у меня 2009, если что) поддерживает все фишки нового стандарта? smile.gif



class ShowError
{
TGrid grid, int Col, int Row;
public :
ShowError (TGrid grid, int Col, int Row) : grid(grid), Col(Col), Row(Row) {}
void Do ()
{
ShowMessage("Oops, error!!!");
grid->SetFocus();
grid->Col = Col; grid->Row = Row;
grid->EditorMode = true;
}
};




--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Atreides   Сравнение в AdvStringGrid   19.07.2012 11:44
IUnknown   Оказалось, что не казалось. Ничего проще в TAdvStr...   19.07.2012 12:39
Atreides   Оказалось, что не казалось. Ничего проще в TAdvSt...   19.07.2012 12:56
IUnknown   У меня в Дельфи нет этого компонента, есть в Билде...   19.07.2012 13:05
Atreides   Не владею С, вот попробовал. Вроде верно отрабатыв...   19.07.2012 13:23
IUnknown   Установи активной ячейкой ту, которая была изначал...   19.07.2012 13:49
Atreides   Я так догадываюсь, что он должен войти в режим вво...   19.07.2012 13:54
TarasBer   > // В Дельфи можешь выделить это во вложенную ...   19.07.2012 15:13
IUnknown   TarasBer, ты на самом деле думаешь, что Билдер (лю...   19.07.2012 16:09
TarasBer   [b]TarasBer, ты на самом деле думаешь, что Билдер...   20.07.2012 11:58
Гость   Работает! Огромное спасибо! Вопрос не в ...   19.07.2012 17:36
IUnknown   // CanSelect := not (ACol in [0, 19]); CanSe...   19.07.2012 17:56
Гость   Все нравится! Огромное спасибо!   19.07.2012 20:04
Atreides   Есть ли возможность запретить ввод с клавиатуры в ...   20.07.2012 10:30
IUnknown   В событии AdvStringGrid1GetEditorType для тех стол...   20.07.2012 11:04


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.06.2025 11:53
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"