Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перевод из строки в TDateTime [D7]


Strate ©   (2007-08-07 15:08:00) 

Здравствуйте.

Воожу в текстовое поле время в формате mm:ss.zzz . Как корректно без ошибок перевести строку в тип дата-время?


Strate   (2007-08-07 16:57:00) [1]

Спасибо, попробуем. А надо это для построения таблицы рекордов спортсменов. Вот.


{RASkov}   (2007-08-07 16:46:00) [2]

> [4] Strate ©   (07.08.07 15:38)

Может кто и умнее что придумает, но попробуй так:

В Edit1.Text - '25:55.625'

procedure TForm1.Button1Click(Sender: TObject);
var D: TTime; N, L: Integer; H, M, S, Ms: Word; SMs: String; Fs: TFormatSettings;
begin
 N:=LastDelimiter('.', Edit1.Text)-1;
 L:=Length(Edit1.Text)-N;
 SMs:=Copy(Edit1.Text, N+2, L);
 D:=StrToTime('00:'+Copy(Edit1.Text, 1, N));
 GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, Fs);
 Fs.LongTimeFormat:='nn:ss.zzz';
 ShowMessage(TimeToStr(D, Fs));
 DecodeTime(D, H, M, S, Ms);
 D:=EncodeTime(H, M, S, StrToIntDef(Sms, 0));
 ShowMessage(TimeToStr(D, Fs));
end;

В общем как-то не больно мне это нравиться :)
А зачем вообще нужно вводить миллисекунды?


Strate   (2007-08-07 15:38:00) [3]

Написал именно так, ошибка "12:12.121 is not valid time". Естественно цифры для примера взял. Вот не пойму как правильно оформить.


{RASkov}   (2007-08-07 15:27:00) [4]

> [2] Strate ©   (07.08.07 15:17)

Так и заполняй
FormatSettings.LongTimeFormat:='mm:ss.zzz';


Strate   (2007-08-07 15:17:00) [5]


> {RASkov} ©   (07.08.07 15:10) [1]


А можно уточнить как заполнить FormatSettings именно для случая с zzz?


{RASkov}   (2007-08-07 15:10:00) [6]

> [0] Strate ©   (07.08.07 15:08)

StrToDateTime()
+ FormatSettings


Наверх

Титульная страница Поиск, карта сайта Написать письмо