![]() |
|
تعديل جدول 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 وجدت انه لم يضهر لي وقمت بتعديله و ضهرات نتيجة بركة الله فيك |