PDA

View Full Version : مبتدی: SpinEdit



mtfa65
شنبه 25 آبان 1392, 20:03 عصر
سلام.
من در دلفی از SpinEdit استفاده می کنم.
من می خوام وقتی اعداد رو در SpinEdit کم و زیاد می کنیم اعداد تک رقمی به صورت دو رقمی باشه یعنی اولش صفر به اضافه عدد باشه مثلا عدد 8 رو به صورت 08 نشون بده. بایستی چیکار کنم؟
با تشکر

یوسف زالی
یک شنبه 26 آبان 1392, 11:47 صبح
سلام.
راه ساده ندارید:


procedure TSpinEdit.SetValue (NewValue: LongInt);
begin
Text := IntToStr (CheckValue (NewValue));
end;

برای این کار باید کامپوننتتون رو اصلاح کنید.

mtfa65
یک شنبه 26 آبان 1392, 11:58 صبح
سلام.
راه ساده ندارید:


procedure TSpinEdit.SetValue (NewValue: LongInt);
begin
Text := IntToStr (CheckValue (NewValue));
end;

برای این کار باید کامپوننتتون رو اصلاح کنید.

سلام
حالا با این کدی که شما نوشتید مورد برطرف میشه؟
متاسفانه نمیتونم کامپوننت رو عوض کنم. چون در فرمم کامپوننت ها خیلی زیادی است حقیقتا راستشو بخوایی بخوام چیزی رو عوض کنم همه چیز به هم می خوره و درستش کردن دیگه خیلی وقت گیره.
با تشکر

یوسف زالی
یک شنبه 26 آبان 1392, 12:29 عصر
این کد مستند سورس ارائه شده اسپینه، و نشون می ده که چرا کاری که می خواهید انجام بدید راحت نیست. همین.
اگر تعداد کامپوننت هایی که استفاده کردید خیلی زیاد و در فرم های گوناگون پراکنده هست، بهترین کار اینه که یک کامپوننت شبیه کامپوننت اصلی بنویسید و :
1- یا از روش هک کامپوننت استفاده کنید
2- یا از یک برنامه Replacer استفاده کنید

به این ترتیب اگر متدهای مشابه در نظر گرفته باشید نیاز نیست سورس رو دست بزنید.

firststep
یک شنبه 26 آبان 1392, 12:34 عصر
سلام خوب با کلاس helper تبدیل کنین

یوسف زالی
یک شنبه 26 آبان 1392, 13:21 عصر
سلام خوب با کلاس helper تبدیل کنین

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

mtfa65
یک شنبه 26 آبان 1392, 17:34 عصر
برای این روش هم نیازه تمام یونیت ها تبدیل بشه و کار بیشتری نسبت به روش پیشنهادی من می بره. یک عالمه کپی پیست که همه جا تکرار می شه.


بسیار ممنون از اینکه پاسخ می دهید.
خب روشی که شما می فرمایید برای همه کامپوننت ها اجرا می شه. اما مورد داینجاست که در برنامه من بعضی جاها نیاز است که در اسپم ادیت من اعداد یک رقمی باشند یعنی از 1 تا 9 و اگر روش شما رو انجام بدم در این صورت اسپمهایی که نیاز بود تک رقمی باشند اینها هم دورقمی خواهند شد. خب در این صورت بیا و درستش کن.
ممنون

یوسف زالی
یک شنبه 26 آبان 1392, 18:59 عصر
بسیار ممنون از اینکه پاسخ می دهید.

اگر دوست داشتید از کسی تشکر کنید از دکمه استفاده کنید.

شما هر جا که لازمه اصلاحات رو انجام می دید. حتی می تونید در کامپوننت مشتق شده گزینه ای برای این تنظیمات داشته باشید که صفر بگذاره یا نه.