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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 23.04.2013, 13:37   #1
Goshan82
 
Регистрация: 23.04.2013
Сообщений: 9
По умолчанию Вроде Edit

Здравствуйте уважаемые!Привела меня сюда проблема,а точнее её не пониманиеНужно написать калькулятор в Delphi(у меня 7 версия),баттоны с цифрами и точкой,нужно загнать в общий обработчик,задав свойство Tag
"0","1"..."9","10"("10" это точка).Цифра в индикатор должна вводиться в позицию,на которую указывает маркер.
Вот вымучил с тагом ввод как текста просто,но никак не получается это прикрутить к маркеру.Помогите пожалуйста!

Код:
 procedure TForm1.SpeedButton1Click(Sender: TObject);
 begin
  if (Sender as TSpeedButton).Tag in[0..9] then
  Edit1.Text:=Edit1.Text+IntToStr((Sender as TSpeedButton).Tag)
  else
  Edit1.Text:=Edit1.Text+'.';

end;


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!
Модератор.


Прошу прощения,впредь буду внимательнее.

Последний раз редактировалось Goshan82; 23.04.2013 в 16:07.
Goshan82 вне форума
Старый 23.04.2013, 14:34   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
должна вводиться в позицию,на которую указывает маркер.
Код:
Edit1.SelText:='.';
See Also selStart, selLength
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 23.04.2013 в 14:39.
evg_m вне форума
Старый 23.04.2013, 16:10   #3
Goshan82
 
Регистрация: 23.04.2013
Сообщений: 9
По умолчанию

Простите,а нельзя ли поподробней про эту строчку?SelStart,SelLength,SelText читал,но как применить в моём случае,так и не понял.Попробывал добавить вашу строчку,продолжает печать в продолжении строки,но теперь добавляет точку в начале.
Goshan82 вне форума
Старый 24.04.2013, 09:27   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Сообщение от Goshan82 Посмотреть сообщение
Попробывал добавить вашу строчку,продолжает печать в продолжении строки,но теперь добавляет точку в начале.
надо не добавлять, а заменять.
Код:
Edit1.SelText:='.'; // Edit1.Text:=Edit1.Text+'.';
и аналогично (заменять) для других кнопок.
сделай такоеВложение 59775 и многое про Sel... станет понятнее.
Изображения
Тип файла: jpg 11.JPG (42.0 Кб, 88 просмотров)
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 24.04.2013 в 12:46. Причина: CopyPast подводит
evg_m вне форума
Старый 24.04.2013, 16:04   #5
Goshan82
 
Регистрация: 23.04.2013
Сообщений: 9
По умолчанию

Уважаемый evg_m!Спасибо Вам огромное,всё получилось,и даже благодаря вашей подсказки сделали ещё несколько задач.Теперь ещё больше уверен,что не зря выбрал именно ваш форум.Только вложение у меня нету(Пишит,что не существует.
Goshan82 вне форума
Старый 25.04.2013, 10:56   #6
Goshan82
 
Регистрация: 23.04.2013
Сообщений: 9
По умолчанию

Помогите ещё раз пожалуйста!
Прописали код на Button имитирующий Delete,при нажатии его на форме,срабатывает как надо,но при перехвате клавиши Delete onkeydown'ом и отправки его на OnClick,удаление срабатывает дважды,хотя по сути выполняется одно и тоже условие.
Если нужен код,то могу выложить.
P.S. Я убрал Delete совсем из OnKeyDown,всё работает,видимо Delete нужно запрещать отдельно как то,или это невозможно.

Последний раз редактировалось Goshan82; 25.04.2013 в 11:42.
Goshan82 вне форума
Старый 25.04.2013, 11:41   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

рискну предположить, что после перехвата кода и выполнения действий на OnKeyDown вы key не сбрасываете и он обрабатывается текущим контролом...


Цитата:
Если нужен код,то могу выложить.
скорее всего, это ускорит появление корректного ответа на ваш вопрос..
Serge_Bliznykov вне форума
Старый 25.04.2013, 23:03   #8
Goshan82
 
Регистрация: 23.04.2013
Сообщений: 9
По умолчанию

Нет,я же написал что разобрался,просто полностью свою глупость осознал чуть позжеЯ разрешил через OnKeyPress клавиши 0..9 и BackSpace,а Delete,если я правильно понял Фаронова,данным способом не исключается.Так вот,при перехвате через OnKeyDown я отсылал на обработчик OnClick Buttona,в котором прописано "якобы" действие Delete с помощью замены символа селтекстом на ''(спасибо ещё раз evg_m!).В общем,при нажатии Delete.выполнялось его евстевственное действие,а также онклик этого баттона.
P.S.В общем наверно не понятно написалНо всё таки ещё раз всем спасибо,действительно очень помогло объяснение!А тему можно закрывать,чтобы не висела
Goshan82 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пустой Edit. Парсер формулы из Edit Silverstone Общие вопросы Delphi 3 16.12.2012 03:07
Простой, вроде, пример на С++ ЛЕШЬ Общие вопросы C/C++ 4 25.03.2012 16:49
Копирование строки из Edit в другой Edit. Ibanez Wizard Win Api 3 29.03.2011 02:46
Вроде бы проблема в Cookie ... FlorentOFF Работа с сетью в Delphi 2 23.01.2010 20:14
Вроде бы элементарно, но... aleks_grey Помощь студентам 7 15.07.2007 11:14