تبلیغات
دانشجویان نرم افزار کل ایران - جدا کردن ارقام به صورت 3 رقم 3 رقم در دلفی
 
درباره وبلاگ




مدیر وبلاگ : بهرام محمدپور
نویسندگان
آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
دانشجویان نرم افزار کل ایران
صفحه نخست             تماس با مدیر           پست الکترونیک               RSS                  ATOM
یکشنبه بیست و سوم خرداد 1389 :: نویسنده : بهرام محمدپور

.

{در قسمت}

var

loc1,loc2:word;

 Masking:boolean=False;

 Adding_Digit:boolean=True;

implementation

{$R *.dfm}

{ کد زیر رابنویسید Edit1Change  و در رویداد Edit1, eventsدر قسمت}

procedure TForm1.Edit1Change(Sender: TObject);

var

  i,j,n,m: Integer;

  a:array of string;

  My_Final_Text:string;

begin

  if Masking then

     Masking:=false

  else

   begin

     n:=0;

     m:=0;

     My_Final_Text:='';

     for i := 1 to length(edit1.text) do

      if Edit1.Text[i] in ['0'..'9'] then

         n:=n+1

      else

         m:=m+1;

     if (n>3) or ((n<=3) and (Length(edit1.Text)>3))then

      begin

        loc1:=edit1.SelStart;

        setlength(a,n);

        j:=0;

        for i := 1 to length(edit1.text) do

         if Edit1.Text[i] in ['0'..'9'] then

          begin

            a[j]:=Edit1.Text[i];

            j:=j+1;

          end;

        j:=0;

        for i := n downto  1 do

         begin

            if ((n-i) mod 3=0) and ((n-i)<>0) then

             begin

               My_Final_Text:=','+My_Final_Text;

               j:=j+1;

             end;

            My_Final_Text:=a[i-1]+My_Final_Text;

         end;

        if edit1.Text<>My_Final_Text then

         begin

           Masking:=True;

           edit1.Text:=My_Final_Text;

         end;

        if Adding_Digit then

           edit1.SelStart:=loc1+j-m

        else

           Edit1.SelStart:=loc2+j-m

      end;

   end;

end;

{ کد زیر رابنویسید Edit1KeyDown  و در رویداد Edit1, eventsدر قسمت}

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

if (key=Vk_Delete) and (edit1.SelLength=0) and ((edit1.SelStart+1)<=length(edit1.text)) and (edit1.Text[edit1.SelStart+1]=',')then

   begin

     loc2:=edit1.SelStart+1;

     edit1.SelStart:=edit1.SelStart+1;

     Adding_Digit:=False;

   end

  else

   if (key=Vk_Back) and (edit1.SelLength=0) and ((edit1.SelStart-1)>=1) and (edit1.Text[edit1.SelStart]=',') then

    begin

      loc2:=edit1.SelStart-2;

      edit1.SelStart:=edit1.SelStart-1;

      Adding_Digit:=False;

    end

  else

    Adding_Digit:=True;

end;

{ کد زیر رابنویسید Edit1KeyDown و در رویداد Edit1, eventsدر قسمت}

{برای جلوگیری از ورود کاراکتر های حروفی}

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if not( key in ['0'..'9',#8,#46]) then

     key:=#0;

end;

end.

موفق وسربلند باشید . با نظرات خود ما را یاری کنید.

*******************************************************************





نوع مطلب : سورس دلفی، 
برچسب ها : ارقام در دلفی، جدا کردن ارقام در دلفی،
لینک های مرتبط :


سه شنبه سیزدهم بهمن 1394 11:38 ق.ظ
خوب بود
پنجشنبه بیست و یکم اسفند 1393 01:22 ق.ظ
باسلام
بسیارجالب بود.تشکرویژه دارم.
چهارشنبه ششم دی 1391 04:42 ب.ظ
تشکر از لطفتون خودم خیلی سعی کردم اینو بنویسم اما نتونستم
چهارشنبه بیست و چهارم فروردین 1390 08:12 ق.ظ
لطفاً جدا کردن سه رقم اعداد در DBGrid دلفی را توضیح دهید
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر