delphi4arab منتديات دلفي للعرب

نسخة كاملة : اتعامل مع StringGrid و اريد التنقل
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4
السلام عليكم

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

شكرا مسبقا في ميزان حسناتكم
في  OnKeyDown اضف كود
كود :
    if (Key =13) then       Key:=VK_Tab;
السلام عليكم
اخي عملت لكن يجب ان اضغط مرتين على ENTER حتى تنتقل
لانه يكون في وضع الكتابة اضغظ انتر يتم قفل الكتابة وبعدها حتى اضغط مرتا اخرى على ENTER فيقوم بالانتقال عكس TAB
تقوم بقفل الكتابة وانتقال مباشرتا
شكرا اخي على المساعدة في ميزان حسناتك ان شاء الله
هل لديك فكرة على جمع مجموع عمود ؟ وبارك الله فيك
حسنا انا اعمل على نسخة قديمة من دالفي و كثير من الاشياء تغيرت 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;
شغااااااااااااااااااااااااااااااااال 100% في ميزان حسناتك يارب
بقى سؤال اذ امكن لدي edit1x واريد جمع مجموع عمود رقم واحد متلا ؟

سؤال اخر خارج النطاق لماذا بقيت تستخدم النسخة القديمة من الدلفي ؟
ان كنت تريد حساب العمود الاول  اليا مثل 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 اصبحت سلعة استهلاكية كغيرها من المنتجات و لا احد يرغب ان يتعلم شي يصبح تنتهي صلاحيته بعد سنوات قليلة  ,,, في ذاك الوقت منتديات البرمجة كانت جد نشيطة سؤال مثل هذا كان قد تلقى عشرات الاقتراحات الحال كما اليوم على منصات التواصل الاجتماعي ,,,وهذا لا يقتصر على المنتديات العربية ,,البرمجة الان اصبحت موسوعية ,,,
لم يشتغل الكود ؟
(04-02-2022, 05:29 PM)Med-01 كتب : [ -> ]لم يشتغل الكود ؟
Cells[FixedCols+0,I]
 تاكد من انه العمود الصحيح غير 0
<p>نفش الشي لم يشتغل كنت اظن ان الامر سهل&nbsp; Huh<br>شكرا لك اخي الكريم&nbsp;<br>معك حق اختلفت السنوات كتير لم يعد احد مهم بالبرمجة مثل السابق&nbsp;&nbsp;&nbsp;<br><br></p>
[صورة: Sans-titre.png]
انظر الى الصورة
الصفحات : 1 2 3 4