Перейти к содержанию
  • Регистрация

Поиск сообщества

Показаны результаты для тегов 'FilterChar'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
  • Вопросы по использованию RAD Studio
  • Native FGX
  • Обучение
  • Поиск специалистов по FireMonkey
  • Дополнительные ресурсы по FireMonkey
  • Организация работы данного форума
  • Видеокурсы

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


StackOverflow


Защита от ботов


Город


Интересы

Найдено: 2 результата

  1. Намучавшись с не работающим FilterChar и кучей способов ввода по маске, сделал свой способ. По моему мнению самый простой. Код позволяет вводить только числа, включая дробные и отрицательные. procedure TFormMain.Edit1ChangeTracking(Sender: TObject); Var FEdit : TEdit; FFloat : Single; begin If Not (Sender is TEdit) Then // Защитимся от не выспавшегося самого себя Exit; FEdit:=(Sender as TEdit); // Для удобства... FEdit.Text:=FEdit.Text.Replace(' ',''); // Убираем случайные пробелы if FEdit.Text.IsEmpty then // Если пусто (ничего не введено или все удалено), ничего не делаем Exit; FEdit.Text:=FEdit.Text.Replace('.',','); // Заменяйм точку запятой if FEdit.Text.Equals(',') then // Если введен разделитель, добавляем перед ним ноль для красоты (не обязательно) begin FEdit.Text:='0,'; FEdit.CaretPosition:=FEdit.CaretPosition+1; // без этого курсор останется между нулём и запятой end; if FEdit.Text.Equals('-') then // Если введен только минус, не пытамся его драконить Exit; if TryStrToFloat(FEdit.Text,FFloat) Then // Пробуем преобразовать в число FEdit.TagString:=FEdit.Text // Если удалось, сохраняем в временном хранилище Else FEdit.Text:=FEdit.TagString; // Если не удалось, восстанавливаем из временного хранилища end; В качестве временного хранилища использовано TagString, дабы не разводить глобальных переменных. Возможно понадобиться очистка временного хранилища при многократном использовании: procedure TFormMain.Edit1Enter(Sender: TObject); begin If Not (Sender is TEdit) Then Exit; (Sender as TEdit).TagString:=''; end; Буду рад услышать замечания и предложения.
  2. Согласно http://edn.embarcadero.com/article/44358 проблему http://qc.embarcadero.com/wc/qcmain.aspx?d=122372 пофиксили. Но сейчас проверил - ничего не изменилось. FilterChar как не работал на андроиде, так и не работает. Или я туплю? Delphi XE8 с установленным Update 1? в окне About, раздел Installed Updates вообще должно писать что то? Или эмбаркадеро больше не утруждает себя такими мелочами?
×
×
  • Создать...