Mask
چهارشنبه 15 مهر 1388, 22:49 عصر
سلام به همه دوستان
من یه تاریخ دارم مثلا 05/02/1388 حالا چطوری ببرمش با برنامه به دو روز قبل مثلا با فشار دادن یک باتن در ادیت دوم تایپ بشه 03/02/1388 .
البته می خام هر تاریخی رو که دادم برام برگردونه به دوز قبل. باید چیکار کنم.
ممنون از دوستان
vcldeveloper
پنج شنبه 16 مهر 1388, 01:08 صبح
IncDay(MyDate,-2);
در DateUtils.pas
K.Mohammadreza
پنج شنبه 16 مهر 1388, 01:41 صبح
سلام دوست عزيز
وقت نوشتن کد نداشتم سري به کدهاي نوشته شده قبلي زدم و اين تابع را پيدا کردم براي بردن تاريخ به جلو در يک قفل نرم افزاري استفادش کردم ببين بدرد ميخوره
function IncreaseDate( AValue: TDateTime; ADays, AMonths, AYears:
Integer ): TDateTime;
Const
DaysInMonth: array[ 1..12 ] of Integer = ( 31, 28, 31, 30, 31, 30, 31, 31, 30,
31, 30, 31 );
var
DaysPerMonth: Byte;
Day, Month, Year: Word;
begin
DecodeDate( AValue, Year, Month, Day );
Inc( Year, AYears );
Inc( Year, AMonths div 12 );
Inc( Month, AMonths mod 12 );
if Month < 1 then
begin
Inc( Month, 12 );
Dec( Year );
end
else if Month > 12 then
begin
Dec( Month, 12 );
Inc( Year );
end;
DaysPerMonth := DaysInMonth[ Month ];
if ( Month = 2 ) and ( ( Year mod 4 = 0 ) and ( ( Year mod 100 <> 0 ) Or (
Year mod 400 = 0 ) ) ) then
Inc( DaysPerMonth );
if Day > DaysPerMonth then
Day := DaysPerMonth;
Result := EncodeDate( Year, Month, Day ) + ADays + Frac( AValue );
end;
البته فکر کنم راه ساده اش اين باشه که تاريخ را به ميلادي تيديل کني و به شيوه زير عمل کني امتحان نکردم ولي مطمئنم جواب ميده
procedure DecreaseDate (var fDate: TDateTime; NumberOfDays: Integer = 1);
begin
fDate := fDate - NumberOfDays;
end;
procedure IncreaseDate (var fDate: TDateTime; NumberOfDays: Integer = 1);
begin
fDate := fDate + NumberOfDays;
end;
Mask
پنج شنبه 23 مهر 1388, 18:50 عصر
در DateUtils.pas
ممنون از دوستان که جواب دادند.
آقای کشاورز این کامپوننت رو از کجا باید تهیه کرد.
سلام دوست عزيز
وقت نوشتن کد نداشتم سري به کدهاي نوشته شده قبلي زدم و اين تابع را پيدا کردم براي بردن تاريخ به جلو در يک قفل نرم افزاري استفادش کردم ببين بدرد ميخوره
دوست خوبم کدتون کار نداد اگه ممکنه یه بار خودتون امتحان کنید.
young_man1365
پنج شنبه 23 مهر 1388, 19:23 عصر
باید در قسمت uses یونیت خود DateUtils رو اضافه کنی. نیازی به تهیه نیست
AbiriAmir
چهارشنبه 29 مهر 1388, 16:22 عصر
با این کد هم میشه...
var a : TDate;
a := Date -1;
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.