Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2011, 13:41   #1
Alexei_3105
 
Регистрация: 15.03.2011
Сообщений: 5
Восклицание Замена ',' на '.' в Edit

Я из запроса вывожу данные в Edit такого типа 1234,56
Затем использую их в другом запросе.
Так или иначе нужно заменить ',' на '.' чтобы данные приняли такой вид 1234.56
Как это сделать? Помогите пожалуйста.
Alexei_3105 вне форума Ответить с цитированием
Старый 15.03.2011, 14:04   #2
BoozZzilla
Форумчанин
 
Аватар для BoozZzilla
 
Регистрация: 26.01.2009
Сообщений: 125
По умолчанию

вот на две строчки ниже такой пост с ответом
http://www.programmersforum.ru/showthread.php?t=142455
BoozZzilla вне форума Ответить с цитированием
Старый 15.03.2011, 14:08   #3
Alexei_3105
 
Регистрация: 15.03.2011
Сообщений: 5
По умолчанию

Сейчас попробую. Спасибо.

Урааааа заработало! Огромное спасибо.

Последний раз редактировалось Stilet; 15.03.2011 в 14:41.
Alexei_3105 вне форума Ответить с цитированием
Старый 16.03.2011, 02:40   #4
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Вообще-то там может быть и не '.' и не ','.

К примеру, в арабских странах используется U+066B.

Вернее всего ориентироваться на DecimalSeparator.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 16.03.2011, 06:30   #5
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Цитата:
Вернее всего ориентироваться на DecimalSeparator.
Потдерживаю. К тому же с эдитом всё на много проще:
Код:
var
  MyValue: Double;

{$R *.dfm}

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if (Key = '.') or (Key = ',') then
    Key := DecimalSeparator;
  if not (Key in [DecimalSeparator, '0'..'9']) then
    Key := #0;
end;

procedure TForm1.Edit1Exit(Sender: TObject);
begin
  if not TryStrToFloat (Edit1.Text, MyValue) then begin
    ShowMessage ('Не число');
    Edit1.SetFocus;
  end;
end;
А-а, и это, совсем забыл. Более 9 тыщ раз уже обсуждалось.
Sibedir вне форума Ответить с цитированием
Старый 16.03.2011, 09:45   #6
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Цитата:
Сообщение от Sibedir Посмотреть сообщение
Потдерживаю. К тому же с эдитом всё на много проще:
Код:
var
  MyValue: Double;

{$R *.dfm}

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if (Key = '.') or (Key = ',') then
    Key := DecimalSeparator;
  if not (Key in [DecimalSeparator, '0'..'9']) then
    Key := #0;
end;

procedure TForm1.Edit1Exit(Sender: TObject);
begin
  if not TryStrToFloat (Edit1.Text, MyValue) then begin
    ShowMessage ('Не число');
    Edit1.SetFocus;
  end;
end;
А-а, и это, совсем забыл. Более 9 тыщ раз уже обсуждалось.
Необязательно текст в Edit поступает от клавиатуры и поэтому, лучше добавить замену в OnChange
Код:
procedure TForm1.Edit1Change(Sender: TObject);
var
  Str: string;
  I: Integer;
begin
  Str := Edit1.Text;

  if Pos(',', Str) <> 0 then
  begin
    for I := 1 to Length(Str) do
    begin
      if Str[I] = ',' then
        Str[I] := '.';
    end;

    Edit1.Text := Str;
  end;
end;
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.

Последний раз редактировалось chertovich; 16.03.2011 в 09:48.
chertovich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена символа в Edit (delphi) a_n_n_a Общие вопросы Delphi 2 12.03.2011 03:07
замена текста в Edit designer999 Общие вопросы Delphi 3 17.04.2010 15:19
Mail замена Memo на Edit L.Morgan Работа с сетью в Delphi 3 26.03.2009 13:13
Замена кода программы с Delhi5 на Delhi7 либо замена базы данных с Acessa на MySQL DorianLeroy Фриланс 8 18.02.2009 18:52
Поиск и замена групп символов данными из edit в memo treefantom Общие вопросы Delphi 5 26.10.2008 17:26