PDA

View Full Version : قفل کردن فایل DBF در فاکسپرو 2.6



b_mohammadpoor
شنبه 14 تیر 1382, 07:34 صبح
کسی میدونه چطور میشه روب بانک اطلاعاتی DBF قفل گذاشت که فقط از داخل برنامه باز بشه :?:

یا اگر یک فایل DBF قفل داشت چطوری میشه اون را باز کرد ؟

خیلی ممنون :lol:

Mohammad_Mnt
شنبه 14 تیر 1382, 10:51 صبح
می خوای قفل بذاری یا قفل بشکنی :wink: اصولا این طوری که وقتی برنامه تموم می شه ، تمام فایل ها Encrypt می شن و وقتی برنامه اجرا می شه Decrypt !
برای باز کردن قفل هم بستگی داره که طرف از چه قفلی استفاده کرده :roll:

kia1349
یک شنبه 15 تیر 1382, 08:09 صبح
می تونی header فایل رو با low level function ها تغییر بدی

b_mohammadpoor
یک شنبه 15 تیر 1382, 11:12 صبح
میشه خاهش کنم یه مثال بزنید :oops:

کرامت
یک شنبه 15 تیر 1382, 22:48 عصر
:D

سلام به همتون
خوشحالم که با لطف یه دوست آدرس جدید این سایت رو دوباره برام ارسال کرد و
باز از نزدیک با شما دوستان هم کلام میشم .
قبلا هم خدمت دوستان عرض ارادت داشتم توی سایت قبلی .
امیدوارم که در این مرحله جدید بیشتر بتونم از حضور شما بهره ببرم و در معیتتون
باشم
آقای منتظر الظهور خصوصا سلام میکنم خدمتتون .
اقا کیا شما هم حتما حضور ذهن دارید صحبتهای قبلی رو.
بقیه دوستان هم همچنین و امیدوارم که مثل همیشه همگی خوب و شاد و شاداب
باشید .

یا علی
. :D

Mohammad_Mnt
دوشنبه 16 تیر 1382, 00:36 صبح
کرامت جون ، قربانت !
محمد پور جان ! دو تا تابع درست کن مثلا TabEncrypt و TabDecrypt
توی تابع اول ، تمام جدول ها تو با FOpen باز کن و اولین کارکترش و تغییر بده مثلا اولین کارکتر رو به Z تبدیل کن !
توی تابع دوم ، برعکس این کار رو بکن . کارکتر اول همه جدول ها رو به کارکتر اصلیش ( یادم نیست چه کارکتری بود ) برگردون !
حالا تابع اول رو در انتهای برنامه و تابع دوم رو در ابتدای برنامه اجرا کن 8)

b_mohammadpoor
دوشنبه 16 تیر 1382, 09:35 صبح
خیلی ممنون :P

kia1349
دوشنبه 16 تیر 1382, 13:32 عصر
سلام
کرامت جان خوش آمدی
برای قفل کردن هدر فایل اگه وقت کردم یه برنامه برات می نویسم و میل میکنم برات

b_tayefi
چهارشنبه 18 تیر 1382, 09:49 صبح
با سلام

روش قفل گزاری مطرح توسط شما درست اما در زمانی که سیستم شما تحت شبکه طراحی شده و همزمان 10 الی 20 کاربر حد اقل وارد و خارج میشوند چه طرحی دارید و بحث کاهش سرعت نیز مهم است آنهم در شبکه

با تشکر طایفی

b_mohammadpoor
یک شنبه 22 تیر 1382, 13:32 عصر
آقای kia1349
سلام

میشه برای من هم یک مثال بزنید و برام بفرستید :roll:

Andy
پنج شنبه 27 شهریور 1382, 11:59 صبح
سلام به همگی
آقای محمدپور

در خصوص قفل کردن جدول (Table).
اگر میخواهی که اطلاعات موجود در جدول در خارج از برنامه ای که نوشته ای قابل استفاده نباشه، میتونی اطلاعات فیلدهای جدول رو بصورت رمز (Encrypt) دربیاری.
فقط دقت کن که اطلاعات فیلد یا فیلدها در داخل جدول، همیشه بصورت رمز بایستی ثبت شوند و فقط هنگامی که میخواهی از آنها استفاده کنی از حالت رمز دربیاری (Decrypt) آنهم فقط در حافظه، نه مستقیما در داخل جدول.
به این صورت هم مشکل شبکه حل میشه و هم اینکه به لحاظ سرعت مشکلی پیدا نمیکنی و هم اینکه اطلاعات فیلدهای مورد نیاز بصورت رمز در جدول میباشند.

برای مثال به تابع زیر دقت کن:

Function EncDec
LParameters tcStr ,tcPassword
Local lcResult ,lnLenPassword ,lnIndex ,lnStrAsc ,lnPasAsc
lcResult = ""
lnLenPassword = Len(tcPassword) - 1
For lnIndex=1 To Len(tcStr)
lnStrAsc = Asc(SubStr(tcStr,lnIndex,1))
lnPasAsc = Asc(SubStr(tcPassword,Mod(lnIndex,lnLenPassword)+1 ,1))
lcResult = lcResult + Chr(BitXOr(lnStrAsc,lnPasAsc))
EndFor
Return lcResult
EndFunc

حالا میتونی با استفاده از تابع فوق اطلاعات فیلد مورد نظرت را هم رمز کنی و هم از رمز در بیاری.
برای مثال اگه میخواهی که مقدار 'محمدپور' رو در فیلدی با نام Family ثبت کنی این دستور رو بنویس:
('رمز','محمدپور')Replace Family With EncDec
و اگه میخوای که اطلاعات فیلد مورد نظر را نمایش بدی میتونی بصورت زیر عمل کنی:
('رمز',Wait Window EncDec (Family

موفق باشید