المشاركات : 126
المواضيع 27
:
: 63
الإنتساب : Jun 2013
السلام عليكم ورحمىة الله وبركاته
لدي قاعدة بينات بها حقل من نوع memo عندما اعرض البينات في dbgrid جميع الحقول تظهر ماعدى حقل Memo بيناته لا تظهر كل حقل يبقى مكتوب فيه
memo
صورة من dbgrid
جزاكم الله خيرا
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
PHP كود :
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState);
var
Left: Integer;
Text : string;
begin
if (Field.DataType = ftMemo) or
(Field.DataType = ftFmtMemo) then
begin
Text := Field.AsString;
case Field.Alignment of
taLeftJustify:
Left := Rect.Left + 2;
taRightJustify:
Left := Rect.Right - TDBGrid(Sender).Canvas.TextWidth(Text) - 3;
else // center
Left := Rect.Left + (Rect.Right - Rect.Left) shr 1 - (TDBGrid(Sender).Canvas.TextWidth(Text) shr 1);
end;
TDBGrid(Sender).Canvas.TextRect(Rect, Left, Rect.Top + 2, Text);
end;
end;
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 126
المواضيع 27
:
: 63
الإنتساب : Jun 2013
اهلا Delphi4Us الكود لم يظهر اي خطا كما انه لم يشتغل لم تعرض memo في dbgrid
عموما انا اخطا انا استخدم DBMemo وليس memo هل لهذا السبب لم يعمل !!!
وشكرا وجزاك الله خيراااا
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
كيف لم يعمل ، هل وضعته بالحدث المناسب له وربطته بالاداة DBgrid
انا لم اجرب شيئا وانما بحتث لك عن المعلومة فقط ، مثال أخر
PHP كود :
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const
Rect: TRect; Field: TField; State:
TGridDrawState);
var
P: array [0..50] of char; {array size is number of
characters needed}
bs: TBlobStream; {from the memo field}
hStr: String;
begin
if Field is TMemoField then
begin
with (Sender as TDBGrid).Canvas do
begin {Table1Notes is the TMemoField}
bs := TBlobStream.Create(Table1Notes, bmRead);
FillChar(P,SizeOf(P),#0); {terminate the null string}
bs.Read(P, 50); {read 50 chars from memo into blobStream}
bs.Free;
hStr := StrPas(P);
while Pos(#13, hStr) 0 do {remove carriage returns and}
hStr[Pos(#13, hStr)] := ' ';
while Pos(#10, hStr) 0 do {line feeds}
S[Pos(#10, hStr)] := ' ';
FillRect(Rect); {clear the cell}
TextOut(Rect.Left, Rect.Top, hStr); {fill cell with memo
data}
end;
end;
end;
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 126
المواضيع 27
:
: 63
الإنتساب : Jun 2013
بانسة للكود الاول قمت بوضعه في الحدث المناسب ل dbgrid ماذا تقصد بربطه مع dbgrid ! كيف اربطه
![[صورة: 9R8ULws.png]](https://i.imgur.com/9R8ULws.png)
النتيجة
![[صورة: Dt62M32.png]](https://i.imgur.com/Dt62M32.png)
-----------------
الكود الثاني يعطي خطا
شكرا وجزاك الله خيراا على محاولة المساعدة
المشاركات : 117
المواضيع 1
:
: 38
الإنتساب : May 2017
كل من 1 user says قال شكرا ل Ben.Ja على المشاركة المفيدة1 user says Thank You to Ben.Ja for this post
• Med-01
المشاركات : 126
المواضيع 27
:
: 63
الإنتساب : Jun 2013
انا اتعامل مع ACCESS وهذه الخاصية غير موجودة
شكرا وجزاك الله خيراا
المشاركات : 117
المواضيع 1
:
: 38
الإنتساب : May 2017
انقر على الحدث OnGetText الخاص بالحقل, ثم أكتب:
PHP كود :
Text:= Sender.AsWideString;
![[صورة: pAci4bH.png]](https://i.imgur.com/pAci4bH.png)
سيبدو هكذا:
PHP كود :
procedure TForm1.ADOTable1infoGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
Text:= Sender.AsWideString;
end;
كل من 1 user says قال شكرا ل Ben.Ja على المشاركة المفيدة1 user says Thank You to Ben.Ja for this post
• Med-01
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 126
المواضيع 27
:
: 63
الإنتساب : Jun 2013
تم بواسطة Ben.Ja و Delphi4Us جزاك الله خيراا في ميزان حسناتكم
Ben.Ja حركة حلوة
Delphi4Us اضافتك رائعة