mina.azarm
دوشنبه 04 خرداد 1388, 12:55 عصر
سلام
من دو editbox دارم که می خواهم وقتی در اولی مثلا 1387/10/10 را زدم و در دومی مثلا 1388/03/04 را زدم در editbox3 نوشته شود. 3 ماه و 26 روز
یا اگر اولی بود. 1387/10/10 و دومی 1388/11/20 در سومی نوشته شود 1 سال و 1 ماه و 10 روز
آیا کسی هست مرا کمک کند. لطفا برادری کنید و یک نمونه مثال برایم بنویسید. با سپاس فراوان
merced
چهارشنبه 06 خرداد 1388, 00:24 صبح
function StrToYMD(S: String; var Y, M, D: Word): Boolean;
var
  P: Integer;
begin
  Result := False;
  try
    P := Pos('/', S);
    if P > 0 then
    begin
      Y := StrToInt(Copy(S, 1, P - 1));
      Delete(S, 1, P);
      P := Pos('/', S);
      if P > 0 then
      begin
        M := StrToInt(Copy(S, 1, P - 1));
        D := StrToInt(Copy(S, P + 1, Length(S) - P));
        Result := True;
      end;
    end;
  except
  end;
end;
كد بالا يه متن رو (كه تاريخ هست) به سه قسمت روز سال ماه تبديل مي كنه (سه تا متغير در نظر بگير و به عنوان پارامتر بفرست) 
خوب . حالا چه جوري روي كاغذ دو تا تاريخ رو از هم كم مي كنيم ؟؟
13        2          1380
30         7         1387
معلومه كه از 30 از 13 كم نميشه   و 31  تا به روز اضافه مي كني (توجه كن كه به ماه دقت كني 30 يا 31 يا 29 روزه است. سال رو در نظر بگير كه كبيسه نباشه ) و  بقيه ماجرا ...
ghabil
چهارشنبه 06 خرداد 1388, 02:54 صبح
uses DateUtils
...
datediff(FirstDate, SecondDate);
shahrokhkian
چهارشنبه 06 خرداد 1388, 14:00 عصر
دوست عزیز اینم یک مثال
امیدوارم به کارت بیاد
موفق باشی.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.