PDA

View Full Version : آموزش: جلوگیری از تغییر نام دیتابیس



joker_pok
دوشنبه 08 اسفند 1390, 17:25 عصر
چگونه می توانیم تو برنامه از تغییر نام دیتابیس جلوگیری کنیم تا کسی نتونه اسمشو عوض کنه یا مسیرش ثابت باشه مرسی دوستان

Mr'Jamshidy
دوشنبه 08 اسفند 1390, 23:38 عصر
2 تا حالت فعلا بنظرم میرسه

1. یک برنامه باشه و یکسره فایل مورد نظر شما رو مانیتور کنه و از تغییر اون جلوگیری بعمل بیاره
2. از خواص Permission استفاده کنی (البته فقط در درایو های NTFS)

SlowCode
سه شنبه 09 اسفند 1390, 10:20 صبح
آقا جمشیدی، احتمالا با همون بد سکتور شما هم بشه انجام داد فقط هر بار باید غیرفعال و بعد فعالش کنی! درسته؟

Mr'Jamshidy
سه شنبه 09 اسفند 1390, 16:30 عصر
آره
میشه با بد سکتور هم این کار رو انجام داد اما نیازی نیست هی فعال و غیر فعالش کنی روی قسمتی از فایل که استفاده نمیشه یک بد سکتور میزاری

اگر میبینی برنامه ای روی بد سکتور افتاده و اجرا نمیشه بخاطر اینه که قسمت مهمی از برنامه روی بد سکتور افتاده

joker_pok
سه شنبه 09 اسفند 1390, 23:07 عصر
نمونه برنامه دارین ؟

Mr'Jamshidy
سه شنبه 09 اسفند 1390, 23:29 عصر
اگر برای بد سکتور میگید نه ندارم

اما برای موضوع Permission تو انجمن چند روز پیش بحث شد

SlowCode
سه شنبه 09 اسفند 1390, 23:51 عصر
Permission ها رو میشه با کد نویسی کاهش داد؟

Mr'Jamshidy
چهارشنبه 10 اسفند 1390, 00:46 صبح
100 البته

فقط یک نکته رو مد نظر داشته باشید
اگر روی درایو های قبل از NTFS از این کد استفاده کنید با مشکل رو به رو خواهید شد (Run-Time Error) یک وقت فک نکنید اتفاق خاصی براتون میوفته ها

امیدوارم درست استفاده کنید

تا دقایقی دیگه براتون میزارم

Mr'Jamshidy
چهارشنبه 10 اسفند 1390, 01:02 صبح
این کامپوننت میتونه کمکتون کنه

DeniedAccess(ByVal sUserName As String, ByVal sFileName As String, ByVal lMask As Long) As Boolean
AllowAccess(ByVal sUserName As String, ByVal sFileName As String, ByVal lMask As Long) As Boolean

sUserName = نام یوزری که میخواید براش تنظیمات رو اعمال کنید
sFileName = آدرس فایل مورد نظر
lMask = سطح دسترسی

سطح دسترسی با ثابت های زیر قابل اعماله

Const Per_GMEM_MOVEABLE = &H2
Const Per_LMEM_FIXED = &H0
Const Per_LMEM_ZEROINIT = &H40
Const Per_LPTR = (Per_LMEM_FIXED + Per_LMEM_ZEROINIT)
Const Per_GENERIC_READ = &H80000000
Const Per_GENERIC_ALL = &H10000000
Const Per_GENERIC_EXECUTE = &H20000000
Const Per_GENERIC_WRITE = &H40000000

که البته در خود کامپوننت تعریف شده

joker_pok
چهارشنبه 10 اسفند 1390, 13:04 عصر
داداش یه نمونه برنامه واسه این بزاری خیلی عالی میشه من برنامه واسش نوشتم اما جواب نگرفتم . مرسی

Mr'Jamshidy
چهارشنبه 10 اسفند 1390, 13:52 عصر
این هم برنامه

موفق باشید

سید حمید حق پرست
چهارشنبه 10 اسفند 1390, 18:31 عصر
من فایل تکست بهش دادم اما فایل رو کد نکرد . هیچ تغیری نکرد . ممنون میشم توضیحی در این باره بدید

سید حمید حق پرست
چهارشنبه 10 اسفند 1390, 18:35 عصر
هم نام فایلرو تونستم عوض کنم . هم فایل txt بهش دادم و بازش کردم تغیری نکرده بود

joker_pok
چهارشنبه 10 اسفند 1390, 23:19 عصر
هیچ فرقی نمی کنه اصلا این کار نمی کنه

سید حمید حق پرست
پنج شنبه 11 اسفند 1390, 00:20 صبح
اره کار نمیکنه

Mr'Jamshidy
پنج شنبه 11 اسفند 1390, 00:27 صبح
دوست عزیز من رو سیستم خودم امتحان کردم و به خوبی جواب داد

1. قرار نیست که فایل رو کد کنه
2. همچنین قرار نیست کار خارقلعاده ای انجام بده

این فایلی که براتون گزاشتم فقط Permission ها رو تنظیم میکنه
شما میتونید برای تشخیص تغییرات بعد از اجرا برنامه و انتخواب فایل یا فولدر مورد نظر روی فایل یا فولدری که گزینه Block رو زدید راست کلیک کنید و به تب Security برید و تغییرات رو ببینید

تو ویندوز Seven بصورت پیشفرض هست اما تو XP باید تنظیم کنید تا این تب نمایش داده بشه

اما من خودم امتحان کردم تو سیستمم و جواب گرفتم