Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
KaZaK555
7 / 7 / 4
Регистрация: 24.08.2011
Сообщений: 309
#1

Ищу простой код с Edit

09.02.2013, 17:22. Просмотров 483. Ответов 10
Метки нет (Все метки)

У меня есть вот такой код при нажатии на кнопку Q она пишеться в Edit'e мне нужно сделать так чтобы была возможность при нажатии несколько раз QQQ он чтобы добовлял это в Эдит пока не пойму как это сделать и как даже такой вопрос в поиске найти =)
Delphi
1
2
if getasynckeystate($51)<>0 then
edit1.Text:='Q';
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2013, 17:22
Ответы с готовыми решениями:

Простой вопрос о button,edit,lable и combobox
Привет всем, ещё новичок, у меня такая тема по дельфи: Есть например четыре...

EDIT поиск не выходит ( код внутри)
If edit1.Text='слово' then stringgrid1.Visible:=true;...

почему не работает этот простой код...
var DenOdixa:array of TDateTime; procedure...

Ошибка E2029, Тема указатели, код простой
type TPdata = ^Tdata; Tdata=record Name: string; Number:...

Прибавить к числу в Edit другое число. Код не работает
procedure TForm2.btn1Click(Sender: TObject); var a,b,c:Integer; begin...

10
HanDi
892 / 339 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
09.02.2013, 17:25 #2
Delphi
1
edit1.Text:=edit1.text+'Q';
1
Zombi_sib
365 / 319 / 88
Регистрация: 26.05.2010
Сообщений: 744
Завершенные тесты: 1
09.02.2013, 17:48 #3
Не совсем понятно что хотите, но можно так назначить оброботчик события для TEdit
Delphi
1
2
3
4
5
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if getasynckeystate($51) = 0 then Key:=#0;
 
end;
или так

Delphi
1
2
3
4
5
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if not (Key in ['Q', 'q']) then Key:=#0;
 
end;
1
KaZaK555
7 / 7 / 4
Регистрация: 24.08.2011
Сообщений: 309
09.02.2013, 18:01  [ТС] #4
Цитата Сообщение от Zombi_sib Посмотреть сообщение
Не совсем понятно что хотите, но можно так назначить оброботчик события для TEdit
Delphi
1
2
3
4
5
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if getasynckeystate($51) = 0 then Key:=#0;
 
end;
или так

Delphi
1
2
3
4
5
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if not (Key in ['Q', 'q']) then Key:=#0;
 
end;
Ну принцип действия когда мы пишем в едит сами QQQ а я к примеру хочу сделать при нажатии на Q он пишет в эдит Q если я еще раз нажимаю на Q он добавляет еще Q получается уже в Edit 2 раза добавлено QQ. вот мне что надо =) все что переведено выше известно мне =)
0
HanDi
892 / 339 / 65
Регистрация: 11.02.2012
Сообщений: 1,502
09.02.2013, 18:17 #5
Мой пост смотри.
0
KaZaK555
7 / 7 / 4
Регистрация: 24.08.2011
Сообщений: 309
09.02.2013, 18:51  [ТС] #6
Цитата Сообщение от HanDi Посмотреть сообщение
Мой пост смотри.
При нажатии на Q в поле ввода Edit у меня появляется QQQQQQQQQQQQQQQQQQQ так не пойдет поскольку Q должна добавиться столько сколько я нажму к примеру 5 раз нажал и в поле Edit появилось QQQQQ.
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
25983 / 17424 / 6910
Регистрация: 22.10.2011
Сообщений: 30,668
Записей в блоге: 6
09.02.2013, 19:43 #7
KaZaK555, это всё ты в каком событии делаешь, расскажи?
0
Fenix_dragon
117 / 117 / 2
Регистрация: 29.01.2013
Сообщений: 437
09.02.2013, 20:19 #8
Цитата Сообщение от KaZaK555 Посмотреть сообщение
При нажатии на Q в поле ввода Edit у меня появляется QQQQQQQQQQQQQQQQQQQ так не пойдет поскольку Q должна добавиться столько сколько я нажму к примеру 5 раз нажал и в поле Edit появилось QQQQQ.
это где ж ты код писал, если у тебя TEdit такую строку вывел?
0
KaZaK555
7 / 7 / 4
Регистрация: 24.08.2011
Сообщений: 309
09.02.2013, 20:37  [ТС] #9
Цитата Сообщение от UI Посмотреть сообщение
KaZaK555, это всё ты в каком событии делаешь, расскажи?
В Edite вот так.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.Edit1Change(Sender: TObject);
begin
if getasynckeystate($51)<>0 then
edit1.Text:='Q';
if getasynckeystate($57)<>0 then
edit1.Text:='W';
if getasynckeystate($45)<>0 then
edit1.Text:='E';
if getasynckeystate($52)<>0 then
edit1.Text:='R';
 
if edit1.Text='QQQ' then
begin
label1.Caption:='Test';
end;
0
Fenix_dragon
117 / 117 / 2
Регистрация: 29.01.2013
Сообщений: 437
09.02.2013, 20:48 #10
KaZaK555, Событие Edit1Change возникает каждый раз, когда ты чтото изменяеш в данном Эдите. вот оно тебе шото и намудрило. Если уже пишеш в Edit1 и туда же выводиш, не легче ли использовать событие нажатия кнопки?

Добавлено через 4 минуты
т.е. клавиши.
1
KaZaK555
7 / 7 / 4
Регистрация: 24.08.2011
Сообщений: 309
09.02.2013, 21:32  [ТС] #11
Ап все понял всем спасибо особое спасибо HanDi теперь сделал через таймер и все отлично робит =)
0
09.02.2013, 21:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2013, 21:32

Шифрование текста методом простой подстановки - оптимизировать код
вроде правильно сделала, но препад попросил укоротить программный код в бтн 1 и...

Можно ли прописать код, при котором в Edit прописываешь некое число
Можно ли прописать код, при котором в Edit прописываешь некое число. При этом...

Проверка заполнения Edit-ов в цикле: как исключить один Edit из проверки?
Имеется 6 Edit`ов. Хочу проверить 5 Edit`ов на заполнение/пустоту. Написал...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru