ورود

View Full Version : چگونه فقط یک نقطه توی ادیت بزارم



ghafar.t.d
جمعه 20 خرداد 1384, 09:21 صبح
با سلام
در کد نویسی برای ماشین حساب چطوری می تونم برای ممیز (.) کد بنویسم که فقط یک نقطه توی ادیت بزاره
من هر جور می نویسم برای یک عدد هر چندتا بخوای نقطه میشه گذاشت.. :wink:
و چطوری می شه کاری کرد که از موقع اجرای برنامه توی ادیت صفر نشون داده بشه و هیچ جوری نشه پاکش کرد؟

Delphi Skyline
جمعه 20 خرداد 1384, 11:44 صبح
و چطوری می شه کاری کرد که از موقع اجرای برنامه توی ادیت صفر نشون داده بشه و هیچ جوری نشه پاکش کرد؟
Readonly

در کد نویسی برای ماشین حساب چطوری می تونم برای ممیز (.) کد بنویسم که فقط یک نقطه توی ادیت بزاره
من هر جور می نویسم برای یک عدد هر چندتا بخوای نقطه میشه گذاشت..
متوجه نشدم

m-khorsandi
جمعه 20 خرداد 1384, 11:45 صبح
درود

در مورد ممیز باید بگم که با هر بار زدن کلید شما باید ممیز رو داخل Edit جستجو کنید که وجود داره یا خیر
اگه وجود داشت نداشت که ....

جستجو رو میتونید با استفاده از تابع Pos('.', Edit.text) انجام بدید به این صورت:




procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = '.' then
if pos('.', Edit1.Text) > 0 then
key := #0;
end;

ghafar.t.d
شنبه 21 خرداد 1384, 12:54 عصر
با سلام
ممنون از راهنمایی تون
در مورد سوال اول :
می خوام ادیت در موقع اجرای برنامه توش صفر نشون داده بشه (البته توی oncreate فرم نوشتم ولی ارور میداد) و مثلا وقتی ادیت clear میشه به جای اینکه خالی بشه بازم یه صفر نشون بده. و چطوری میشه کاری کرد که توی ادیت curser موس نباشه؟
در مورد سوال دوم هم این کد مال onkeypress ادیت هست اگه میشه یه کد هم برای onclick دکمه ممیز بگید .
:flower: :flower:

m-khorsandi
شنبه 21 خرداد 1384, 13:25 عصر
این مثال خوبیه:

ghafar.t.d
یک شنبه 22 خرداد 1384, 12:18 عصر
با سلام
دمت گرم خیلی عالی بود :تشویق: :موفق: دستت درد نکنه :flower:
یه کدی برای ضرب یا جمع کردن دو عدد به طوری که هر بار کلید مساوی زده میشه عدد حاصل با عدد دومی دوباره جمع یا ضرب بشه (مثل ماشین حساب ویندوز)
کدی که من نوشتم اینه ولی هر با عدد حاصل ضرب را در خودش ضرب می کنه نه در عدد دومی :
result:=result*strtofloat (edit.text); h

V60
یک شنبه 22 خرداد 1384, 12:30 عصر
مهندس
اینجوری که تونوشتی نباید هم جواب بده
خودت یک نگاهی بنداز
result همان مقداری است که در edit هست پس باید شما مقدار result را در مقداری که دفعه قبل نوشته ای ضرب و یا جمع کنی , یعنی باید همیشه آخرین مقداری که خودت وارد می کنی ( دقت کن خودت وارد می کنی) را در یک متغییر ذخیره کنی تا داشته باشیش. :موفق:

ghafar.t.d
دوشنبه 23 خرداد 1384, 08:22 صبح
همین کاری که شما میگی هم انجام داده بودم . توی کد مساوی آخرین عدد را توی یه متغیر گذاشتم و با result جمع کردم ولی دفعه بعد که مساوی زده بشه دوباره متغیره عوض میشه :cry: