delphi4arab منتديات دلفي للعرب
اتعامل مع StringGrid و اريد التنقل - نسخة قابلة للطباعة

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

الصفحات: 1 2 3 4


اتعامل مع StringGrid و اريد التنقل - Med-01 - 04-02-2022

السلام عليكم

لدي StringGrid1 و اريد عند الضغظ على زر انتر يتم الانتقال من حقل الى اخر كلما ضغطت على انتر
حليا هي تعمل لما اضغط على tab يتم الانتقال من خلية الى اخرى اريد ان تكون انتر بدلها [صورة: enter.jpg]
+
اذا امكن كيف اجعل StringGrid1 الاسطر غير محددة لانه حاليا ارى انه يجب كتابة كم عدد الاسطر المراد استعمالها 3=rowcount

شكرا مسبقا في ميزان حسناتكم


RE: اتعامل مع StringGrid و اريد التنقل - Ndagor - 04-02-2022

في  OnKeyDown اضف كود
كود :
    if (Key =13) then       Key:=VK_Tab;



RE: اتعامل مع StringGrid و اريد التنقل - Med-01 - 04-02-2022

السلام عليكم
اخي عملت لكن يجب ان اضغط مرتين على ENTER حتى تنتقل
لانه يكون في وضع الكتابة اضغظ انتر يتم قفل الكتابة وبعدها حتى اضغط مرتا اخرى على ENTER فيقوم بالانتقال عكس TAB
تقوم بقفل الكتابة وانتقال مباشرتا
شكرا اخي على المساعدة في ميزان حسناتك ان شاء الله
هل لديك فكرة على جمع مجموع عمود ؟ وبارك الله فيك


RE: اتعامل مع StringGrid و اريد التنقل - Ndagor - 04-02-2022

حسنا انا اعمل على نسخة قديمة من دالفي و كثير من الاشياء تغيرت Big Grin 
يمكنك تجريب الكود التالي OnKeyDown يعمل على وندوز  يقوم بارسال 2 tab على التوالى


كود :
with StringGrid1 do if (Key =13)and EditorMode then begin if(Col=(ColCount-1))and(Row=(RowCount-1)) then RowCount:= RowCount + 1; Perform(WM_KEYDOWN, VK_Tab,0); Application.ProcessMessages; Key:=VK_Tab; end;



RE: اتعامل مع StringGrid و اريد التنقل - Med-01 - 04-02-2022

شغااااااااااااااااااااااااااااااااال 100% في ميزان حسناتك يارب
بقى سؤال اذ امكن لدي edit1x واريد جمع مجموع عمود رقم واحد متلا ؟

سؤال اخر خارج النطاق لماذا بقيت تستخدم النسخة القديمة من الدلفي ؟


RE: اتعامل مع StringGrid و اريد التنقل - Ndagor - 04-02-2022

ان كنت تريد حساب العمود الاول  اليا مثل Excel ضع الكود التاالي في  OnSelectCell  فيقوم بتحديث النتيجة اليا و لكن يجب ملء الخانات بقيم صحيحة لمزيد من المعلومات ابجث عن عمل TryStrToFloat StrToFloatDef  StrToFloat لتعلم الفرق بينها

كود :
procedure TForm5.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;   var CanSelect: Boolean); var   I:integer;   Total,t:Double; begin   Edit1.Text:= '-----';   Total:= 0.0;   with StringGrid1 do   for I := FixedRows to RowCount - 1 do     if TryStrToFloat(Cells[FixedCols+0,I],t) then       Total:= Total+t     else       Exit;   Edit1.Text:=FloatToStr(Total); end;

إقتباس :سؤال اخر خارج النطاق لماذا بقيت تستخدم النسخة القديمة من الدلفي ؟
انا اعل على   دلفي 2009 و لايهم انا لست محترف من حين الى اخر و البرمجة بعد 2012 اصبحت سلعة استهلاكية كغيرها من المنتجات و لا احد يرغب ان يتعلم شي يصبح تنتهي صلاحيته بعد سنوات قليلة  ,,, في ذاك الوقت منتديات البرمجة كانت جد نشيطة سؤال مثل هذا كان قد تلقى عشرات الاقتراحات الحال كما اليوم على منصات التواصل الاجتماعي ,,,وهذا لا يقتصر على المنتديات العربية ,,البرمجة الان اصبحت موسوعية ,,,


RE: اتعامل مع StringGrid و اريد التنقل - Med-01 - 04-02-2022

لم يشتغل الكود ؟


RE: اتعامل مع StringGrid و اريد التنقل - Ndagor - 04-02-2022

(04-02-2022, 05:29 PM)Med-01 كتب : لم يشتغل الكود ؟
Cells[FixedCols+0,I]
 تاكد من انه العمود الصحيح غير 0


RE: اتعامل مع StringGrid و اريد التنقل - Med-01 - 04-02-2022

<p>نفش الشي لم يشتغل كنت اظن ان الامر سهل&nbsp; Huh<br>شكرا لك اخي الكريم&nbsp;<br>معك حق اختلفت السنوات كتير لم يعد احد مهم بالبرمجة مثل السابق&nbsp;&nbsp;&nbsp;<br><br></p>


RE: اتعامل مع StringGrid و اريد التنقل - Ndagor - 04-02-2022

[صورة: Sans-titre.png]
انظر الى الصورة