• 0
chaplin.u@gmail.com

как заставить TTimeEdit работать в режиме 24ч.

Вопрос

Использую TTimeEdit чтобы задать период времени а на телефоне стоит режим 12 часов и TTimeEdit показывает 2 АМ т.д. 

Как его принудительно перевести в режим 24 часа независимо от установок в телефоне ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

5 ответов на этот вопрос

  • 0

Вообще время должно отображаться в том формате, который показывает TimeEdit по умолчанию. Т.к. это системный формат, и он удобен тому пользователю, которые его установил. 

24 часовой формат: 

TimeEdit1.Format := 'HH:mm';

 

Чтобы принудительно на am pm перевести:

TimeEdit1.Format := 'hh:mm ampm' -  главное чтобы была строчка ampm или am\pm или .

 

 

afors и Kitty понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

мне нужно дать  длительность к примеру  15 часов а если системное время имеет 12 часовой формат то при нажатии на TimeEdit1 выскакивает колесики в режиме 12 часов и АМ/РМ

и думай теперь что нужно выбирать 3 РМ. та установка что ты говоришь работает потом - когда закрываешь TimeEdit1. я её поставил.

как добраться до ситемной установки ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

А если нужно будет указать длительность 24 или 25 часов?

Сделай обычный TLabel и рядом кнопки + - которые будут прибавлять убавлять единицу, или можно использовать TSpinBox

 

 

Евгений Корепов и Alex7wrt понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
В 04.04.2017 в 20:21, chaplin.u@gmail.com сказал:

не нужно мне 25

ограничьте пятнадцатью!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Похожие публикации

    • Автор: chaplin.u@gmail.com
      TTimeEdit выдаёт TDateTime в формате часы, минуты...  Есть ли какой-то метод получить время в минутах больше 60.
      Например 2:30 = 150 минут.
    • Автор: Kitty
      Правильно я понимаю, что если формат TimeFormatKind = Long, то при выборе времени в окне TimeEdit, мы не можем повлиять на значения миллисекунд? Мне бы хотелось там иметь два нуля 00. TimeEdit вставляет туда свое значение.

    • Автор: Kitty
      Можно ли добиться от TimeEdit1->Time.TimeString() вывод в виде 20:00:00?
      //Тест: void __fastcall TMainForm::ButtonTimeFixClick(TObject *Sender) { //настройки: //Format = hh:nn:ss //TimeFormatKind = Long //ListView1->Items->Item[ListView1->ItemIndex]->Text = 20:00:00 TimeEdit1->Time = ListView1->Items->Item[ListView1->ItemIndex]->Text;//вижу 20:00:00 в компоненте TimeEdit1 if(TimeEdit1->Time.TimeString() == ListView1->Items->Item[ListView1->ItemIndex]->Text) { //надо попасть сюда ShowMessage(L"Такое время уже есть в расписании."); TimeEdit1->SetFocus(); } //попадаю сюда ShowMessage(TimeEdit1->Time.TimeString() + " " + ListView1->Items->Item[ListView1->ItemIndex]->Text); }
    • Автор: Kitty
      Приложение создается для платформы Андроид.
      Из INI файла читается время и помещается в список. Рисунок прилагается. Для размещения этого времени справа в списке я использую стандартный пример, который идет в Samples студии:
      const System::UnicodeString sText = L"CA"; void __fastcall TForm1::ListView1UpdatingObjects(const TObject *Sender, const TListViewItem *AItem, bool &AHandled) { TListItemText * LCaption = reinterpret_cast<TListItemText*>((const_cast<TListViewItem*>(AItem))->Objects->FindObject(sText)); if (LCaption == NULL) { LCaption = new TListItemText((TListItem*)AItem); LCaption->Name = sText; LCaption->Align = TListItemAlign::Trailing; LCaption->VertAlign = TListItemAlign::Trailing; LCaption->PlaceOffset->X = 15; LCaption->PlaceOffset->Y = 12; LCaption->TextAlign = TTextAlign::Center; LCaption->Trimming = TTextTrimming::Character; LCaption->IsDetailText = True; LCaption->Width = 90; LCaption->Height = 45; } } //в другом месте программы цикл и в нем фрагмент заполнения: TListViewItem * item = ListView1->Items->Add(); //********************* //в (*It).first например значение: 08:00:00 item->Data[sText] = TValue::From<UnicodeString>((*It).first); Подскажите, пожалуйста, как вместо простого текста в этих местах размещать программно компонент TTimeEdit чтобы читать в него значения, и иметь возможность править эти значения времени прямо в ListView?
      Спасибо.

    • Автор: Brovin Yaroslav
      В RAD Studio XE5 был добавлен новый компонент TTImeEdit для удобного ввода времени. 
       
      Возможности
      Использование короткого и полного формата времени Адаптивный ввод времени. Под Windows и OSX ввод времени по частям, как принято в операционных система. В Android и iOS ввод осуществляется при помощи системных диалогов (Андроид) и барабанов (iOS). Поддержка встроенного TCheckBox, позволяющего на уровне дизайнера сделать встроенный выбор поля. Поддержка пользовательского формата времени. При этом все одинаковые части времени в разных вариантах отображения редактируются одновременно Возможности отображения текущего времени Демонстрация
      Возможности этого компонента приведены на видео ниже:

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу