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=8803)



ما سبب تأخير تنفيذ كود داخل زر - medreg - 18-08-2017

السلام عليكم ورحمة الله تعالى وبركاته
جمعة مباركة إن شاء الله وتقبل الله منا ومنكم الصلاة بمزيد من الآجر والثواب والمغفرة
اخواني مشكل غريب لم افهمه
داحل زر لدي كود لتنفيذ عملية ما
من ناحية يعمل بشكل جيد فهو يعمل لكن كلما انتقلت الى سجل يعمل بشكل جيد حتى يصل الى عدد معنين من السجلات واظنه 4 سجلات عندما انتقل الى السجل الخامس يتأخر لمدة 10 ثواني او أكثر وكل ما انتقلت الى السجل الموالي يتأخر أكثروعندما ارغب غي التنقل الى السجل الموالي وليكن السجل مثلا 05 او 06 يجب علي اغلاق البرنامج واعادة تشغيله والذهاب الى السجل الخامس لإكمال تنفيذ العملية
لذا ما سبب هذه المشكلة
جزاكم الله عنا كل خير


RE: ما سبب تأخير تنفيذ كود داخل زر - Mr.DOS - 18-08-2017

سلام عليكم / جمعة مباركة
يبدو ان برنامجك يتعامل مع قواعد بيانات
ممكن ترفق  الكود الموجود بداخل btn


RE: ما سبب تأخير تنفيذ كود داخل زر - Delphi4Us - 18-08-2017

لايمكن لاحد ان يعطى رائيا بدون ان يعرف ما موجود من برمجة
كما قال الاخ اما انك تستخدم قواعد بيانات او مؤقتتات او صور كبيرة او ما شابه مع برمجة سيئة


RE: ما سبب تأخير تنفيذ كود داخل زر - medreg - 18-08-2017

السلام عليكم ورحمة الله تعالى وبركاته
اليك الكود المتعلق بالزر Button
كود :
procedure TFrm1.BtnRefresheClick(Sender: TObject); var tcde:integer; tLib:String; tMnt:Double; var temp:TFrm2; begin  DM.Table2.Close;  temp:= TFrm2.Create(Self);  temp.Radiogroup1.ItemIndex:=1;  with DM do  begin    Table2.Open;    Table1.Open;    Table1.First;    while not Table1.Eof do    begin    {Keep Previous values}    tcde := Table1.Fieldvalues['Cde'];    tLib := Table1.fieldvalues['Lib_Cde'];    tMnt := Table1.FieldValues['Mont'];    Table1.Next;      if DM.Table2.Locate('cde',vararrayof([tcde]),[locaseinsensitive,lopartialkey]) then      begin      DM.Table2.Edit;      DM.Table2.fieldvalues['cde']     := tcde;      DM.Table2.fieldvalues['lib_cde'] := tLib;      DM.Table2.fieldvalues['Mont']    := tMnt;      end else begin      DM.Table2.Insert;      DM.Table2.fieldvalues['cde']     := tcde;      DM.Table2.fieldvalues['lib_cde'] := tLib;      DM.Table2.fieldvalues['Mont']    := tMnt;      DM.Table2.Post;      DM.Table2.Refresh;      end;    end;  end;  DM.Table3.Edit;  DM.Table3dbcheckBox.Value:=false;  DM.Table3.Post; end;



RE: ما سبب تأخير تنفيذ كود داخل زر - medreg - 18-08-2017

لقد حلت المشكلة والخطأ هو أنني لم احرر الفورم التي كنت مصرح بها
كان يجب علي إضافة هذا السطر بعد التصريح
كود :
temp:= TFrm2.Create(Self); temp.Radiogroup1.ItemIndex:=1; temp.free; بارك الله فيكم على المرور



RE: ما سبب تأخير تنفيذ كود داخل زر - محمد عبد العزيز - 20-08-2017

السلام عليكم
يمكن اختصار الكود قليلا

كود :
procedure TFrm1.BtnRefresheClick(Sender: TObject); begin  with DM do  begin    Table2.Close; Table2.Open;    Table1.Open;    Table1.First;    while not Table1.Eof do    begin      if DM.Table2.Locate('cde',vararrayof([tcde]),[locaseinsensitive,lopartialkey]) then      Table2.Edit else Table2.Insert;      Table2.fieldvalues['cde']     := Table1.Fieldvalues['Cde'];      Table2.fieldvalues['lib_cde'] := Table1.fieldvalues['Lib_Cde'];      Table2.fieldvalues['Mont']    := Table1.FieldValues['Mont'];      Table2.Post;      Table2.Refresh;    end;    Table1.Next;  end;  DM.Table3.Edit;  DM.Table3dbcheckBox.Value:=false;  DM.Table3.Post; end;



RE: ما سبب تأخير تنفيذ كود داخل زر - محمد عبد العزيز - 22-08-2017


السلام عليكم
ملاحظة اخرى: الحقل cde من نوع Integer اذن استخدام locaseinsensitive,lopartialkey في Locate لا معنى لها!



RE: ما سبب تأخير تنفيذ كود داخل زر - medreg - 18-09-2017

جزاكم الله عنا كل خير