Техник
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
|
|
1 | |
Что за ошибка?16.12.2009, 19:27. Показов 2595. Ответов 30
Метки нет (Все метки)
Всем доброго времени суток. Столкнулся вот с такой проблемой: на форме лежит MaskEdit, использую для добавления записи в БД. Когда вводишь полностью все число, т.е. 0,11, полнстью прописывая каждую цыфру все работает, но когда например начинаю вводить - 1 - появляется продолжение в виде 1,00 - допустим меня это устраивает, нажимаю - Добавить вылазиет такая ошибка :
Что не так? и как с этим бороться?
0
|
16.12.2009, 19:27 | |
Ответы с готовыми решениями:
30
Подскажите, что не правильно: компилятор пишет, что ошибка есть Что это за ошибка, когда маткад не понимает, что такое у Что такое перегрузка оператора? Что у меня в коде за ошибка? Ошибка компилятора. Что сделать, что бы среда работала? |
Техник
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
|
|
17.12.2009, 12:06 [ТС] | 21 |
0
|
1856 / 1178 / 190
Регистрация: 27.03.2009
Сообщений: 4,558
|
|
17.12.2009, 12:29 | 22 |
и не удалит. получение фокуса- автоматическое проставление символа
0
|
Техник
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
|
|
17.12.2009, 12:31 [ТС] | 23 |
... как быть тогда?
0
|
1856 / 1178 / 190
Регистрация: 27.03.2009
Сообщений: 4,558
|
|
17.12.2009, 12:34 | 24 |
при потере фокуса выставлять после 1 символа знак
Добавлено через 1 минуту в этом случае нужно сделать проверку на ввод только цифр и при потере фокуса проставить ',' после 1 символа
0
|
Супер-модератор
8783 / 2536 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
17.12.2009, 12:57 | 25 |
DenProx, ты мой код смотрел? я проверял, после выставления запятой после первой цифры курсор попадает в конец строки
1
|
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
|
||||||
17.12.2009, 13:21 | 26 | |||||
Lord_Voodoo, ему нужно, чтобы он смог потом удалить её(запятую), а так как все это дело прописанно в OnChange то это просто невозможно.
DenProx, чтобы сделать то что Вам нужно действуйте через коды клавиш, тогда у Вас будет работать все как надо. А потеря фокуса, как я понимаю Вам не подойдет... Добавлено через 10 минут Вот то, что нужно в крайнем случае подгоните под себя. Тут будет ставиться запятая автоматически после 1 цифры
1
|
Техник
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
|
|
17.12.2009, 13:43 [ТС] | 27 |
ради такой безедлушки столько сделать ..... что-то мне подсказывает, что должен быть более простой способ...
Если посмотреть на проблему несколько иначе... нужно чтобы Едит знал что может быть введено только 4 символа, где 2-й это ","... и чтобы при встрече "," курсор ее обходил...? Добавлено через 3 минуты Inadequate, Ну в принципе - так тоже пойдет... Спасибо! )) Добавлено через 8 минут Еще такой вопрос, на счет отображения.... когда я присваиваю этому эдиту значение другой переменной типа Float , отображается длиное число типа - 1,11030944648675, делал вывод через - FloatToStrF([переменная],ffFixed,2,2), тогда идет округление, например должно быть 1,11 а выводит 1,10 ... как это можно исправить?
0
|
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
|
||||||
17.12.2009, 14:04 | 28 | |||||
DenProx, зачем так делать? "Обрежте" строку и переведите её в вещественный тип. Данная функция(FloatToStrF) насколько я помню будет округлять постоянно. Так что лучше сделать как я написал. Вот пример как "порезать" строку.
1
|
Техник
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
|
|
17.12.2009, 15:38 [ТС] | 29 |
Inadequate, отлично! Спасибо Большущее!
Добавлено через 20 минут Inadequate, Сейчас сойду с ума.... число 0,01 отображается как 0,00.... если увеличить SetLength(s,4); как SetLength(s,5); отображается 0,009.....
0
|
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
|
|
17.12.2009, 15:51 | 30 |
DenProx, не это Вы уж разберитесь с Вашей дельфёй. Такого быть не может... Я сейчас проверил всё нормально работает. Тут два варианта: либо Вы где-то помимо этого кода накосячили, либо дельфи кривая.
0
|
Техник
318 / 176 / 27
Регистрация: 09.10.2009
Сообщений: 3,109
|
|
17.12.2009, 19:08 [ТС] | 31 |
Inadequate, а в каких слкчаях такое возможно... Например в базе? (Access)
Добавлено через 2 часа 29 минут Нашел наконец то ошибку ! ))) Все дело, как я и думал оказалось в БД... Последний вопрос: как запретить вводить символы, для Едита, который работает только с цыфрами... и наоборот ? Добавлено через 38 минут Уже разобрался )) Всем спасибо! ))
0
|
17.12.2009, 19:08 | |
17.12.2009, 19:08 | |
Помогаю со студенческими работами здесь
31
Ошибка 678:удаленный компьютер не отвечает.что это?что нужно сделать чтобы работало? Ошибка MEM.ALL ERR: hMem08 - что это за ошибка? Коллеги!В чем ошибка понятие не имею, что-то упускаю, но не знаю что. Кто-то гвоорил делать через счетчик, только Доработка программы, нужно что бы после того как юзер введет вместо числа что то другое вылезала ошибка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |