آخرين پست هاي ارسالي انجمن ايران دلفي

تماشای رایگان فیلم ایرانی ، خارجی و کودک آکادمی دلفی
نمایش نتایج: از 1 به 5 از 5

موضوع: محدود کردن تکست باکس به اعداد

  1. #1
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1

    محدود کردن تکست باکس به اعداد

    برای محدود کردن یک تکست باکس به اعداد از کد زیر استفاده می شود ، ضمنا این کد برای تمامی*آبجکت های*همسان هم کاربرد دارد ...

    کد:

    کد:
    SetWindowLong(Edit1.Handle,GWL_STYLE,GetWindowLong(Edit1.Handle,GWL_STYLE)or ES_NUMBER);

    کد بالا بایستی در رویداد FormCreate* درج گردد.
    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  2. 3 کاربر مقابل از admin عزیز به خاطر این پست مفید تشکر کرده اند .

    Amirkazem (12 / June / 2015),b_e_shamlu (11 / August / 2016),mahan7878 (01 / March / 2021)

  3. #2
    کاربر سایت sms582002 آواتار ها
    تاریخ عضویت
    September 2013
    سن
    11
    نوشته ها
    1
    تشکر ها
    0
    تشکر شده 0 بار در 0 ارسال.
    مرسی مهندس. برای اینکه اعداد را 3 رقم 3 رقم با ویرگول جدا بشن راه حلی وجود داره؟

  4. #3
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1
    سلام.بله
    ابتدا تابع حذف کاما رو* به پروژه اضافه کنید.
    روش استفاده :
    ابتدا تابع زیر را در قسمت imp پروژه قرار دهید :

    کد:

    کد:
     function delete_kama( s : String):string;
    
     var p:Integer;
     begin
     for p:=1 to length(s) do
     if s[p]="," then
     delete(s,p,1);
     delete_kama:=s;
     end;


    سپس به صورت زیر مثلا در یک DBEdit از آن استفاده می کنیم و همچنین 3 عدد 3 عدد ، اعداد را جداسازی می کنیم:
    کد:

    کد:
    procedure TMain.DBEdit1Change(Sender: TObject);
    var i:integer;mystr,s:string;
    begin
    s:=",";
    if DBEdit1.Text<>&quot;&quot; then
    begin
    mystr:=&quot;&quot;;
    mystr:=delete_kama(DBEdit1.Text);
    i:=length(mystr);
    while i>3 do
    begin
    insert(s,mystr,i-2);
    i:=i-3;
    end;
    mystr:=mystr;
    DBEdit1.Text:=mystr;
    DBEdit1.SelStart:=length(mystr);
    end;
    
    end;


    موفق و موید باشید
    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  5. 2 کاربر مقابل از admin عزیز به خاطر این پست مفید تشکر کرده اند .

    Amirkazem (12 / June / 2015),b_e_shamlu (11 / August / 2016)

  6. #4
    مدیر انجمن b_itman_b آواتار ها
    تاریخ عضویت
    June 2013
    سن
    11
    نوشته ها
    89
    تشکر ها
    0
    تشکر شده 10 بار در 9 ارسال.
    با تشکر از مدیرجون با اجازه ایشون یکن توضیح بدم.
    تابع اولی (delete_kama) رو که باید در محل implementation یا همون imp بنویسیم برای اینه که مثلا وقتی عدد 1234 رو نویشتیم و تبدیل شد به 1،234 ، حالا وقتی میخوایم عدد 567 رو هم بهش اضافه کنیم ، بیاد و اول کامای اولی رو حذف کنه تا طول واقعی رشته بدست بیاد که بتونه سه رقم سه رقم جداش کنه.برای حالت 1،234،567 هم همینطوره و باید تمامی کاما ها حذف بشه و عملیات جداسازی از اول شروع بشه انگار که یک دفعه عدد 1234567 رو بهش دادیم نه به صورت کاراکتر به کاراکتر.
    در مورد دستوره* delete(s,p,1) هم که میاد و از رشته s له اندازه 1 واحد* و از کاراکتر pام پاک میکنه.در مورد دستوره
    insert(s,mystr,i-2)هم باید گفت که کاراکتر یا رشته S رو در رشته MYSTR در محل کاراکتر i-2 اضافه میکنه و وقتی این کار رو کرد مکان نما به همون محل انتقال می یابد و با دستور
    DBEdit1.SelStart:=length(mystr) میاد و مکان نما رو به محل کاراکتر length(mystr) میبره که در اینجا میشه طول رشته یا همون آخره رشته که کاراکتر های بعدی طبق روال عادی به آخر رشته اضافه شوند.فقط حکم دستوره mystr:=mystr رو نمی فهمم.با تشکر و عذر خواهی از اساتید

    همه چیز قابل دستیابی است اگر تو بخوای

  7. کاربر مقابل از b_itman_b عزیز به خاطر این پست مفید تشکر کرده است:

    Amirkazem (12 / June / 2015)

  8. #5
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1

    Re: محدود کردن تکست باکس به اعداد

    البته روش زیر هم هست که روشی استاندارد و استفاده از توابع خود دلفی میباشد.

    کد:
    FormatCurr('#0,',StrToCurr(edit1.text));
    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  9. کاربر مقابل از admin عزیز به خاطر این پست مفید تشکر کرده است:

    b_e_shamlu (11 / August / 2016)

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

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