Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
ВнизНе могу сравнить две даты - результат ошибка помогите разобраться Найти похожие ветки
← →
koha © (2007-04-13 04:46) [0]Вот пример сравнения в D 2006 он работает:
if FileDateToDateTime(FileAge(ParamStr(0))) < (Date+Time) then begin
Авот в Delphi 6 выходит ошибка: вот в этом месте < (Date+Time) Как заменить или преодолеть или найти уникальное решение?
← →
Roman_S © (2007-04-13 07:35) [1]Есть другое решение:
var Hour1, Min1, Sec1, MSec1: Word;
begin
DecodeTime(Time, Hour1, Min1, Sec1, MSec1); // Раскодировать текущее время
if (Hour1 = Hour2) and (Min1 = Min2) //добавь своё
then begin
Надёжно, работоспособно везде
Понять бы - как работает твой код!
← →
Loginov Dmitry © (2007-04-13 08:12) [2]> Авот в Delphi 6 выходит ошибка: вот в этом месте < (Date+Time)
> Как заменить или преодолеть или найти уникальное решение?
Текст ошибки где?
← →
Рамиль © (2007-04-13 09:31) [3]
> Roman_S © (13.04.07 07:35) [1]
Зачем так жестоко? Лавры IncDay покоя не дают?:)
← →
Virgo_Style © (2007-04-13 09:47) [4]koha © (13.04.07 4:46)
"уникальное решение" - это круто... телепатор вещает, что Date и Time у тебя или разных типов, или одного, но этот тип - DateTimePicker.
← →
Плохиш © (2007-04-13 11:21) [5]
> koha © (13.04.07 04:46)
> (Date+Time)
А чемNow
не угодил?
← →
ЮЮ © (2007-04-13 11:41) [6]А чем Now не угодил?
Это же не машина времени, которая ищет ещё не созданные файлы :)
← →
_Аноним (2007-04-13 15:09) [7]
> Roman_S ©
> Надёжно, работоспособно везде
А если надо сравнить не на равенство, а на больше\меньше?
ИНтересно было бы посмотреть на код, который рещает эту проблему через DecodeTime :-)
← →
Alexey (AZ) (2007-04-13 17:32) [8]unit DateUtils;
HoursBetween...
IncHours...
← →
Плохиш © (2007-04-13 17:51) [9]
> Alexey (AZ) (13.04.07 17:32) [8]
И как это поможет узнать какая дата больше?
← →
koha © (2007-04-14 04:40) [10]Всем огромное спасибо Data+Time оказалась ни причем, я поторопился с поспешными выводами, но вот у меня была в коде такая функия и в ней ошибка и происходила:
function SetToDate(SetDate: String; Days: Integer): String;
Var dd,mm,yyyy: integer;
M: Array of integer;
begin
dd := StrToInt(Copy(SetDate,1,2));
mm := StrToInt(Copy(SetDate,4,2));
yyyy := StrToInt(Copy(SetDate,7,4));
dd := dd+Days;
SetLength(M,SizeOf(Month));
Move(Month[1],M[1],SizeOf(Month));
While M[mm] < dd do begin
if Visocos(yyyy) then M[2]:=29
else M[2]:=28;
dd:=dd - M[mm];
Inc(mm);
if mm > 12 then begin
mm:=mm-12;
Inc(yyyy);
end;
end;
if dd < 10 then Result:="0"+IntToStr(dd)+"."
else Result:=IntToStr(dd)+".";
if mm < 10 then Result:=Result+"0"+IntToStr(mm)
else Result:=Result+IntToStr(mm);
Result:=Result+"."+IntToStr(yyyy)+" "+TimeToStr(Time);
end;
Результат преобразовывался деле StrToDateTime - ошибка возникала потому, что между Date и Time не стоял пробел, например
в D2006 такое преобразование уместно: StrToDateTime(10.11.0609:38:24)
а вот delphi6 неуместно - необходимо ставить пробел т.е. вот так StrToDateTime(10.11.06 09:38:24)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.05.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c