نمایش نتایج 1 تا 13 از 13

نام تاپیک: برنامه تبدیل تاریخ مشکل دارد

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    لطفا یکی بگه من چکار کنم تا درست بشه؟
    چطور این تابع رو باید اجرا کنم؟

    زیر tdatetime وای میسه و مینویسه
    ERROR 3: Unknown indentifire
    آیا لازمه این رو همین طوری past کنم یا باید چیزی بهش اضافه کنم و یا یجا فراخوانی کنم و ...

  2. #2
    متاسفانه من پاسکال یادم رفته! ولی تو دلفی استفاده اش کردم errorی نداد
    احتمالا پاسکال نوع تاریخ را بصورت tdatetimeنمیشناسه و نوع متغیر زمانی را یه چیز دیگه است!
    ولی فکر نکنم لازم باشه چیزی بهش اضافه کنی!
    ولی مسلما یه جا باید فراخوانیش کنی! می خواهی از تابع چه استفاده ای بکنی؟

    امیدوارم موفق باشی.
    آخرین ویرایش به وسیله oghab : سه شنبه 06 دی 1384 در 21:24 عصر

  3. #3
    مشخصه که این تابع برای دلفی نوشته شده،
    نمیتونید اون رو به همین شکل تو پاسکال استفاده کنید.

  4. #4
    آخه دوست عزیز
    کلاسهای استفاده شده در دلفی که در پاسکال موجود نمیباشد
    در ثانی شما در پاسکال متغیری برای تاریخ ندارید در انجا از کاراکتر استفاده میشد

  5. #5
    کسی برنامه تبدیل تاریخ میلادی به شمسی برای پاسکال رو داره
    ممنون میشم اگه اون رو به من بدید

  6. #6
    فقط هدر تابع و خط اول داخل تغییر کرده.


    function shamsi(tt:String):string;
    var
    str,y,m,d:string;
    yi,mi,di:integer;
    begin
    str:=tt
    y:=copy(str,1,4);
    m:=copy(str,6,2);
    d:=copy(str,9,2);
    yi:=strtoint(y);
    mi:=strtoint(m);
    di:=strtoint(d);
    if (yi mod 4=0) then
    if mi>2 then
    begin
    tt:=tt+1;
    str:=datetostr(tt);
    y:=copy(str,1,4);
    m:=copy(str,6,2);
    d:=copy(str,9,2);
    yi:=strtoint(y);
    mi:=strtoint(m);
    di:=strtoint(d);
    end;
    if ((mi<3) or ((mi=3) and (di<21))) then
    begin
    yi:=yi-622;
    end
    else
    begin
    yi:=yi-621;
    end;
    case mi of
    1:

    if di<21 then
    begin
    mi:=10;
    di:=di+10;
    end
    else
    begin
    mi:=11;
    di:=di+10;
    end;

    2:
    if di<20 then
    begin
    mi:=11;
    di:=di+11;
    end
    else
    begin
    mi:=12;
    di:=di-19;
    end;
    3:
    if di<21 then
    begin
    mi:=12;
    di:=di+9;
    end
    else
    begin
    mi:=1;
    di:=di-20;
    end;
    4:
    if di<21 then
    begin
    mi:=1;
    di:=di+11;
    end
    else
    begin
    mi:=2;
    di:=di-20;
    end;
    5:
    if di<22 then
    begin
    mi:=mi-3;
    di:=di+10;
    end
    else
    begin
    mi:=mi-2;
    di:=di-21;
    end;
    6:
    if di<22 then
    begin
    mi:=mi-3;
    di:=di+10;
    end
    else
    begin
    mi:=mi-2;
    di:=di-21;
    end;
    7:
    if di<23 then
    begin
    mi:=mi-3;
    di:=di+9;
    end
    else
    begin
    mi:=mi-2;
    di:=di-22;
    end;
    8:
    if di<23 then
    begin
    mi:=mi-3;
    di:=di+9;
    end
    else
    begin
    mi:=mi-2;
    di:=di-22;
    end;
    9:
    if di<23 then
    begin
    mi:=mi-3;
    di:=di+9;
    end
    else
    begin
    mi:=mi-2;
    di:=di-22;
    end;
    10:
    if di<23 then
    begin
    mi:=7;
    di:=di+8;
    end
    else
    begin
    mi:=8;
    di:=di-22;
    end;
    11:
    if di<22 then
    begin
    mi:=mi-3;
    di:=di+9;
    end
    else
    begin
    mi:=mi-2;
    di:=di-21;
    end;
    12:
    if di<22 then
    begin
    mi:=mi-3;
    di:=di+9;
    end
    else
    begin
    mi:=mi-2;
    di:=di-21;
    end;
    end;
    y:=inttostr(yi);
    m:=inttostr(mi);

    if (length(m)=1) then
    m:='0'+m;
    d:=inttostr(di);
    if length(d)=1 then
    d:='0'+d;
    shamsi:=y+'/'+m+'/'+d
    end;

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •