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

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



تعديل جدول dbgrid 1 - Team dz - 08-02-2023

السلام عليكم ورحمة الله تعالى وبركته 

عندى كود سورس محرر  hex  

بوضع  

8bit

اريد تعديل الجدول   dbgrid  ليضهر  القيم  ب بوضع  16bit  swap  

كما في الصورة  المرفقه  

وشكرا لكم


RE: تعديل جدول dbgrid 1 - Ndagor - 08-02-2023

يمكنك قلب كل  خانتين متجاورتين  وبذلك تحصل على قيم 16 bit  ,,,

 قم باضافة مكون CheckBox الى التطبيق و غير اسمه الى  Cint16Bit وبعد ذلك اضف التعديل الى الدالة  GetCellText 
كود :
  if (Pz >= 0) and(Pz < MStream.Size) then   begin     if Cint16Bit.Checked then         if Odd(pz) then           dec(Pz)         else if (Pz+1 < MStream.Size) then           Inc(Pz);     B:=MStream.Bytes[Pz];

و في الدالة DrawGrid1SetEditText   قم بنفس  الكود

كود :
  if (Pz >= 0) and(Pz < MStream.Size) then   begin     if TryStrToInt('$'+Value,B) then // convertir du hex vers bin     if Cint16Bit.Checked then         if Odd(pz) then           dec(Pz)         else if (Pz+1 < MStream.Size) then           Inc(Pz);     MStream.Bytes[Pz] := byte(B);// enregistrement

بالتوفيق


RE: تعديل جدول dbgrid 1 - Team dz - 08-02-2023

تمام الف شكرا لك اخى الكريم


RE: تعديل جدول dbgrid 1 - Ndagor - 09-02-2023

نسيت ان اقول انه يجب اعادة رسم  DrawGrid من جديد بالكامل ليظهر التغيير,,,لهذا اظف كود التحديث في OnClick  ل CheckBox

كود :
procedure TForm1.Cint16BitClick(Sender: TObject); begin   DrawGrid1.Invalidate; // redraw end;



RE: تعديل جدول dbgrid 1 - Team dz - 09-02-2023

وجدت انه لم يضهر لي وقمت بتعديله و ضهرات نتيجة بركة الله فيك