PDA

View Full Version : دو رقمی کردن عدد



Delphi XE2
جمعه 31 اردیبهشت 1395, 02:46 صبح
من یه RzSpinEdit دارم
که لازمه عدد داخلش دورقمی باشه یعنی به جای 1 بشه 01
مشکل اینه توی این RzSpinEdit که نمیشه این شکلی نوشت
حالا کدی هست که بشه مثلا اگه 4 بود تبدیل بشه به 04
یا خود این کامپوننت همچشن گزینه ای داره یا نه

hadisalahi2
شنبه 01 خرداد 1395, 09:53 صبح
توی رویداد onExit چک کن اگه عدد تک رقمی بود یک صفر بنداز پشتش

Mahmood_M
دوشنبه 10 خرداد 1395, 21:09 عصر
در خاصیت OnChange به صورت زیر عدد رو تغییر بدید :

if Length(RzSpinEdit1.Text) = 1 then
RzSpinEdit1.Text := Format('%.*d', [2, StrToInt(RzSpinEdit1.Text)]);

توی رویداد onExit چک کن اگه عدد تک رقمی بود یک صفر بنداز پشتش
وقتی توی رویداد OnExit متن درونش رو تغییر میدید یک بار دیگه OnChange اتفاق می افته و مقدار داخلش چک میشه و دوباره به حالت تک رقمی برمی گرده
وقتی توی OnChange می نویسیم، دواقع بعد از بررسی مقدار ورودی تغییرش دادیم و دوباره صحت مقدار ورودی بررسی نمیشه و به حالت تک رقمی برنمی گرده

developing
جمعه 28 خرداد 1395, 11:11 صبح
باسلام

با تایید روش آقا محمود می‌تونید در رویداد OnChange از روش زیر هم استفاده کنید:

RzSpinEdit1.Text := Copy('00'+RzSpinEdit1.Text, Length(RzSpinEdit1.Text)+1, 2);

یا

RzSpinEdit1.Text := RightStr('00'+RzSpinEdit1.Text, 2);

یک سوال فنی: آیا سرعت این دو روش بیشتر از تابع Format است؟