delphi4arab منتديات دلفي للعرب
كيف أجعل الــ Edit يقبل الأرقام بالفاصلة في عملية حسابية - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف أجعل الــ Edit يقبل الأرقام بالفاصلة في عملية حسابية (/showthread.php?tid=5785)



كيف أجعل الــ Edit يقبل الأرقام بالفاصلة في عملية حسابية - مبرمج مبتدأ - 13-12-2013

كيف أجعل الــ Edit يقبل الأرقام بالفاصلة علما أن الحقل الخاص به معرف كـ String في قاعدة البيانات استعملت الكود التالي:
كود :
var n1 , n2 , sum : real ; begin n1:=StrTofloat(Edit2.Text); n2:=StrTofloat(Edit8.Text); sum:= n1 + (n1 * n2 / 100) ; Edit3.Text:= floatToStr(sum); ;end
و مع ذلك تظهر رسالة الخطأ هذه، فهل من توضيح و جزاكم الله خيرا
[صورة: attachment.php?attachmentid=4203&stc=1&d=1386951635]


كيف أجعل الــ Edit يقبل الأرقام بالفاصلة في عملية حسابية - boughagha - 13-12-2013

السلام عليكم
في الحدث onkeypress لجميع edit ضع الكود التالي
if key =('.') then
;(','):= key
او
if key =(.) then
;(,):= key
جرب هدا الكود واطيعنا ردا


كيف أجعل الــ Edit يقبل الأرقام بالفاصلة في عملية حسابية - مبرمج مبتدأ - 13-12-2013

الحل كان في
كود :
if key =('.') then key := (',');
جزاك الله خيرا أخي، و لكن مازالت هناك مشكلة أخرى و هي لما أمسح الـ Edit

[صورة: attachment.php?attachmentid=4206&stc=1&d=1386964716]
ما هو تفسير المشكلة السابقة لأتفادها مستقبلا ؟
RolleyesRolleyes


كيف أجعل الــ Edit يقبل الأرقام بالفاصلة في عملية حسابية - مبرمج مبتدأ - 13-12-2013

وجدت مكمن الخطأ و هو اعتبار الفراغ مجهول بالنسبة لــ Float و بعد تعديل الكود أصبح هكذا
كود :
n1 , n2 , sum : real ; begin if edit8.Text <> '' then begin n1:=StrToFloat(Edit2.Text); n2:=StrToFloat(Edit8.Text); sum:= n1 + (n1 * n2 / 100) ; Edit3.Text:= floatToStr(sum); end else exit ;



كيف أجعل الــ Edit يقبل الأرقام بالفاصلة في عملية حسابية - boughagha - 14-12-2013

الحل هو ان لا تكون edit فارغة عند تنفيد الامر
جرب متلا في كل edit تستعملها ضع فيها رقم 0 فلا تخرج لك تلك الرسالة


كيف أجعل الــ Edit يقبل الأرقام بالفاصلة في عملية حسابية - nebchadelphi - 18-12-2013

لكن في حالة تغيير اعدادات الأ رقام سوف تواجهك مشكلة اذا اعددنا الفاصلة "," عوضا عن "."
من الأحسن عندي استخدام مايلي:
كود :
var x:float; begin try x:=strtofoat(edit1.text); except begin showmessage('entrer N correct'); edit1.setfocus; edit1.selectall; end;



كيف أجعل الــ Edit يقبل الأرقام بالفاصلة في عملية حسابية - karamofweb - 18-12-2013

يمكنك ان تقوم بجعل كود الحدث Onchange داخل بلوك TRY FINALLY ..
كود :
Try Begin /*Your code here */ End; Except Textedit1.Text="0"; end;