PDA

View Full Version : سطح دسترسی کاربر



maisam57
شنبه 27 اسفند 1384, 18:45 عصر
چطوری میشه توی یه برنامه که با دلفی نوشته شده سطح دسترسی کاربر رو طراحی کرد
مثلا فلان کاربر نتونه فلان منو رو باز کنه
با تشکر

saniak_robot
شنبه 27 اسفند 1384, 20:27 عصر
باید یه فیلد تو بانک داشته باشی به صورت Bit بعد تو برنامه ات چک کنی که اگه صفر بود اون گزینه Enable = False در غیر این صورت Enable = True .

jafari1
شنبه 27 اسفند 1384, 21:26 عصر
چگونه میشود قبل از اجرای فرم اصلی برنامه فرم دیگری (دریافت پاسورد) را فعال کرد ؟

HO457
شنبه 27 اسفند 1384, 21:30 عصر
یه فرم بذار، startup پروژه ات رو روی اون فرم تنظیم کن، بعد کدهای چک کلمه عبور رو توش بنویس.

Ehsansh
یک شنبه 28 اسفند 1384, 07:11 صبح
برای تنظیم سطح دسترسی جاهایی رو که میخوای دسترسی بدی باید با صفر و یک چک کنی.
مثلا این کاربر نمیتونه به این کنترل دسترسی داسته باشه باید مقدار ضفر بدی و در غیر اینصورت مقدار یک.
از این دسترسیها یک رشته صفر و یک بدست میاد.
کاری که من میکنم اینه که این رشته رو یک کد باینری در نظر میگیرم و تبدیل به عدد ده دهی میکنم. با این کار میشه با یک Integer به راحتی 32 مورد دسترسی تعیین کنید. و در حافظه صرفه جویی میشه.
امیدوارم کمکت کنه.

ali_divsalar
یک شنبه 28 اسفند 1384, 08:52 صبح
راه حلها را دوستان ارائه کردند.برای تکمیل آنها اضافه می کنم که درصورت صحت پسورد وارد شده توسط کاربر ، enable هرگزینه منو ،براساس دسترسیهای از قبل داده شدهtrue یا Falseمی کنید.پیشنهاد میکنمدر tableمربوطه دسترسیها بصورت کد شده ثبت بشن.برای تعیین دسترسیها در فرمی که فقط مدیر سیستم به اون دسترسی داره عناوین گزینه های منوه در قالب checkbox رو قرار بدین

Touska
یک شنبه 28 اسفند 1384, 09:12 صبح
اینجا رو هم نگاهی بیندازید بد نیست.

http://tmssoftware.com/tss.htm

Ehsansh
یک شنبه 28 اسفند 1384, 09:22 صبح
تنها چیزی که لازم دارید دو تابع برای تبدیل رشته باینری به عدد صحیح و برعکس هست.
اینم کدی که من برای این منظور استفاده میکنم:


Function Bin2Int(Bin:String):Integer;
Var I:Byte;
Ans:Smallint;
Begin
Ans:=0;
For I:=Length(Bin) DownTo 1 Do
Ans:=Ans+StrToInt(FloatToStr(StrToInt(Bin[I])*Power(2,Length(Bin)-I)));
Result:=Ans;
End;

Function Int2Bin(Int:Integer):String;
Var Ans:String;
Begin
Repeat
Ans:=Ans+IntToStr(Int Mod 2);
Int:=Int Div 2;
Until Int = 0;
Result:=ReverseString(Ans);
End;

امیدوارم کمکت کنه...

jafari1
دوشنبه 29 اسفند 1384, 12:29 عصر
جناب ho457
سلام اینطور که شما فرمودید انجام دادم لکن بعد از بسته شدن فرم مربوطه کل برنامه خاتمه میابد

Ehsansh
چهارشنبه 02 فروردین 1385, 11:50 صبح
اشتباه شما اینه که اون فرم رو فرم اصلی کردین.
فرم کلمه عبور باید در رویداد OnActivate فرم اصلی Showmodal بشه.

jafari1
پنج شنبه 03 فروردین 1385, 12:33 عصر
از راهنمایی شما متشکرم