powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DBGridEh????????????????
16 сообщений из 16, страница 1 из 1
DBGridEh????????????????
    #32163542
Фотография Славочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа программеры, натолкните на мысль.
Есть DBGridEh, в столбцах которой указана маска ввода (например две цифры). Как при заполнении этой маски (когда пользователь ввёл 2 цифры) проверить введённые данные и в случае удачной проверки передать фокус ввода следующей ячейке грида, т.е. произвести програмное нажатие клавиши "TAB", а при неудачной проверке выдать сообщение и оставить фокус ввода в текущей ячейке.
Наверняка кто-нибудь это уже делал. Благодарен за любую мысль!!!!
...
Рейтинг: 0 / 0
DBGridEh????????????????
    #32163557
Виктор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А нафига ты так тему назвал ?????????
DBGridEh здесь вообще не причем, ведь это у тебя мозгов не хватает сделать проверку.
...
Рейтинг: 0 / 0
DBGridEh????????????????
    #32163561
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У TField есть событие OnValidate. Вот его и используй.
...
Рейтинг: 0 / 0
DBGridEh????????????????
    #32163581
Фотография Славочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<Виктор
На счёт мозгов согласен. Если бы у меня их хватало - разве бы я попросил помощи!

<pkarklin
Спасибо, с проверкой разобрался, а как на счёт автоматического перехода в следующую ячейку???
...
Рейтинг: 0 / 0
DBGridEh????????????????
    #32163587
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Славочка, ну ты хотя бы в хелпе про компонент почитал, с которым работаешь (DBGrid).

property SelectedField: TField;

Description

Set SelectedField to move focus to a particular field in the grid. Read SelectedField to obtain access to the field component for the currently selected cell. If there is not currently selected cell, SelectedField is nil (Delphi) or NULL (C++). For example, when an entire row is selected, SelectedField is nil or NULL.
...
Рейтинг: 0 / 0
DBGridEh????????????????
    #32163603
Фотография Славочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<pkarklin
property SelectedField: TField; - обращается к свойствам ячейки набора данных. А мне необходимо узнать что ввёл пользователь в ячеёку ГРИДА ещё до того момента как это значение появиться в поле набора данных, т.е. до момента обновления.
Ты уж не серчай, все мы с чего-то начинали. Гуру не рождаются - ими становяться!
...
Рейтинг: 0 / 0
DBGridEh????????????????
    #32163623
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гуру не рождаются - ими становяться!

Это точно, тока я себя к гуру не отношу. Ведь я не правильно понял тебя. Тебе надо на следующий столбец грида, а не на следующее поле набора. А это может быть не одно и тоже. Так что, извини, но тут лучше SelectedIndex использовать. Ну то есть в случаи успешной проверки условия можно сделать

DBGrid.SelectedIndex := DBGrid.SelectedIndex + 1

Правда надо учесть ситуацию с последним столбцом грида.
...
Рейтинг: 0 / 0
DBGridEh????????????????
    #32163697
Фотография Славочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<pkarklin
С переходом из ячейки в ячейку понятно, но как поймать то значение, которое вводит пользователь, которое уже есть в поле ввода ячейки ГРИДа, но которого ещё нет в поле набора данных привязанного к ГРИДу.
Смысл такой:
Мне надо чтобы у пользователя при вводе двухзначного числа фокус ввода (курсор) автоматически переходил на следующую ячейку. Я установил свойство колонки Грида EDITMASK='99' и хотел проверять по каждому нажатию клавиш какая длина введённого текста. Если длина - 2 символа, то KeyPress('Tab') (или что-то в этом роде)
Может я слишком мудрёно изъясняюсь. Просто пользователи привыкли к такому вводу данных и желают чтобы так и осталось. Сейчас работает DOSовская программуха, а там всё попроще будет.
...
Рейтинг: 0 / 0
DBGridEh????????????????
    #32163712
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чет я не понял, что ж у тебя получилось, а что нет.

То

Спасибо, с проверкой разобрался, а как на счёт автоматического перехода в следующую ячейку???

То

С переходом из ячейки в ячейку понятно, но как поймать то значение, которое вводит пользователь, которое уже есть в поле ввода ячейки ГРИДа, но которого ещё нет в поле набора данных привязанного к ГРИДу.

А теперь

Мне надо чтобы у пользователя при вводе двухзначного числа фокус ввода (курсор) автоматически переходил на следующую ячейку.

Ну так не делают, Enter хотя бы надо нажать. Это все рудименты досовские у тебя. Кстати в EhLib у DBGridEH в свойствах есть dghEnterAsTab, которое позволяет перемещаться по ячекам не с помощью TAB, а с помощью Enter.
...
Рейтинг: 0 / 0
DBGridEh????????????????
    #32163726
Фотография Славочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так не делают, Enter хотя бы надо нажать. Это все рудименты досовские у тебя. Кстати в EhLib у DBGridEH в свойствах есть dghEnterAsTab, которое позволяет перемещаться по ячекам не с помощью TAB, а с помощью Enter.

Вот в этом и загвоздка. Не хотят они ENTER нажимать. Хотят чтобы само перескакивало. А с остальным всё понятно. По ENTERу всё работает как часы, а как без него умудриться сделать???????????? ....вот в чём вопрос!
...
Рейтинг: 0 / 0
DBGridEh????????????????
    #32163731
Voha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так может они тебя скоро попросят чтобы приложения и на Боттоны само жало, и на работу за них приходило, а ты будишь париться.
...
Рейтинг: 0 / 0
DBGridEh????????????????
    #32163739
Фотография Славочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<Voha
Они только об этом и мечтают. А париться всё равно приходится - работа такая!!!!
...
Рейтинг: 0 / 0
DBGridEh????????????????
    #32163745
Papka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eto vse posledstvija Foxa i Clippera. :)
Nu mozhno kanechno obrabativat KeyDown, no zaparishsja vse variacii tam perebirat. Nazhat to mogut ne tolko cifri/bukvi. Jest takoje slovo - NELZJA.
Da i vaasse ENTER - podtverzhdenije pravilnosti vvedennoj informacii.
...
Рейтинг: 0 / 0
DBGridEh????????????????
    #32163752
Фотография Славочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<Papka
Мне нравиться ход твоих мыслей, но наши "любимые" пользователи одновременно вводят данные, разговаривают по телефону и кушают яблоко и на контроль вводимых данных просто не хватает времени. И слова НЕЛЬЗЯ их не устраивает
...
Рейтинг: 0 / 0
DBGridEh????????????????
    #32163770
Voha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщето,если серьезно, то есть какието обще принятые стандарты разработки интерфеса Виндовозовских приложений, отклонение от которых не желательно. И одно из требование твоих юзеров и есть откланение от этих стандартов. Так что скажи ты им что "против природы не попрешь".

Я слышал даже фирма Микрософт сертифицирует приложения на основе этого и ставит штамп типа "Разработано для Windows"
...
Рейтинг: 0 / 0
DBGridEh????????????????
    #32163786
Фотография Славочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<Voha
Полностью с тобой согласен! Огромное спасибо, что не дал утонуть в глубоком море DELPHI. Приятно было пообщаться, надеюсь не в последний раз.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DBGridEh????????????????
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]