![]() |
|
اين الخطأ في هذا الكود - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : اين الخطأ في هذا الكود (/showthread.php?tid=9242) |
اين الخطأ في هذا الكود - medreg - 17-03-2018 السلام عليكم ورحمة الله تعالى وبركاته وضعت كود لكن لايعمل هل هناط خطأ لم انتبه اليه مع العلم انني حاولت عدة مرات لكن للاسف لا يعمل كود : procedure TForm1.Button1Click(Sender: TObject);
Var tPnt,Tx01,Tx02,Tx03,Tx04,Tx05,Tx06:real;
begin
With DM do
begin
Table1.Open;
Tx01:=Table1Tx_01.Value;
Tx02:=Table1Tx_02.Value;
Tx03:=Table1Tx_03.Value;
Tx04:=Table1Tx_04.Value;
Tx05:=Table1Tx_05.Value;
Tx06:=Table1Tx_06.Value;
Table2.first;
while Not Table2.eof do
begin
tPnt:=Table2.fieldValues['Pnt_Prm'];
Table2.Edit;
If (tPnt<=36.10)Or(tPnt>=40.00) then Table2.FieldValues['TX_Prm']:=Tx01;
If (tPnt<=32.10)Or(tPnt>=36.00) then Table2.FieldValues['TX_Prm']:=Tx02;
If (tPnt<=28.10)Or(tPnt>=32.00) then Table2.FieldValues['TX_Prm']:=Tx03;
If (tPnt<=24.10)Or(tPnt>=28.00) then Table2.FieldValues['TX_Prm']:=Tx04;
If (tPnt<=20.10)Or(tPnt>=24.00) then Table2.FieldValues['TX_Prm']:=Tx05;
If (tPnt=0.00)Or(tPnt>=20.00) then Table2.FieldValues['TX_Prm']:=Tx06;
Table2.Next;
end;
end;
end;
كما انني استعملت هذا الكود الثاني لكن لم يقبل الفاصلة
case tPnt of
36.10..40.00 : table2.fieldvalues['TX_Prm']:=Tx01;
32.10..36.00 : table2.fieldvalues['TX_Prm']:=Tx02;end; RE: اين الخطأ في هذا الكود - S.FATEH - 17-03-2018 السلام عليكم توخ الحذر عند المقارنة بين الأعداد ذات الفاصلة الذي تراه ليس هو الموجود في الذاكرة قد ترى 30.00 لكن قد يكون في الحقيقة 30.00000001 لذلك حاول المقارنة باستخدام الدوال التي يوفرها دلفي مثل CompareValue http://www.delphibasics.co.uk/RTL.asp?Name=CompareValue RE: اين الخطأ في هذا الكود - medreg - 17-03-2018 (17-03-2018, 04:23 PM)S.FATEH كتب : السلام عليكم بارك الله فيك اخي على هذا التنبيه إلا انني لم افهم شيئ لو تكرمت وقمت بالتعديل على الكود بارك الله فيك RE: اين الخطأ في هذا الكود - S.FATEH - 17-03-2018 السلام عليكم مثال لسطر المقارنات الاول PHP كود : uses System.Math, System.Types; PHP كود : case CompareValue(tPnt, 36.10, epsilon) ofكرر العملية لجميع الاسطر يبقى فقط قد يكون الخطأ شيئ اخر على كل حال جرب RE: اين الخطأ في هذا الكود - medreg - 17-03-2018 بارك الله فيكم اخي لكن الكود ياخذ قيمة واحدة فقط والمفروض انه يأخذ القيمة حسب الشرط اذا كان tpnt يساوي القيمة ما بين 15.10 و 20.00 إذًا table2.tx_prm.value:= tx01 اذا كان tpnt يساوي القيمة ما بين 12.10 و 15.00 إذًا table2.tx_prm.value:= tx02 اذا كان tpnt يساوي القيمة ما بين 08.10 و 12.00 إذًا table2.tx_prm.value:= tx03 كما هو مبين في الصورة [attachment=3709] |