• 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 или .

 

 

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


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

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

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

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

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


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

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

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

 

 

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


Ссылка на сообщение
Поделиться на другие сайты
  • 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 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу