اينكه چگونه مي توان يك عدد را (از هر كجا) موقع نمايش دادن در يك Label بصورت قالبندي شده نمايش داد؟ مثلا حاصلجمع تعدادي عدد را بصورت قالبندي شده بر اساس واحد پول نشان داد؟
عرض كنم كه براي وارد كردن اطلاعات مشكل را مي توان با شيئ MaskEdit حل كرد ولي براي نمايش دادن شئي وجود ندارد اما در عوض دلفي توابع بسيار قدرتمندي ارائه كرده كه مي توان از آنها استفاده كرد. همه شما با تابعي به نام IntToStr() آشنايي داريد و توابع FlotToStr(), CurrToStr() و... خوب تمام اين توابع نمونه ديگر نيز با نام IntToStrF(),CurrToStrF(),FlotToStrF() و... دارند كه در اينجا حرف F گرفته شده از عبارت Format مي باشد و مي تواند نتيجه بدست آمده را بصورت قالبندي شده برگرداند.

من در زير يك مثال آورده ام كه مي توانيد آنرا مطالعه كنيد 

در اين مثال يك Edit1 , Button1 , Label1 ,Label2 روي فرمي قرار داده شده اند و سپس براي رويداد OnClick شئي Button1 كد زير نوشته شده است:

procedure TForm1.Button1Click(Sender: TObject);

Var N : Currency;

begin

  N := StrToCurr(Edit1.Text);

  Label2.Caption := CurrToStrF(N,ffCurrency,0);

end;

همانطور كه مشاهده مي كنيد ابتدا مقادر موجود در Edit1 را پس از تبديل درون متغير N قرار داديم، سپس با استفاده از تابع CurrToStrF() آنرا تبديل به واحد پول كرديم. آخرين پارامتر تابع كه در اينجا عدد صفر است بيانگر تعداد ارقام اعشاري است كه مجاز به نمايش آنها مي باشد (در كشور ما براي واحد پول صفر است).

نكته : متغير N مي تواند Integer , LongInteger , Word , LongWord , … باشد.

اميدوارم كه اين مطلب به درد شما خورده باشد.