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

نام تاپیک: maskedit برای تاریخ شمسی

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #9

    Thumbs up نقل قول: maskedit برای تاریخ شمسی

    نقل قول نوشته شده توسط SReza1 مشاهده تاپیک
    کسی maskedit برای تاریخ شمسی داره؟
    سلام از این تابع که خودم نوشتم میتونید استفاده کنید . تابع InputDateShamsi در ایونت onkeypress فراخوانی کنید به این شکل:


    procedure TForm1.maskedit1KeyPress(Sender: TObject; var Key: Char);
    begin
    key:=InputDateShamsi(key,maskedit1.Text,maskedit1. SelStart);
    end;

    در قسمت properties کامپوننت maskedit1 خاصیت EDITMask اونو برابر :
    EDITMask: ####/##/##;0;
    قرار بدین.

    //**********

    function InputDateShamsi(Key:Char;datem:string;makan:intege r):Char;
    // EDITMask: ####/##/##;0;
    // onkeypress
    var
    mah1,mah2,rouz1,rouz2,mah,k:integer;
    begin
    if (key in['0'..'9']) then
    begin
    datem:=datem+key; k:=StrToInt(key);
    end else datem:=datem;
    if StrLen(pchar(datem)) >4 then mah1:=StrToInt(TrimRight(Copy(datem, 5, 1)));
    if StrLen(pchar(datem)) > 5 then
    begin
    mah2:=StrToInt(TrimRight(Copy(datem, 6, 1)));
    mah:=StrToInt(TrimRight(Copy(datem, 5, 2)));
    end;
    if StrLen(pchar(datem)) > 6 then rouz1:=StrToInt(TrimRight(Copy(datem, 7, 1)));
    if StrLen(pchar(datem)) > 7 then rouz2:=StrToInt(TrimRight(Copy(datem, 8, 1)));
    if (makan=0)and(k<>1) then key:=#0;
    if (makan=1)and(k<3) then key:=#0;
    if ((makan=5)and(k=1)and(mah2>2))or((makan=5)and(k>1) ) then key:=#0;
    if ((makan=6)and(k=0)and(mah1=0)) then key:=#0;
    if ((makan=6)and(k>2)and(mah1=1)) then key:=#0;
    if (makan=8) then
    begin
    if k>3 then key:=#0;
    if ((k=3)and(rouz2>1)) then key:=#0;
    if ((k=3)and(rouz2>0)and (mah>6)) then key:=#0;
    end;
    if (makan=9) then
    begin
    if ((k>1)and(rouz1=3)) then key:=#0;
    if ((k>0)and(rouz1=3)and (mah>6)) then key:=#0;
    end;
    Result := key;
    end;

    آخرین ویرایش به وسیله info_1359 : دوشنبه 03 آبان 1395 در 10:41 صبح

تاپیک های مشابه

  1. خواندن مقدار maskedit
    نوشته شده توسط hossein.e در بخش VB.NET
    پاسخ: 4
    آخرین پست: چهارشنبه 23 شهریور 1384, 13:29 عصر
  2. MaskEdit برای مبالغ با امکانات جالب
    نوشته شده توسط Mahdi_S_T در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 3
    آخرین پست: سه شنبه 08 شهریور 1384, 03:17 صبح
  3. اگه تویه Maskedit چیزی وارد نکنیم و کلید Tab رو بزنیم پیغام خطا مدهد چرا؟
    نوشته شده توسط hadi55 در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: یک شنبه 12 تیر 1384, 07:51 صبح
  4. کسی میداند چگونه میتوان پیغام maskedit را کنترل کرد
    نوشته شده توسط afshar در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 2
    آخرین پست: دوشنبه 06 تیر 1384, 07:32 صبح
  5. MaskEdit
    نوشته شده توسط linux در بخش VB.NET
    پاسخ: 0
    آخرین پست: پنج شنبه 06 شهریور 1382, 19:10 عصر

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

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