delphi4arab منتديات دلفي للعرب
حل مشكلة is not a valid floating point value - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : دروس دلفي للمبتدئين (https://delphi4arab.net/forum/forumdisplay.php?fid=13)
+--- الموضوع : حل مشكلة is not a valid floating point value (/showthread.php?tid=5814)



حل مشكلة is not a valid floating point value - مبرمج مبتدأ - 24-12-2013

بسم الله الرحمن الرحيم

السلام عليكم و رحمة الله و بركاته


[صورة: attachment.php?attachmentid=4203&stc=1&d=1386951635]


في الحقيقة عانيت من هذه المشكلة كثيرا في قواعد البيانات ، حيث المشكلة تكمن في أن تغيير الإعدادات الإقليمية لتتناسب مع برنامجك خاصة الفاصلة و طبعا ان كنت تبرمج برنامج تجاري فهذا الأمر مرهق و متعب ، لذا و يعد تقليب النت Big Grin وجدت هذا الكود الذي يقوم بتغيير الفاصلة حيث أنك تجدها في بعض الأحيان " , " و في بعض الأحيان "." و من خلال الكود تقوم أنت بجعلها كما تحب فإما " , " و إما "." كما يفضلها الكثيرون Big GrinBig Grin

كود :
procedure TForm1.FormCreate(Sender: TObject); var Locale : LongInt; begin Locale := GetUserDefaultLCID(); SetLocaleInfo(Locale, LOCALE_SThousand, ''''); SetLocaleInfo(Locale, LOCALE_SDecimal, '.'); SendMessage(HWND_BROADCAST,WM_WININICHANGE,0,0); end; end.
حيث أننا في الـ OnCreate الخاصة بالنافذة الرئيسية للبرنامج نقوم بجعل الفاصلة الإفتراضية في الويندوز "." .


و لا تنسونا من صالح دعائكم.



حل مشكلة is not a valid floating point value - sami2008 - 27-12-2013

السلام عليكم وبعد
فعلا هذا الكود مهم وسف يكون حلا مثاليا لمختلف البرامج لاسيما منها التجارية بارك الله فيك وأنت مشكور شكرا جزيلا


حل مشكلة is not a valid floating point value - مبرمج مبتدأ - 28-12-2013

و عليكم السلام و رحمة الله و بركاته حياك الله حبيبنا، و بورك فيك أنت أيضا


حل مشكلة is not a valid floating point value - khiro.alg - 29-12-2013

السلام عليكم
إقتباس :نقوم بجعل الفاصلة الإفتراضية في الويندوز "." .
لم أجرب الكود , لكن إن كان هذا يؤثر على عمل الفاصلة على النظام ككل فأنا أعتقد بأنه ليس حلا مثلاليا
يمكن التحقق من المفتاح المدخل في حدث OnKeyPress إن وجد النفتاح المدخل هو النقطة فيجعل المفتاح مساويا لـ #0 ويستبدله بـ ascii الفاصلة ,
كود :
procedure TForm3.Edit1KeyPress(Sender: TObject; var Key: Char); begin if key=#46 then key:=#0;key:=#44; end;



حل مشكلة is not a valid floating point value - makhlouf - 30-12-2013

و عليكم السلام و رحمة الله تعالى و بركاته
شكرا جزيلا أخي وبارك الله فيك و جعله في ميزان حسناتك
يمكن أن نختصر الكود الذي وضعته في الكود التالي:
If DecimalSeparator = ',' Then DecimalSeparator := '.' ;
بالتوفيق


حل مشكلة is not a valid floating point value - h-farid - 30-12-2013

مبرمج مبتدأ كتب :حيث أننا في الـ OnCreate الخاصة بالنافذة الرئيسية للبرنامج نقوم بجعل الفاصلة الإفتراضية في الويندوز "." .

و عليكم السلام و رحمة الله و بركاته
و لماذا التغيير في خصائص النظام إذا كنت تريد من برنامجك أن يتأقلم على كل نظام يشتغل عليه ؟
أنظر إلى هذه الفكرة علها تفيدك :
كود :
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (key=#46) or (key=#44) then key:= DecimalSeparator; end;

و الله الموفق لما فيه الخير


حل مشكلة is not a valid floating point value - h-farid - 30-12-2013

يمكنك أيضا أن تعالج الكود السابق على حسب ذوقك. مثلا أن تتأكد أنه لن يتم إدخال الفاصلة إلا مرة واحدة في الـ Edit و كذلك تجبر الـ Edit على تقبل الأرقام فقط دون الحروف. كل ذلك باستخدام الفكرة التي أريتكها في قطعة الكود السابقة.


حل مشكلة is not a valid floating point value - مبرمج مبتدأ - 30-12-2013

بوركتم أحبابي على إثراء هذا الموضوع، و جعل الله جهدكم في ميزان حسناتكم



حل مشكلة is not a valid floating point value - h-farid - 30-12-2013

وفيك بارك الله. Rolleyes