Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Работа с датами   Найти похожие ветки 

 
03111978   (2010-05-20 09:12) [0]

Имеется дата, которая записана в строковую переменную, например - 19.05.2010, нужно найти предыдущую дату и записать ее в переменную. Подскажите советом.


 
turbouser ©   (2010-05-20 09:12) [1]

Чего?


 
03111978   (2010-05-20 09:13) [2]


> Чего?


Есть некая дата, нужно программно найти предыдущую


 
turbouser ©   (2010-05-20 09:15) [3]


> 03111978   (20.05.10 09:13) [2]

Найти в где?
Если просто вычесть день, то
uses DateUtils
IncDay(MyDateTime,-1)


 
RWolf ©   (2010-05-20 09:16) [4]

prevdate:=strtodate(mydatestr)-1;


 
03111978   (2010-05-20 09:35) [5]


> RWolf ©   (20.05.10 09:16) [4]


если так, то почему то не работает :-(

var
File_Rec : TSearchRec;
DateTime,prevdate : TDateTime;
datafile : string;
begin
findFirst("c:\rp180506.035", 1, File_Rec);
DateTime := FileDateToDateTime(File_Rec.Time);
datafile := DateToStr(DateTime);
prevdate := strtodate(datafile)-1;
end;

что я не так сделал ?


 
Sergey13 ©   (2010-05-20 09:38) [6]

> [0] 03111978   (20.05.10 09:12)
> Имеется дата, которая записана в строковую переменную

Не нашел подходящего типа?


 
03111978   (2010-05-20 09:39) [7]


> Не нашел подходящего типа?


Просто мне потом с этой строкой работать


 
Омлет ©   (2010-05-20 09:49) [8]

> 03111978   (20.05.10 09:35) [5]

prevdate := FileDateToDateTime(File_Rec.Time) - 1;


 
03111978   (2010-05-20 09:56) [9]

Что то не понял. Во до этого момента работает :


findFirst(p + "rp180506.035", 1, File_Rec);
DateTime := FileDateToDateTime(File_Rec.Time);
datafile := DateToStr(DateTime);


В datafile лежит 19.05.2010
В DateTime лежит 40317.120648

Значит я в итоге должен получить:

18.05.2010
40316.120648


 
RWolf ©   (2010-05-20 10:10) [10]

почему бы prevdate не вычислять сразу, как DateTime-1, без лишних преобразований?


 
Sergey13 ©   (2010-05-20 10:18) [11]

> [7] 03111978   (20.05.10 09:39)
> Просто мне потом с этой строкой работать

Судя по вопросу работать тебе надо как раз таки с датой. Просто иногда результат работы интерпретировать как строку.


 
03111978   (2010-05-20 11:14) [12]


> почему бы prevdate не вычислять сразу, как DateTime-1, без
> лишних преобразований?


Допустим даже если я делаю так :

prevdate := DateTime - 1;

в prevdate ничего нет, там 0


 
RWolf ©   (2010-05-20 11:32) [13]

время модификации файла проще получать через FileAge.


 
Плохиш ©   (2010-05-20 11:34) [14]


> 03111978   (20.05.10 11:14) [12]

Вот скажи, нафига в делфи отладчик встроили?
И зачвм оно тебе, это программирование? Зачёт спихнуть?


 
Anatoly Podgoretsky ©   (2010-05-20 13:25) [15]

> 03111978  (20.05.2010 09:12:00)  [0]

Это не дата, а строка.


 
Anatoly Podgoretsky ©   (2010-05-20 13:27) [16]

> 03111978  (20.05.2010 11:14:12)  [12]

Значит в DateTime единица


 
03111978   (2010-05-20 13:34) [17]


> Anatoly Podgoretsky ©   (20.05.10 13:27) [16]


Спасибо, разобрался.

> Плохиш ©   (20.05.10 11:34) [14]


А ты плохиш отдыхай и не умничай, зачеты я в свое время уже насдавался.


 
Sha ©   (2010-05-20 15:40) [18]

>> Не нашел подходящего типа?
> Просто мне потом с этой строкой работать

Строки предназначены для ввода/отображения. Для работы есть другой тип,
ты же не складываешь строки, когда требуется сложить 2 числа.


 
Anatoly Podgoretsky ©   (2010-05-20 16:01) [19]


> Плохиш ©   (20.05.10 11:34) [14]


> 03111978   (20.05.10 13:34) [17]

Я же говорил, ты не умничай, ты код давай!


 
Плохиш ©   (2010-05-20 16:25) [20]


> Anatoly Podgoretsky ©   (20.05.10 16:01) [19]

Это называется не "давай", а "подай" сирому и убогому.



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

Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.056 c
2-1272199330
Grumd
2010-04-25 16:42
2010.08.27
Изменение размера формы


2-1273576150
noob_one
2010-05-11 15:09
2010.08.27
Variant как массив.


2-1273056659
Свободный художник
2010-05-05 14:50
2010.08.27
Заблокировать ввод в определенные ячейки StringGrid


2-1265644179
Инна
2010-02-08 18:49
2010.08.27
Решение задач


2-1273825369
Elephon
2010-05-14 12:22
2010.08.27
Заполнение listview





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский