delphi4arab منتديات دلفي للعرب
خطأ في الكود ، لم أجد مكان الخطأ !!! - نسخة قابلة للطباعة

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



خطأ في الكود ، لم أجد مكان الخطأ !!! - hamadabdd - 27-11-2015

[size=medium]السلام عليكم 
من فضلكم اين الخطأ في هذا الكود
[/size]

كود :
if dbedit1.Text='' then 'Raise Exception.Create('Erreur Champ etudient est Vide); if data.etudient.State in[dsedit,dsinsert] then Data.etudient.Post; close;
[size=medium]
هذا الكود اضعه في زر "إضافة" الغرض من هذا الكود انه يمنع مستعمل البرنامج ان يحفظ تسجيل فارغ فيخبره انه يجب عليه ان يملأ الخانات اللازمة

واخبرني ايضا اين الخطأ في هذا الكود الثاني
دائما في زر "إضافة"
[/size]

كود :
try data.etudient.Edit; data.etudient.Post; Except on EDBEditError do Begin MessageBox(0,'svp le code d"etudient existe deja ou le droit d''accés est réfusé','enregistrer',mb_ok); data.etudient.Cancel; end; on EConvertError do MessageBox(0,'svp virifier l''erreur de saisie','Problème de saisie',mb_ok); end;
[size=medium]الغرض من هذا الكود يمنع مستخدم البرنامج ان يخطئ في تسجيل تلميذين بنفس الرقم
ارجو انني وضحت المشكلة
ارجو الرد فانا احتاجه
شكرا
[/size]



RE: خطأ في الكود ، لم أجد مكان الخطأ !!! - أبو معاذ - 28-11-2015

وعليكم السلام ،
أهلا وسهلا بك بيننا .
لم تخبرنا برسالة الخطأ التي تظهر.....


RE: خطأ في الكود ، لم أجد مكان الخطأ !!! - hamadabdd - 30-11-2015

اليك رسالة الخطأ أخي في ملفات مرفقة
حاولت ادخال نفس رقم التسجيل حيث انني وضعت نفسي مكان المستخدم وأخطأت واستخدمت نفس الرقم
ارجو انني وضحت مشكلتي


RE: خطأ في الكود ، لم أجد مكان الخطأ !!! - bara19 - 13-12-2015

السلام عليكم  اخي اليك الحل انشاء الله


كود :
if (edit1.Text='') then begin showmessage('Saisie le nom e'); end; table1.edit; table1.Post
t


RE: خطأ في الكود ، لم أجد مكان الخطأ !!! - أبو معاذ - 13-12-2015

السلام عليكم ،
أخي الحبيب دعنا نوضح الحل و نبسطه أكثر Cool 
1- عندما يدخل المستعمل رقم  التسجيل (أو الرقم الذي تود إدخاله)
   1-1  تتحقق من أن قيمة  Edit فارغة ، إذا كانت كذلك تخبر المستعمل أنه يجب عليه إدخال  رقم التسجيل.
   2-1 إذا كانت قيمة Edit   ليست فارغة ننتقل إلى النقطة 2
2- نبحث في قائمة التسجيلات (رقم الطالب في حالتك ) في مصفوفة الطلاب :
1-2  إذا تم العثور على الرقم في مصفوفة الطلاب هذا يعني أن الرقم موجود من قبل و عليه إدخال رقم آخر.
2-2  إذا لم يتم إيجاد رقم الطالب ، فهذا يعني أن الرقم جديد ، فيمكننا حينئذ إتمام تجسيل الطالب .
واضح أخي الحبيب . Blush 
نأتي الآن إلى التطبيق ، و أنصحك باستعمال شيئ من ال Sql.

كود :
if Edit1.Text = ''  then // edit1  فارغ begin     showmessage("لابد من إخال رقم الطالب ") end else //  edit1  ليس فارغ begin     //  نتحقق من عدم وجود نفس الرقم     // نبحث في منظومة الطلاب    Query1.close ;    Query1.Paramettr('Code1').asstring := Edit1.text;    Query1.open;    if Query1.isEmpty then // بمعنى أنه لا يوجد الرقم    begin       //  نقوم بعملية إدخال الطالب الجديد           end    else //  بمعنى أن الرقم المدخل يوجد مسبقا    begin      // نقوم بإعلام المستعمل    end end

البقية عليك .

     باستعمال الموكن  Query  
     في خاصية Sql  ل query نكتب ما يلي

كود :
     Select CodeEdtudiant      From Edudiant      Where  CodeEdtudiant = :Code1



RE: خطأ في الكود ، لم أجد مكان الخطأ !!! - awatef98 - 17-12-2015

(13-12-2015, 06:39 PM)Unprogramme كتب : السلام عليكم ،
أخي الحبيب دعنا نوضح الحل و نبسطه أكثر Cool 
1- عندما يدخل المستعمل رقم  التسجيل (أو الرقم الذي تود إدخاله)
   1-1  تتحقق من أن قيمة  Edit فارغة ، إذا كانت كذلك تخبر المستعمل أنه يجب عليه إدخال  رقم التسجيل.
   2-1 إذا كانت قيمة Edit   ليست فارغة ننتقل إلى النقطة 2
2- نبحث في قائمة التسجيلات (رقم الطالب في حالتك ) في مصفوفة الطلاب :
1-2  إذا تم العثور على الرقم في مصفوفة الطلاب هذا يعني أن الرقم موجود من قبل و عليه إدخال رقم آخر.
2-2  إذا لم يتم إيجاد رقم الطالب ، فهذا يعني أن الرقم جديد ، فيمكننا حينئذ إتمام تجسيل الطالب .
واضح أخي الحبيب . Blush 
نأتي الآن إلى التطبيق ، و أنصحك باستعمال شيئ من ال Sql.

كود :
if Edit1.Text = ''  then // edit1  فارغ begin     showmessage("لابد من إخال رقم الطالب ") end else //  edit1  ليس فارغ begin     //  نتحقق من عدم وجود نفس الرقم     // نبحث في منظومة الطلاب    Query1.close ;    Query1.Paramettr('Code1').asstring := Edit1.text;    Query1.open;    if Query1.isEmpty then // بمعنى أنه لا يوجد الرقم    begin       //  نقوم بعملية إدخال الطالب الجديد           end    else //  بمعنى أن الرقم المدخل يوجد مسبقا    begin      // نقوم بإعلام المستعمل    end end

البقية عليك .

     باستعمال الموكن  Query  
     في خاصية Sql  ل query نكتب ما يلي

كود :
     Select CodeEdtudiant      From Edudiant      Where  CodeEdtudiant = :Code1 شرحك مبسط وممتاز اخي بارك الله فيك  فقط اريد ان تظيف شرح العبارة 
Query1.Paramettr('Code1').asstring := Edit1.text; اريد شرحا مفصلا انا مبتدا 


RE: خطأ في الكود ، لم أجد مكان الخطأ !!! - ramiparadox - 26-12-2015

(17-12-2015, 09:25 AM)awatef98 كتب :
(13-12-2015, 06:39 PM)Unprogramme كتب : السلام عليكم ،
أخي الحبيب دعنا نوضح الحل و نبسطه أكثر Cool 
1- عندما يدخل المستعمل رقم  التسجيل (أو الرقم الذي تود إدخاله)
   1-1  تتحقق من أن قيمة  Edit فارغة ، إذا كانت كذلك تخبر المستعمل أنه يجب عليه إدخال  رقم التسجيل.
   2-1 إذا كانت قيمة Edit   ليست فارغة ننتقل إلى النقطة 2
2- نبحث في قائمة التسجيلات (رقم الطالب في حالتك ) في مصفوفة الطلاب :
1-2  إذا تم العثور على الرقم في مصفوفة الطلاب هذا يعني أن الرقم موجود من قبل و عليه إدخال رقم آخر.
2-2  إذا لم يتم إيجاد رقم الطالب ، فهذا يعني أن الرقم جديد ، فيمكننا حينئذ إتمام تجسيل الطالب .
واضح أخي الحبيب . Blush 
نأتي الآن إلى التطبيق ، و أنصحك باستعمال شيئ من ال Sql.

كود :
if Edit1.Text = ''  then // edit1  فارغ begin     showmessage("لابد من إخال رقم الطالب ") end else //  edit1  ليس فارغ begin     //  نتحقق من عدم وجود نفس الرقم     // نبحث في منظومة الطلاب    Query1.close ;    Query1.Paramettr('Code1').asstring := Edit1.text;    Query1.open;    if Query1.isEmpty then // بمعنى أنه لا يوجد الرقم    begin       //  نقوم بعملية إدخال الطالب الجديد           end    else //  بمعنى أن الرقم المدخل يوجد مسبقا    begin      // نقوم بإعلام المستعمل    end end

البقية عليك .

     باستعمال الموكن  Query  
     في خاصية Sql  ل query نكتب ما يلي

كود :
     Select CodeEdtudiant      From Edudiant      Where  CodeEdtudiant = :Code1 شرحك مبسط وممتاز اخي بارك الله فيك  فقط اريد ان تظيف شرح العبارة 
Query1.Paramettr('Code1').asstring := Edit1.text; اريد شرحا مفصلا انا                                                                                                                                                             
 
 اذا كان فارغ  حسب راي  فيه نقص نوعا  /يكون هذا الكود صالح فقط اذا لم يتحرك مؤشر الفارةEdit  يقوم هذا الكود بمراقبة 
 للامام وسوف تلاحض ان الكود لا يعمل edit جرب ان تحرك مؤشر الفارة في


الكود  الاصح هو 
if Trim(Edit1.Text)='' then
begin
...........
....................
end;