![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 03.05.2013
Сообщений: 47
|
![]()
Как сделать, что-бы после компиляции в "T.edit" минус можно было ввести только в начале и только один раз ?
Т.е. число может быть только отрицательным или положительным. Или по нажатию определенной клавиши число меняется с "+" на "-". Я написал так: if (key='-') and (pos('-',Edit1.text)<>0) then Key :=#0; но этого мало. Минус хоть и вводится один раз, но в любом месте. Подскажите! |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 16.03.2013
Сообщений: 599
|
![]()
пиши обработчик для Edit1.change
И проверяй число положительное или отрицательное, так же у едита есть свойство numbersonly, что как бэ намекает.
alextrof94$gmail.com
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 03.05.2013
Сообщений: 47
|
![]()
Подробнее:
Я написал так- procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); const Digit: set of Char=['0'..'9', #8,'-']; Sep: set of Char=['/', '.', ',', 'ю', 'Ю', 'б', 'Б']; begin with (Sender as TEdit) do begin if (Key in Sep ) then Key:=DecimalSeparator //Delphi-константа типа Char, равная символу-разделителю Windows else if (not(Key in Digit)) then Key:=#0; if ((Key=DecimalSeparator)and(pos(Deci malSeparator, Text)<>0)) // запятую можно ввести один раз then Key:=#0; if (key='-') and (pos('-',Edit1.text)<>0) then Key :=#0; Где здесь можно вписать обработчик ? не получается только с минусом... |
![]() |
![]() |
![]() |
#4 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
так лучше (взял из калькулятора), дальше сами измените, весы можно не нажимать
Код:
from dark to light)
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 03.05.2013
Сообщений: 47
|
![]()
Спасибо!
Теперь как сделать что-бы при нажатии ,например клавиши "-", число менялось с положительного на отрицательное и наоборот. Дайте зацепку или пример. |
![]() |
![]() |
![]() |
#6 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
дак там все просто
Код:
т.е если ввели -, то появится +, а если + то появится - это авто замена, а если вам нужно для клавиши, то пишите так Код:
from dark to light)
Последний раз редактировалось Stilet; 03.05.2013 в 22:19. |
![]() |
![]() |
![]() |
#7 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
Код:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#8 | |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]() Цитата:
from dark to light)
|
|
![]() |
![]() |
![]() |
#9 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#10 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
Вот здесь все проработано, далее ТС просит заменять минус на плюс, ваш код отличный, но он же просит сделать по нажатии на клавишу -, а не при вводе -
from dark to light)
Последний раз редактировалось Алексей_2012; 03.05.2013 в 21:59. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Цифры и минус... | lypyotr | Общие вопросы Delphi | 2 | 19.07.2012 17:36 |
не слушается кнопка Button в Windows.Forms | Faton 11 | Общие вопросы .NET | 10 | 07.05.2012 17:57 |
Не слушается alignmentX() | Mira-girl | Общие вопросы по Java, Java SE, Kotlin | 0 | 04.12.2010 21:35 |
TStaticText не слушается. | docbrain | Компоненты Delphi | 23 | 18.07.2010 15:18 |
Программа не слушается условия [D7, XP] | DriverSTi | Общие вопросы Delphi | 17 | 09.01.2010 18:18 |