1 / 1 / 1
Регистрация: 20.04.2014
Сообщений: 187
1

Сделать так, чтобы после ввода текста в Edit вместо нажатия кнопки "Да" можно было нажимать клавишу "Enter"

20.04.2014, 20:49. Показов 5816. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Раньше при помощи нехитрого кода (
Delphi
1
if (key = #13) then ...
) у меня получалось сделать так, чтобы после ввода текста в Edit вместо нажатия кнопки "Да" можно было нажимать на клавиатуре клавишу "Enter".
Сейчас же я видоизменила код. Если раньше у меня просто было условие, то сейчас вся работа ведётся через ADO и мой нехитрый код работает не после нажатия кнопки "Enter", а просто после любого нажатия чего-либо на клавиатуре. В принципе невелика потеря, хотя раньше было куда удобнее и проще.
Веду собственно вот к чему: это ADO всему виной?
Спасибо.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2014, 20:49
Ответы с готовыми решениями:

Как сделать, так чтобы i и j можно было вводить самому "i" И "j" в цикле, есть программа
#include <iostream> using namespace std; int main() {int a=0,b=0; int i=0; cout<<"Vvedite...

Как сделать так чтоб при нажатии кнопки "enter" происходило нажатие кнопки "button1" на форме
Пишу программу которая должна сложить числа по нажатии кнопки "button1". Подскажите, пожалуйста,...

Темы msstyles. Как можно сделать, чтобы кнопки "Закрыть", "Развернуть" и "Свернуть" отображались слева, а не справа?
Хочу создать свою тему (через theme и msstyles) для Windows, чтобы там кнопки системного меню были...

Как в sql реализован логич.тип?Как можно в sql сделать так,чтобы были только значения "0"и"1" или "да"и"Нет"?
Хочу использовать в таблице переменные логического типа, но не нашла ничего про логический тип в...

29
2649 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
20.04.2014, 20:53 2
Цитата Сообщение от Беатрис Посмотреть сообщение
это ADO всему виной?
Нет. Всему виной отсутствие знаний.
1
1 / 1 / 1
Регистрация: 20.04.2014
Сообщений: 187
20.04.2014, 20:57  [ТС] 3
mss, вы не зря зашли в этот топик.
0
2649 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
20.04.2014, 21:02 4
Ну вот как нужно не дружить с головой, чтобы обвинять АДО в изменении логики работы стандартного компонента, существовавшего со времен царя Горора, когда никакими АДО еще и не пахло и никаким боком не касающегося технологии АДО ?)
0
Эксперт Pascal/Delphi
4891 / 2761 / 851
Регистрация: 04.10.2012
Сообщений: 10,062
20.04.2014, 21:24 5
Цитата Сообщение от Беатрис Посмотреть сообщение
код работает не после нажатия кнопки "Enter", а просто после любого нажатия чего-либо на клавиатуре
обработчик OnKeyDown и
Delphi
1
if Key=VK_RETURN then...
подарят Вам счастье
1
1 / 1 / 1
Регистрация: 20.04.2014
Сообщений: 187
20.04.2014, 21:59  [ТС] 6
droider,
Delphi
1
Incompatible types
- несовместимые типы почему-то
0
Эксперт Pascal/Delphi
4891 / 2761 / 851
Регистрация: 04.10.2012
Сообщений: 10,062
20.04.2014, 22:08 7
Цитата Сообщение от Беатрис Посмотреть сообщение
несовместимые типы
не должны быть. Что Вы пытаетесь реализовать?
1
1 / 1 / 1
Регистрация: 20.04.2014
Сообщений: 187
20.04.2014, 22:20  [ТС] 8
droider, хранение пароля в БД. Раньше и key = #13 работал...
0
2649 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
20.04.2014, 22:23 9
Цитата Сообщение от Беатрис Посмотреть сообщение
Раньше и key = #13 работал
Он и сейчас работает. Никто его не увольнял)
0
пофигист широкого профиля
4658 / 3093 / 854
Регистрация: 15.07.2013
Сообщений: 17,837
20.04.2014, 22:44 10
Цитата Сообщение от Беатрис Посмотреть сообщение
Сейчас же я видоизменила код.
Ну и где этот видоизмененный код?
1
1 / 1 / 1
Регистрация: 20.04.2014
Сообщений: 187
20.04.2014, 22:46  [ТС] 11
Он работает не правильно.
0
пофигист широкого профиля
4658 / 3093 / 854
Регистрация: 15.07.2013
Сообщений: 17,837
21.04.2014, 00:21 12
Цитата Сообщение от Беатрис Посмотреть сообщение
Он работает не правильно.
И дальше будет работать неправильно если его не исправить. А у партизан это никогда не получается.
1
1 / 1 / 1
Регистрация: 20.04.2014
Сообщений: 187
21.04.2014, 08:32  [ТС] 13
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); 
var
  x: string;
begin
  if (key = #13) then
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Text := ('SELECT PAS As e FROM [1]  ;');
  ADOQuery1.Active := True;
  x:= ADOQuery1.FieldByName('e').AsString; 
  if (x = Edit1.Text) then
  begin
    Form1.Visible := False;
    Form2.Visible := True;
    Edit1.Clear;
  end
  else
    MessageDlg('Ошибка!', mtInformation, [mbOK], 0); 
  Edit1.Clear; //очистка
end;
0
Эксперт Pascal/Delphi
4891 / 2761 / 851
Регистрация: 04.10.2012
Сообщений: 10,062
21.04.2014, 09:21 14
Беатрис, а если поменять обработчик (keypreview у формы-True)?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TForm1.KeyPress(Sender: TObject; var Key: Char); 
var
  x: string;
begin
  if key = #13 then begin
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Text := ('SELECT PAS As e FROM [1]  ;');
  ADOQuery1.Active := True;
   end;
  x:= ADOQuery1.FieldByName('e').AsString; 
  if (x = Edit1.Text) then
  begin
    Form1.Visible := False;
    Form2.Visible := True;
    Edit1.Clear;
  end
  else
    MessageDlg('Ошибка!', mtInformation, [mbOK], 0); 
  Edit1.Clear; //очистка
end;
1
mss
21.04.2014, 09:28
  #15

Не по теме:

Ну как всегда - незнание азов

0
droider
21.04.2014, 09:30
  #16

Не по теме:

mss, выкладывай тогда свой вариант "азов". Никто не запрещает.

0
mss
21.04.2014, 09:37
  #17

Не по теме:

droider,

Цитата Сообщение от droider Посмотреть сообщение
mss, выкладывай
Азы выложены в учебнике и разжеваны преподом.
Следует просто внимательно слушать препода и штудировать учебник - никто не запрещает.

0
1 / 1 / 1
Регистрация: 20.04.2014
Сообщений: 187
21.04.2014, 14:10  [ТС] 18
droider, поменяла, не помогло.

Добавлено через 30 секунд
northener, больше не партизаню)

Добавлено через 2 минуты
Я не понимаю, какое незнание азов, если раньше всё работало.

Не по теме:

Я обычный учитель информатики, который не проходил Delphi и близко. Это к вопросу о преподе. Книжки читаю.

0
Эксперт Pascal/Delphi
4891 / 2761 / 851
Регистрация: 04.10.2012
Сообщений: 10,062
21.04.2014, 14:39 19
Беатрис, что должен делать этот запрос?
Delphi
1
ADOQuery1.SQL.Text := ('SELECT PAS As e FROM [1]  ;');
выбирает пароль из таблицы "1"?
1
пофигист широкого профиля
4658 / 3093 / 854
Регистрация: 15.07.2013
Сообщений: 17,837
21.04.2014, 14:54 20
Лучший ответ Сообщение было отмечено Беатрис как решение

Решение

Цитата Сообщение от Беатрис Посмотреть сообщение
Я не понимаю, какое незнание азов, если раньше всё работало.
Так азов то больше чем один, который ты раньше знала.
Delphi
1
2
3
  if (key = #13) then     //Если не заключить последующий код в операторные скобки begin..end, то это условие повлияет только на одну следующую строку
  ADOQuery1.SQL.Clear;           //Вот на эту
  ADOQuery1.SQL.Text := ('SELECT PAS As e FROM [1]  ;');    //Эта строка и все следующие выполнены будут независимо от того какая клавиша была нажата.
Это и есть самые настоящие азы. И трудно найти язык программирования, в котором нет операторных скобок в каком-либо виде.

P.S. А то что уже не партизанишь это отлично.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2014, 14:54
Помогаю со студенческими работами здесь

DGV: сделать так, чтобы в колонке ПОЛ вместо "м" или "ж" были картинки
Есть таблица, которая берется из БД this.hUMANTableAdapter.FillBy(this.dataSet1.HUMAN); Каким...

Что сделать чтобы вместо "localhost/site", было "site"? (Xampp)
Здравствуйте. Может кто-нибудь подсказать как в Xampp сделать чтобы вместо сайта "localhost/site",...

Сколькими способами можно переставить буквы слова "интеллект", чтобы "л" шла непосредственно после "е"
Трендец имени первой сессии подкрался незаметно.Я понимаю,что,возможно,многим мои вопросы покажутся...

Сколькими способами можно переставить буквы слова "ежевика", чтобы "и" шла непосредственно после "к"?
Здравствуйте) Помогите, пожалуйста, решить задачу) Сколькими способами можно переставить буквы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru