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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.12.2008, 19:20
Михалыч Михалыч вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 142
Репутация: 15
По умолчанию Добавление ноля после запятой

Имеется несколько ComboBox, в которые пользователь будет водить числовые данные. Как сделать так чтобы если пользователь ввел например число 100 и перешел на следующее поле число 100 изменялось на 100,00 т.е. чтобы добавлялись 2 ноля, если пользователь введет к примеру 11,22 то чтобы все так и оставалось. В общем нужно чтобы если нет запятой после нее добавлялись копейки.
Ответить с цитированием
  #2  
Старый 12.12.2008, 19:32
Burka Burka вне форума
Начинающий
 
Регистрация: 10.06.2007
Сообщения: 163
Репутация: 10
По умолчанию

if pos(',',Combobox1.Text)=0 then Combobox1.Text:=Combobox1.Text+',00';
не помню какие там параметры у pos, суть думаю понятна
Ответить с цитированием
  #3  
Старый 12.12.2008, 19:39
ApxaHGe1 ApxaHGe1 вне форума
Активный
 
Регистрация: 08.04.2008
Адрес: Нижний новгород
Сообщения: 311
Репутация: 38
По умолчанию

Мне кажеться проще будет так :
Код:
var
q:Extended;
....
procedure TForm1.Button1Click(Sender: TObject);
begin
q:=StrToFloat (Edit1.Text);
ShowMessage (FloatToStrF(q,ffFixed,15,2));
end;

end.
Ответить с цитированием
  #4  
Старый 12.12.2008, 23:27
Burka Burka вне форума
Начинающий
 
Регистрация: 10.06.2007
Сообщения: 163
Репутация: 10
По умолчанию

А я думал проще это там где меньше строчек кода
Ответить с цитированием
  #5  
Старый 14.12.2008, 10:44
Михалыч Михалыч вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 142
Репутация: 15
По умолчанию

Цитата:
Сообщение от Burka
if pos(',',Combobox1.Text)=0 then Combobox1.Text:=Combobox1.Text+',00';
не помню какие там параметры у pos, суть думаю понятна

Это в принципе работает, только если набрать к примеру 123 получается 321,00 т.е. набираем 1, курсор получается СЛЕВА от цифры, а не справа, и получается китайское письмо слева направо

Последний раз редактировалось Михалыч, 14.12.2008 в 19:06.
Ответить с цитированием
  #6  
Старый 14.12.2008, 11:41
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

если я тебя правильно понял, то
Код:
procedure TForm1.ComboBox1Exit(Sender: TObject);
begin
ComboBox1.Text:=ComboBox1.Text+',00';
end;
ЗЫ: пример Burka у мя тоже нормально работает
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз

Последний раз редактировалось Yurk@, 14.12.2008 в 11:45.
Ответить с цитированием
  #7  
Старый 14.12.2008, 19:08
Михалыч Михалыч вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 142
Репутация: 15
По умолчанию

У меня нормально не работает. Работает так как описано выше, цифры забиваются справа налево. Если у тебя работает прилепи исходник, я посмотрю
Ответить с цитированием
  #8  
Старый 14.12.2008, 20:13
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Давай уж ты показывай свои исходники ... а мы уже тут будем смотреть, что у тя не так.
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #9  
Старый 14.12.2008, 20:15
Burka Burka вне форума
Начинающий
 
Регистрация: 10.06.2007
Сообщения: 163
Репутация: 10
По умолчанию

Просто ты походу суешь мой код в событие onChange, а это не правильно, надо дождатся окончания ввода а тока потом вводить, например по кнопке "сохранить" или тп
Ответить с цитированием
  #10  
Старый 14.12.2008, 20:18
Burka Burka вне форума
Начинающий
 
Регистрация: 10.06.2007
Сообщения: 163
Репутация: 10
По умолчанию

а если уж очень надо при вводе то переверни строку, должна такая процедура стандартная быть
Ответить с цитированием
  #11  
Старый 14.12.2008, 20:40
Михалыч Михалыч вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 142
Репутация: 15
По умолчанию

Цитата:
Сообщение от Burka
а если уж очень надо при вводе то переверни строку, должна такая процедура стандартная быть

Да, вставляю код в onChange
Ответить с цитированием
  #12  
Старый 14.12.2008, 20:42
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

лучше ",00" подставлять при потере фокуса
Ответить с цитированием
  #13  
Старый 14.12.2008, 20:42
Михалыч Михалыч вне форума
Начинающий
 
Регистрация: 08.09.2008
Сообщения: 142
Репутация: 15
По умолчанию

Как это сделать
Ответить с цитированием
  #14  
Старый 14.12.2008, 21:41
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

метод OnExit
Ответить с цитированием
  #15  
Старый 15.12.2008, 18:34
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Михалыч, я же написал тебе код при потере фокуса
http://www.delphisources.ru/forum/sh...76&postcount=6
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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