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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2008, 13:02   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А как делаешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.02.2008, 17:07   #12
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от MoonLit Посмотреть сообщение
у компонента типа ТDBEdit нету свойства Text, и чем оно наменяется я не знаю, точнее не могу понять.
Зато у него других свойств "навалом"
Код:
procedure TForm2.DBEdit1Change(Sender: TObject);
begin
if Length(DBEdit1.Field.AsString)>=6 then
DBEdit2.SetFocus;
end;
Только нужно флажок какой-нибудь еще приделать, а то фокус будет скакать, как ненормальный
Цитата:
Сообщение от D@rk M@k Посмотреть сообщение
У него есть такое свойство!
Это свойство есть у предка - TMaskEdit, но не у ТDBEdit.

Последний раз редактировалось mihali4; 12.02.2008 в 12:53.
mihali4 вне форума Ответить с цитированием
Старый 12.02.2008, 06:24   #13
D@rk M@k
Пользователь
 
Аватар для D@rk M@k
 
Регистрация: 27.12.2007
Сообщений: 34
По умолчанию

У него есть такое свойство!
D@rk M@k вне форума Ответить с цитированием
Старый 12.02.2008, 10:50   #14
MoonLit
Пользователь
 
Аватар для MoonLit
 
Регистрация: 08.02.2008
Сообщений: 11
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Только нужно флажок какой-нибудь еще приделать, а то фокус будет скакать, как ненормальный
а как это сделать не подскажите?!
Друг - это тот, кто выбирает меня вместе с моими проблемами.
MoonLit вне форума Ответить с цитированием
Старый 12.02.2008, 13:01   #15
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от MoonLit Посмотреть сообщение
а как это сделать не подскажете?!
Ну, например, объявим глобальную переменную-флаг MYFLAG: BOOLEAN.
Этот оператор - MYFLAG:=FALSE; добавим в конец приведенного обработчика и в обработчик события создания формы.
А в обработчике события DBEdit1KeyDown напишем наоборот - MYFLAG:=TRUE;
И немного изменим нашу строку
if MYFLAG and (Length(DBEdit1.Field.AsString)>=6) then...
Все. Должно работать...
mihali4 вне форума Ответить с цитированием
Старый 12.02.2008, 20:06   #16
MoonLit
Пользователь
 
Аватар для MoonLit
 
Регистрация: 08.02.2008
Сообщений: 11
По умолчанию

эх, а все равно не работает...
ну да и ладно...
Спабибо, mihali4.
Друг - это тот, кто выбирает меня вместе с моими проблемами.
MoonLit вне форума Ответить с цитированием
Старый 12.02.2008, 21:25   #17
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от MoonLit Посмотреть сообщение
эх, а все равно не работает...
ну да и ладно...
Да нет, надо уж добить...
D@rk M@k оказался совершенно прав - свойство предка вынесено в паблик и им можно пользоваться.
Так что вместо
if MYFLAG and (Length(DBEdit1.Field.AsString)>=6) then
делаем
if MYFLAG and (Length(DBEdit1.Text)>=6) then
и все работает.
А спасибо нужно D@rk M@k сказать!
(а я вот опростоволосился )
mihali4 вне форума Ответить с цитированием
Старый 13.02.2008, 11:11   #18
MoonLit
Пользователь
 
Аватар для MoonLit
 
Регистрация: 08.02.2008
Сообщений: 11
Сообщение

не выходит...
Делаю вот так...
Код:
procedure TForm.FormCreate(Sender: TObject);
begin
  Table1.Active:=True;
  MYFLAG:=False;
end;

procedure TForm.DBEdit1Change(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if MYFLAG AND (Length(DBEdit1.Text)>=2) then DBEdit2.SetFocus;
  MYFLAG:=False;
end;

procedure TForm.DBEdit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  MYFLAG:=True;
end;
но он опять таки "ругается" и выдает сообщение "invalid input value. use escape key to abandon changes." (при нажатии на любую клавишу или кнопку.)
Друг - это тот, кто выбирает меня вместе с моими проблемами.

Последний раз редактировалось MoonLit; 13.02.2008 в 11:13.
MoonLit вне форума Ответить с цитированием
Старый 13.02.2008, 11:39   #19
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
"invalid input value. use escape key to abandon changes."
Похоже, что к DBEdit1 подцеплено числовое поле, а вы пытаетесь ввести букву. Во всяком случае, вам явно говорится о том, что введенное вами в DBEdit1 конфликтует с типом поля...
Проверил у себя - все отрабатывает на ура.
Кстати, к рассматриваемому вопросу эта ошибка отношения не имеет. Это ваши проблемы при вводе.
На всякий "пожарный":
Код:
procedure TForm1.DBEdit1Change(Sender: TObject);
begin
if flag then
if Length(DBEdit1.Text)>=6 then
DBEdit2.SetFocus;
flag:=False;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
flag:=False;
end;

procedure TForm1.DBEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
flag:=True;
end;

Последний раз редактировалось mihali4; 13.02.2008 в 11:43.
mihali4 вне форума Ответить с цитированием
Старый 13.02.2008, 15:21   #20
MoonLit
Пользователь
 
Аватар для MoonLit
 
Регистрация: 08.02.2008
Сообщений: 11
Сообщение

понятно...
но, в этом случае, всетаки мне необходим ввод букв (латиница в верхнем регистре). Можно ли это же осуществить с буквами? может вернуть это:
Код:
procedure TForm.DBEdit1KeyPress(Sender: TObject; var Key: Char);
begin
  case Key of
    'A'..'Z': ;
    #8 : ;
  else Key :=Chr(0);
  end;
end;
и еще как вариант, может ли это быть из-за того, что для данного поля установлена маска ввода (AA;1;_)?
Вот убрала масску ввода, стало работать, но почему-то в обход KeyPress вводятся и цифры и кирилица...
Друг - это тот, кто выбирает меня вместе с моими проблемами.

Последний раз редактировалось MoonLit; 13.02.2008 в 15:31.
MoonLit вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переход Gorychev PHP 6 26.05.2008 01:16
Переход по странице Gorychev HTML и CSS 2 16.05.2008 21:01
Последовательный порт RS-232 LepihinMS Общие вопросы Delphi 4 23.06.2007 00:53
Последовательный порт? Lexx Общие вопросы Delphi 4 10.05.2007 10:50
Последовательный поиск в БД Nowichok БД в Delphi 7 10.02.2007 21:55