View Full Version : DBNAVIGATOR رکوردی را می خواهیم پاک کنیم
ali_abbasi22145
شنبه 03 آذر 1386, 11:05 صبح
سلام
در DBNAVIGATOR رکوردی را می خواهیم پاک کنیم ابتدا یک اخطار می دهد چطور این اخطار را فارسی کنم.
اخطار عکس ذیل:
vcldeveloper
شنبه 03 آذر 1386, 11:15 صبح
نمایش اخطار DBNavigator را غیرفعال کن و کد مربوط به نمایش اخطار را در رویداد OnBeforeDelete از DataSet مورد نظرت بنویس.
ali_abbasi22145
شنبه 03 آذر 1386, 12:05 عصر
سلام
من چه دستوری بنویسم که اگر Yes بود پاک کند و No بود پاک نکند؟
چون هر دستوری نوشتم Yes و No بود پاک می کند!
یک دستوری مثلا شبیه زیر اگر Yes بود پاک کند و No بود پاک نکند.
if Application.MessageBox('Are you sure delete record of database?','Confrim of delete a record',MB_YESNO)= IDYES then
m-khorsandi
شنبه 03 آذر 1386, 13:13 عصر
یعنی ممکنه که شما تا الان کدی برای حذف رکورد ننوشته باشید!
vcldeveloper
شنبه 03 آذر 1386, 15:33 عصر
من چه دستوری بنویسم که اگر Yes بود پاک کند و No بود پاک نکند؟
چون هر دستوری نوشتم Yes و No بود پاک می کند!
تا به حال چندین بار جواب داده شد. کلمه Abort را جستجو کنید.
szabeh
شنبه 03 آذر 1386, 17:45 عصر
http://barnamenevis.org/forum/showthread.php?t=82310&highlight=dbnavigator
ali_abbasi22145
سه شنبه 06 آذر 1386, 11:35 صبح
تا به حال چندین بار جواب داده شد. کلمه Abort را جستجو کنید.
سلام
Abort جستجو کردم و جوابهایی پیدا کردم ولی هیچ کدام جواب کارم را ندادند.
Touska
سه شنبه 06 آذر 1386, 12:00 عصر
بفرما :
قبلش
علی کشاورز : نمایش اخطار DBNavigator را غیرفعال کن
procedure TForm1.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
begin
IF Button = nbDelete Then
IF MessageDlg('آیا مایل به حذف هستید؟',mtConfirmation,[mbok,mbcancel],0) = mrOk Then
DBNavigator1.DataSource.DataSet.Delete;
end;
برای اینکه همه چیز فارسی باشه میتونی با استفاده از Modal Result فرم ها یکی خودت بنویسی.
ali_abbasi22145
سه شنبه 06 آذر 1386, 14:57 عصر
سلام
IF Button = nbDelete Then
IF MessageDlg('ÂíÇ ãÇíá Èå ÍÐÝ åÓÊíÏ¿',mtConfirmation,[mbok,mbcancel],0) = mrOk Then
DBNavigator1.DataSource.DataSet.Delete
else
Abort;
کد شما موقع کنسل پاک کردن هم رکورد را پاک می کند و کد شما را به شکل بالا تغییر دادم تا موقع کنسل پاک کردن چیزی را پاک نکند.
اما در موقع پاک کردن دوتا رکورد پاک می کند نه یک رکورد!
dkhatibi
سه شنبه 06 آذر 1386, 18:49 عصر
این خط را حذف کنید
DBNavigator1.DataSource.DataSet.Delete
برای اصلاح کد در شرط Mrcancel را قرار دهید و else را حذف نمایید.
ali_abbasi22145
چهارشنبه 07 آذر 1386, 12:33 عصر
سلام
با کمک دوست عزیز dkhatibi مشکل که فعلا تست کردم حل شد و کد کامل آن برای دوستان دیگر که بخواهند این است:
procedure TDynamicForm.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
begin
IF Button = nbDelete Then
IF MessageDlg('ÂíÇ ãÇíá Èå ÍÐÝ åÓÊíÏ¿', mtConfirmation,[mbok,mbCancel],0) = mrCancel Then
Abort;
end;
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.