Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.02;
Скачать: CL | DM;

Вниз

Перевод из строки в TDateTime   Найти похожие ветки 

 
Strate ©   (2007-08-07 15:08) [0]

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

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


 
{RASkov} ©   (2007-08-07 15:10) [1]

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

StrToDateTime()
+ FormatSettings


 
Strate ©   (2007-08-07 15:17) [2]


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


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


 
{RASkov} ©   (2007-08-07 15:27) [3]

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

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


 
Strate ©   (2007-08-07 15:38) [4]

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


 
{RASkov} ©   (2007-08-07 16:46) [5]

> [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 16:57) [6]

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



Страницы: 1 вся ветка

Текущий архив: 2007.09.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
15-1185892916
cosinus
2007-07-31 18:41
2007.09.02
Эм... Глупейший вопрос по SoftIce.


2-1186559531
Sdubaruhnul
2007-08-08 11:52
2007.09.02
Правила wildcard


2-1186646635
Axon
2007-08-09 12:03
2007.09.02
Поменять курсор


2-1186384703
DmitryFox
2007-08-06 11:18
2007.09.02
Локализация приложения для Китая


15-1186252040
ferr
2007-08-04 22:27
2007.09.02
Подкасты.