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

Вниз

Тупой вопрос!!!   Найти похожие ветки 

 
Varf   (2006-10-24 08:50) [0]

Гсопода помогите че то голова не работает!!!!
---есть строка типа: 1.09.2006 00:00 (тип Variant)
нужно ее сделать типом TDate вида:1.09.2006
заранее спасибо!!!


 
Джо ©   (2006-10-24 08:55) [1]

var
 V: Variant;
 Dt: TDate;
...
 V := "1.09.2006 00:00";
 DateSeparator := ".";
 TimeSeparator := ":";
 Dt := StrToDateTime(V);


 
ЮЮ ©   (2006-10-24 08:55) [2]

"разобрать" стоку на составляющие: Copy
преобразовать к целым: StrToInt
преобразовать к TDate: EncodeDateTime


 
ЮЮ ©   (2006-10-24 08:57) [3]

1.09.2006 может быть как 1 сентября, так и 9 января.


 
Джо ©   (2006-10-24 09:02) [4]

>
>
> [3] ЮЮ ©   (24.10.06 08:57)
> 1.09.2006 может быть как 1 сентября, так и 9 января.


Что ж, тогда так:

var
 V: Variant;
 Dt: TDate;
...
 V := "1.09.2006 00:00";
 ShortDateFormat := "d.mm.yyyy";
 Dt := StrToDateTime(V);


 
Varf   (2006-10-24 09:03) [5]

Спасибо всем!!!
я про это не знал:
DateSeparator := ".";
TimeSeparator := ":";


 
Джо ©   (2006-10-24 09:08) [6]

> [5] Varf   (24.10.06 09:03)

Лучше используй подход из поста [4].


 
Varf   (2006-10-24 09:11) [7]

да да спасибо


 
Anatoly Podgoretsky ©   (2006-10-24 09:11) [8]

Это не строка, но если преобразовать к строке, то далее задача простая
StrLength(S, Pos(" ", S) -  1)


 
Anatoly Podgoretsky ©   (2006-10-24 09:12) [9]


> Лучше используй подход из поста [4].

У которого могут быть неожиданные побочные эффекты. Подход не системный.


 
Джо ©   (2006-10-24 09:14) [10]

> [9] Anatoly Podgoretsky ©   (24.10.06 09:12)
Подход не системный.

Обоснуйте.


 
Anatoly Podgoretsky ©   (2006-10-24 09:35) [11]

Ему надо отрезать то что после пробела, а вот сам вопрос

> нужно ее сделать типом TDate

В общем случае не имеет решения, в частном решается, если известен точный формат и он гарантируется.


 
Джо ©   (2006-10-24 09:39) [12]

> [11] Anatoly Podgoretsky ©   (24.10.06 09:35)
> Ему надо отрезать то что после пробела, а вот сам вопрос

Отрезать не проблема :) Да, в принципе, это даже не нужно, достаточно использовать StrToDate.

>
> в частном решается, если
> известен точный формат и он гарантируется.

Формат был описан в [0]. А гарантироваться он обязан в любом случае — что в случае использования готовой библиотечной функции StrToDate[Time], что в случае изготовления самописного парсера, не так ли?


 
Ketmar ©   (2006-10-24 09:45) [13]

как же я люблю велосипеды! в CDM я дату/время честно разламываю на кусочки руками, и делаю EncodeDateTime(). %-)


 
Anatoly Podgoretsky ©   (2006-10-24 12:54) [14]

есть строка типа: 1.09.2006 00:00 (тип Variant)
Тут возможны всякие варианты, поэтому и предложено преобразовать в строку, но тут опять варианты, будет ли в результате строка "1.09.2006 00:00"
Пока для меня вопрос смутный.



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

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

Наверх




Память: 0.47 MB
Время: 0.055 c
2-1161063939
svt
2006-10-17 09:45
2006.11.05
Мастера, подскажите как сделать так, чтобы


11-1137747496
-=Mike=-
2006-01-20 11:58
2006.11.05
Вопрос по ListView


1-1159164853
Nastina
2006-09-25 10:14
2006.11.05
DblClick по загловку TStringGrid


2-1161292434
fog
2006-10-20 01:13
2006.11.05
Глюк !!!


15-1161198097
Михель
2006-10-18 23:01
2006.11.05
Помогите найти песню! Может, у кого есть?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский