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

Вниз

function IncDay   Найти похожие ветки 

 
Expan   (2004-02-19 16:52) [0]

function IncDay(ADate: TDateTime; Delta: Integer): TDateTime;
var
D1, D2: TDateTime;
S: string;
begin
ShortDateFormat := "dd.mm.yy";
D1 := StrToDate("24.03.1994");
D2 := IncDay(D1, 145);
S := DateToStr(D2);
end;
Увеличивает дату на заданное количество (Delta) дней, возвращая полученную дату как результат. Не могу сообразить как мне получить результат, например внести результат в таблицу.


 
NAlexey   (2004-02-19 16:54) [1]

>Expan (19.02.04 16:52)
Сам то понял что написал? И зачем здесь ф-ция вапще?


 
Семен Сорокин   (2004-02-19 16:55) [2]

function IncDay(ADate: TDateTime; Delta: Integer): TDateTime;
var
D1, D2: TDateTime;
S: string;
begin
ShortDateFormat := "dd.mm.yy";
D1 := StrToDate("24.03.1994");
D2 := IncDay(D1, 145); - бесконечная рекурсия
S := DateToStr(D2);
end;

зачем называть свою функцию аналогично системной?


 
Курдль   (2004-02-19 16:56) [3]

Кажись этот прикол уже года 2 гуляет по инету.
А на совещаниях в программерских конторах вместо "не изобретайте велосипед" говорят: "Ты бы еще IncDay написал!"


 
Expan   (2004-02-19 17:00) [4]

Быстро, даже не успел сообразить, эта функция из библиотеки RxLib
я привел пример из Нелпа, мне нужно что бы к указанной дате прибавилось количество дней


 
Курдль   (2004-02-19 17:02) [5]


> мне нужно что бы к указанной дате прибавилось количество
> дней


Дата + Количество_дней :)


 
ssk   (2004-02-19 17:03) [6]

попробуй так ;-)

function IncDate(FromDate: TDate; Incrementation: Integer): TDate;
var
d1 : TTimeStamp;
begin
d1:=DateTimeToTimeStamp(FromDate);
Inc(d1.Date, Incrementation);
Result:= TimeStampToDateTime(d1);
end;


 
Плохиш   (2004-02-19 17:04) [7]

>Expan (19.02.04 17:00) [4]

> я привел пример из Нелпа

Не надо ля-ля. В хелпе по RxLib нормальный пример приведён.


 
Курдль   (2004-02-19 17:09) [8]

Да вы что, прикалываетесь?

d0, d1: TDateTime;
i: Integer;
d1 := d0 + i;


 
ssk   (2004-02-19 17:10) [9]

>Да вы что, прикалываетесь?

я - да :-)


 
Expan   (2004-02-19 17:17) [10]

>Не надо ля-ля. В хелпе по RxLib нормальный пример приведён.

Example
var
D1, D2: TDateTime;
S: string;
begin
ShortDateFormat := "dd.mm.yy";
D1 := StrToDate("24.03.1994");
D2 := IncDay(D1, 145);
S := DateToStr(D2);
end;
Выход: S = "16.08.94" //

Вот такой пример там написан :(


 
Никто   (2004-02-19 17:19) [11]

Судя по вызову функции, используются фиксированные параметры:

function IncDay: TDateTime;
var
D: TDateTime;
begin
ShortDateFormat := "dd.mm.yyyy";
D1 := StrToDate("24.03.1994");
Result := IncDay(D, 145);
end;


 
Expan   (2004-02-19 17:24) [12]

Ладно просто подскажите хобя бы как, допусти Label1.Caption := присвоить значение этой функции типа Выход: S = "16.08.94"


 
Никто   (2004-02-19 17:30) [13]

ShortDateFormat := "dd.mm.yy";
Result := StrToDate("16.08.94");


 
Плохиш   (2004-02-19 17:35) [14]

>Expan (19.02.04 17:17) [10]

А теперь сравни, то что ты сейчас скопировал из примера, с тем, что ты изволил накорябать в своём вопросе.


 
Expan   (2004-02-19 17:36) [15]

Все равно не понял Label1.Caption :=Result;


 
Expan   (2004-02-19 17:46) [16]

Без обид и издевательств, мне нужно просто сделать так. Например 19.02.04 мне принесли документ, а 26 его надо вернуть, значит к дате 19.02.04 надо прибавить 7 дней, когда наступит 26.02.04, то в DBGrid, запись выделится каким-нибудь цветом.


 
Плохиш   (2004-02-19 17:50) [17]

>Expan (19.02.04 17:46) [16]

> Без обид и издевательств

Аналогично

1. EndDate := BeginDate + 7;
2. if EndDate = Date then ....


 
Expan   (2004-02-19 17:55) [18]

почти сообразил, завтра попробую, спасибо за ответы, прощаюсь но не надолго.


 
Digitman   (2004-02-19 17:58) [19]


> Expan (19.02.04 17:46) [16]


в хэлп ты, конечно, не лазил по сему поводу)

он для Пушкина писан был)

а коль слазил бы. может, и вопроса бы не было ..

ведь там четко написано :

type TDateTime = type Double;

т.е. данные типа TDateTime полностью совместимы с данными типа Double ... еще точнее : формат хранения даты - это формат хранения обычного числа с плав.точкой .. в котором целая часть - число дней (относительное), а дробная часть - время, прошедшее с начала неполных суток

отсюда банальнейший вывод : увеличить число дней , хранимых в переменной типа TDateTime , можно простым сложением оригинального значения переменной с нужным числом, характеризующим приращение ...



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

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

Наверх





Память: 0.48 MB
Время: 0.008 c
1-6093
dr Tr0jan
2004-02-16 03:49
2004.03.03
Как убрать звук из TEdit?


1-6111
DmitryNekl
2004-02-20 17:43
2004.03.03
Контекстное меню


6-6165
Asail
2003-12-25 16:02
2004.03.03
Как вытащить инфу из домена?


1-6058
Yermek
2004-02-13 00:20
2004.03.03
Экспорт DBGrig в Excel


3-5970
ALEX2
2004-02-05 13:27
2004.03.03
Поле типа boolean проставляется автоматически





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