Страница 1 из 1
Вопрос по CurrencyEdit
Добавлено: 29.09.2014 11:20:25
GAMER
DecimalPlaces=2.
Нужно всегда получить результат в виде: 1234.00, в независимости от того, введены ли нули в дробной части и есть ли разделитель тисячных розрядов.
CurrencyEdit.DisplayText - выводит разделитель тысячных
CurrencyEdit.Text - не выводит дробные нули, если их не ввели.
Можно парсить вручную и преобразовывать как нужно, но может уже все сделано до нас?

Re: Вопрос по CurrencyEdit
Добавлено: 30.09.2014 08:33:11
alexs
Этот компонент сейчас не работает правильно. Я его буду переделывать - поведение будет аналогично DBEdit с CurrencyField
Добавлено спустя 17 часов 5 минут 29 секунд:
Проверяй. Полностью переписал код.
Re: Вопрос по CurrencyEdit
Добавлено: 30.09.2014 14:12:52
GAMER
Обновился. Ничего не изменилось. Как правильно использовать?
Плюс такой вопрос.
Нужно как-то различать пустое значение и нулевое. То есть, если ничего не ввел, то это типа null, а если 0, то это 0.00 например.
И еще.
Может для NumbersOnly разрешить точку и минус?
Добавлено спустя 16 минут 26 секунд:Как правильно использовать?
DisplayFormat:='0.00'; - помог. В старой версии не проверял.
Добавлено спустя 7 минут 49 секунд:Но, каждый раз увязывать DisplayFormat с DecimalPlaces, как то не очень.
Re: Вопрос по CurrencyEdit
Добавлено: 30.09.2014 14:53:45
alexs
Надо будет ещё доработать свойство - ZeroEmpty.
Оно не доделано ещё.
Оно поможет.
Также можно посмотреть свойство EditText.
Re: Вопрос по CurrencyEdit
Добавлено: 30.09.2014 15:50:21
GAMER
UFrmOsn.pas(717,30) Error: identifier idents no member "EditText"
Re: Вопрос по CurrencyEdit
Добавлено: 07.10.2014 17:43:07
GAMER
Вижу, что были изменения, но не вижу, как решить заданый вопрос.
Re: Вопрос по CurrencyEdit
Добавлено: 08.10.2014 16:57:04
alexs
В текущей реализации - пустой строки не будет. В случае пустой строки - будет 0.
Re: Вопрос по CurrencyEdit
Добавлено: 08.10.2014 21:28:34
GAMER
Ок. Буду ждать новую реализацию.
Еще вопросик. Как получить введенный текст при нажатии на "Ентер"?
Код: Выделить всё
procedure TFrmOsn.CurrencyEditEBalKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
Var s,r:String;
begin
s:=CurrencyEditEBal.DisplayText;
if Key=VK_RETURN then
begin
r:=CurrencyEditEBal.DisplayText;
end;
end;
Обе переменные получают в результете '0.00'
Re: Вопрос по CurrencyEdit
Добавлено: 09.10.2014 09:25:06
alexs
GAMER писал(а):r:=CurrencyEditEBal.DisplayText;
Исправил отображение значения в свойстве DisplayText во время редактирования данных
Re: Вопрос по CurrencyEdit
Добавлено: 09.10.2014 12:43:39
GAMER
Спасибо. Работает.
Re: Вопрос по CurrencyEdit
Добавлено: 22.10.2014 21:48:20
GAMER
Обновился. Стало работать так как нужно. Пока

В чем разница между DisplayText и Text? Text что-то глючит.