Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 10.06.2008, 11:01
Sivens Sivens вне форума
Прохожий
 
Регистрация: 10.06.2008
Сообщения: 2
Репутация: 10
По умолчанию Замена "," на ":" в числе - как проще?

Ломаю голову и не хочется делать это слишком сложно. В базе число хранится как float, а на форме нужно показывать и вводить, используя ":". На форме используется TDBEditGrid. Помогите пожалуйста!
Пока сделала фиктивное поле, интернал калкулатед в датасете для грида, в которое можно ввести число с ":", и нормально записывает в невидимое децимальное поле. Все замечательно, но ведь надо еще и при просмотре из децимального расчитывать значение для этого фиктивного... и тут начинаются проблемы, потому что при просмотре не позволяет обновлять поля датасета... Может вообще иначе надо было делать?

Последний раз редактировалось Sivens, 10.06.2008 в 11:18.
Ответить с цитированием
  #2  
Старый 10.06.2008, 16:05
Sivens Sivens вне форума
Прохожий
 
Регистрация: 10.06.2008
Сообщения: 2
Репутация: 10
По умолчанию

Наверное, я задала вопрос слишком уж непонятно... Можно ли используя маски ввода заменить запятую на ":"? Или это невозможно?
Ответить с цитированием
  #3  
Старый 10.06.2008, 19:12
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

А что если это число преобразовать в строку (
Код:
FloatToStr(число:float)
)и изменить "запятую" на "двоеточие"???
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #4  
Старый 10.06.2008, 20:49
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

Переопредели значение DecimalSeparator.
Пример:
Код:
procedure TForm1.Button1Click(Sender: TObject);
Var F:Real;
begin
DecimalSeparator:=':'; // Меняем разделитель на ":"
F:=StrToFloat(Edit1.Text);
DecimalSeparator:=',';// Меняем разделитель на ","
ShowMessage(FloatToStr(F+1));
end;
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:17.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter