المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الــــ bookmark و حفظ تأشير الــ DataSet


Lam.Abdeldjalil
12-07-2010, 10:18 PM
السلام عليكم

كثير منا يتسائل عن bookmark و إستخدامها
الــ bookmark : هي عبارة عن حفظ تأشير في DataSet مع إمكانية إسترجاعها بسهولة
يمكن تطبيقه لإسترداد مرجعية السجل الحالي ( العودة إليه بعد الإنتقال إلى سجلات أخرى )
و هذه أمثلة عن إستعمالاته

1- حفظ مؤشر واحد والعودة إليه بعد التجول في البيانات أو بعد القيام بعمليات على البيانات
مثال : عليك بتصريح متغير (يستعمل في الفورم) : bookmarkname: TBookmarkStr;
كود حفظ التأشير
bookmarkname := ADOTable1.Bookmark;
كود إسترجاع التأشير
ADOTable1.Bookmark:=bookmarkname ;

2- حذف عدة تسجيلات مختارة في DBGrid ( دون إستعمال المتغير )
أولا عليك تفعيل خاصية تعدد الإختيارللـ DBGrid في خاصية Options القيمة dgMultiSelect إجعلها True
كود الحذف
for i := 0 to DBGrid1.SelectedRows.Count - 1 do
begin
ADOTable1.Bookmark := DBGrid1.SelectedRows[i];
ADOTable1.Delete;
end;

3- نسخ التسجيلات المختارة في DBGrid إلى جدول آخر
نفس الطريقة السابقة ( دون إستعمال المتغير )
كود مثال

for i := 0 to DBGrid1.SelectedRows.Count - 1 do
begin
ADOTable1.Bookmark := DBGrid1.SelectedRows[i];
ADOTable2.Append ;
ADOTable2Nom.Value :=ADOTable1Nom.Value ;
ADOTable2Pren.Value := ADOTable1Pren.Value;
ADOTable2.Post ;


*ملاحظة : ليست كل أنواع الـ DataSet تدعم bookmark

و السلام عليكم

S.FATEH
15-07-2010, 01:09 PM
السلام عليكم

موضوع مفيد اخي Lam.Abdeldjalil بارك الله فيك

لكن ما الفرق بين

TBookmark
و
TBookmarkStr

http://www.delphi4arab.com/forum/showpost.php?p=5894&postcount=2


سلامي

Lam.Abdeldjalil
15-07-2010, 01:57 PM
السلام عليكم

بارك الله فيك على المرور أخي S.FATEH

ذكر في كتاب Mastering Delphi 7 أن TBookmarkStr أحدث من TBookmark و الله أعلم

يمكن العمل بـ TBookmark بالطريقة التالية :

var bookmarkname: TBookMark;

كود حفظ التأشير

bookmarkname:= ADOTable1.GetBookMark;

كود إسترجاع التأشير

ADOTable1.GotoBookmark(bookmarkname);

كود التحرير ( الإفراغ)

ADOTable1.FreeBookmark(bookmarkname);

والسلام عليكم

Lam.Abdeldjalil
10-03-2011, 09:24 PM
و عليكم السلام و رحمة الله

أهلا أخي صابر ،

إستخدمت في المثال TBookMark لأنه تم التخلي عن TBookmarkStr : المصدر (http://docwiki.embarcadero.com/VCL/en/DB.TBookmarkStr)
Note: The TBookmarkStr type is deprecated. Use TBookmark (http://docwiki.embarcadero.com/VCL/en/DB.TBookmark) instead.
بالتوفيق

ouazanilarbi
15-03-2011, 01:24 PM
أين يمكن إيجاد هذا المركب
هل يعمل مع الدلفي 7
إذا كان موجود لديك هل يمكن رفعه على المنتدى
وشكراً

kachwahed
15-03-2011, 03:40 PM
أين يمكن إيجاد هذا المركب
عن أي مركب تتحدث؟

ADOTable1.GotoBookmark(bookmarkname);
يستحسن قبل استعادة أي TBookmark التحقق من صحته أولا:
if ADODataSet1.BookmarkValid(bookmarkname) then