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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2009, 16:48   #11
Detka
Чайник :D
Пользователь
 
Регистрация: 22.12.2006
Сообщений: 65
По умолчанию

Не думаю, что вам понравится мой код....

А идея с рид онли мне понравилась : если клава не работает как надо - пусть вообще не работает.
Вложения
Тип файла: rar Мой с нуля.rar (176.5 Кб, 9 просмотров)
Мы все учились по-немногу
Чему-нибудь и как-нибудь...

Пушкин А.С.
Detka вне форума Ответить с цитированием
Старый 10.02.2009, 16:56   #12
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Цитата:
А идея с рид онли мне понравилась : если клава не работает как надо - пусть вообще не работает.
Я подразумевал что бы вы установили свойство Edit1.ReadOnly:=True; и сделали как говорил Stilet в посте №3. Потом по нажатию на кнопку проверяли её и вводили в Edit, тем самым будет удобно и исключите возможность ввода ненужных символов.
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 10.02.2009, 17:03   #13
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Цитата:
как научить мою прогу воспринимать +-*/ не текстом а действием
Для KeyPress ^
Код:
if not (Key in [ '0'..'9',',']) then Key:= #0;
Позволит вводить только цифры и зпт.
А для + и - создать обработчики с кодом сложения и вычитания.
По поводу фокуса пока идей нет.Надо поискать.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 10.02.2009, 17:12   #14
Detka
Чайник :D
Пользователь
 
Регистрация: 22.12.2006
Сообщений: 65
По умолчанию

Цитата:
Определи одно событие для всех кнопок и в нем фокус в эдит кидай
Это как? Можно подробнее.

Лучше с кодом

А лишние символы он мне и так не вводит.

Цитата:
А для + и - создать обработчики с кодом сложения и вычитания.
И как мне по нажатию именно этих кнопок клавиатуры задать обработчики?
Мы все учились по-немногу
Чему-нибудь и как-нибудь...

Пушкин А.С.

Последний раз редактировалось Detka; 10.02.2009 в 17:14.
Detka вне форума Ответить с цитированием
Старый 10.02.2009, 17:24   #15
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Вот что получилось- У Edit-а ставим AutoSelect:= false; (запрет на выделение текста), в обработчике кнопки на форме (например цифры 5)
Код:
procedure TForm1.BitBtn5Click(Sender: TObject);
begin
Edit1.Text:= Edit1.Text + '5';
end;

procedure  TForm1.Edit1Change (Sender: TObject);
begin
Edit1.SetFocus;
end;
Теперь выделения текста нет, цифры добавляются последовательно по
тексту в Edit-е, НО курсор в Edite-e остается все время на первой позиции.

Обработка + и - :
В OnKeyPress :
Код:
if ord(Key) = 43 then  <процедура сложения> ;
if ord(Key) = 45 then <процедура вычитания> ;
Вместо if можно (даже лучше) применить case ... of
И не сомневайся даже ... отдых - кайф, работа - лажа!

Последний раз редактировалось DeKot; 10.02.2009 в 17:31.
DeKot вне форума Ответить с цитированием
Старый 10.02.2009, 17:30   #16
Detka
Чайник :D
Пользователь
 
Регистрация: 22.12.2006
Сообщений: 65
По умолчанию

Ну ладно, чтобы циферки с клавы вводились сразу с первой, добавила

Код:
procedure TForm1.FormShow(Sender: TObject);
begin
Edit1.SetFocus
end;
Но вот чтоб после "клацанья" мышкой по кнопочкам фокус с них убегалл в эдит... Вот в чём фокус!
Мы все учились по-немногу
Чему-нибудь и как-нибудь...

Пушкин А.С.
Detka вне форума Ответить с цитированием
Старый 10.02.2009, 17:34   #17
начинающий кодер
только учусь!
Форумчанин
 
Аватар для начинающий кодер
 
Регистрация: 08.02.2009
Сообщений: 124
По умолчанию

Код:
procedure TForm1.button1click(Sender: TObject);
begin
Edit1.text:=edit1.text+'1';
edit1.setfocus;
end;
попробуй!!
«Я знаю, что ничего не знаю, но многие не знают и этого».
начинающий кодер вне форума Ответить с цитированием
Старый 10.02.2009, 17:39   #18
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Цитата:
procedure TForm1.button1click(Sender: TObject);
begin
Edit1.text:=edit1.text+'1';
edit1.setfocus;
end;
После передачи фокуса происходит выделение всего текста и следующий ввод затирает весь текст.А в варианте по посту 15 этого нет.
Проблема - перевести курсор в Edit-e снова на последнюю позицию.
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 10.02.2009, 17:40   #19
Detka
Чайник :D
Пользователь
 
Регистрация: 22.12.2006
Сообщений: 65
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Теперь выделения текста нет, цифры добавляются последовательно по тексту в Edit-е, НО курсор в Edite-e остается все время на первой позиции.
Интересно получается: если цифры с клавы вводить, курсор стоит в конце строки, а если кнопками формы - в начале...

Кстати работает уже практически как надо
Мы все учились по-немногу
Чему-нибудь и как-нибудь...

Пушкин А.С.
Detka вне форума Ответить с цитированием
Старый 10.02.2009, 17:42   #20
начинающий кодер
только учусь!
Форумчанин
 
Аватар для начинающий кодер
 
Регистрация: 08.02.2009
Сообщений: 124
По умолчанию

не знаю что он у вас там затирает у меня пишет 111111111
«Я знаю, что ничего не знаю, но многие не знают и этого».
начинающий кодер вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отправка данных с edit'a на e-mail фЁдОр Помощь студентам 9 08.12.2011 21:09
Фокус на компонент Altera Компоненты Delphi 3 15.06.2008 10:51
Фокус окна Лёка Общие вопросы Delphi 11 28.01.2008 22:30
Фокус формы Stanislav Общие вопросы Delphi 4 15.11.2007 21:57
Фокус? AlexandrDel Помощь студентам 3 17.12.2006 01:54