PDA

View Full Version : گزاشتن password در برنامه



ALINAMAZI
چهارشنبه 26 تیر 1387, 13:28 عصر
با سلام من یک برنامه در محیط دلفی تهیه کرده ام میخواهم paswoord بگزارم به صورتی که یکی admin باشد که به کل برنامه دسترسی داشته باشد و دیگری user که ورود اطلاعات کند وگزارش گیری نماید از همه دوستانی که کمک میکنند بینهایت سپاسگزارم کد برنامه را هم بنویسد

Felony
چهارشنبه 26 تیر 1387, 14:07 عصر
دوست عزیز اینجوری که نمیشه کل برنامه رو برات بزاریم ... شما بنویس هر جا اشکال داشتی بپرس ...
اصلا میخوای تو یه فایل پسوردها ذخیره شن ؟ یا ریجستری ؟ ریجستری اگر وین عوض شه پسوردها پاک میشن ...

شما تو یه فایل پسوردات رو بریز و بعد تو برنامه بگو اگر پسورد = X بود پس کاربر ادمین هست و تمامی برنامه فعال باشه و اگر پسورد = y بود پس کاربر یوزر هست و هر کدوم از کلید ها و ... رو که میخوای خاصیت Enabled رو غیر فعال کن تا براش کار نکنه ...

Hsimple11
چهارشنبه 26 تیر 1387, 14:24 عصر
کلمه پسورد را در سایت جستجو کنید.

tefos666
چهارشنبه 26 تیر 1387, 14:32 عصر
دوست عزیز یه سر به این تاپیک بزن مشکلت حل میشه

http://barnamenevis.org/forum/showthread.php?t=92931&page=2

برای پسورد یه جدول به اسم login درست کن و یه فیلد username و یک فیلد پسورد بزار

نام جدول : tbl_login و یه datasource بنام dataset_login بهش متصل کن .

http://barnamenevis.org/forum/attachment.php?attachmentid=20492&stc=1&d=1216200043

حالا کد زیر رو تو دکمه ورود بنویس



dataset_login.DataSet.First
if Edit1.Text='' then
begin
MessageDlg('please fill user name', mterror , [mbok],0);
end;
if Edit2.Text='' then
begin
MessageDlg('please fill password', mterror , [mbok],0);
end;
WHILE not dataset_login.DataSet.Eof do
begin
if(dataset_login.DataSet['username']=LowerCase( Edit1.Text)) and (dataset_login.DataSet['password']=LowerCase(Edit2.Text)) then
begin
user_pass_true:=true;

dataset_login.DataSet.First;
tbl_login.Close();
form3.show;
Form2.Hide;
end
else
begin
dataset_login.DataSet.Next
end

راستی متغیر زیر رو هم global تعریف کن


user_pass_true:boolean


اینجوری هرسری نام کاربری و کلمه عبور زده میشه کرسر به اول جدول میره و از اول تا آخر جدول رو طی میکنه اگر رکورد درست برگرده مراحل بعدی انجام میشه و فرم بعدی رو نشون میده درسته تو حجم رکوردهای بالای 2000 تا یخورده کند کار میکنه ولی من همیشه از این روش استفاده میکنم با اون lowercase هم که میزاری حروف بزرگ و کوچک براش فرقی نمیکنه .
حالا برای اینکه برنامت شیک تر شه مثلا وقتی رو نام کاربری بعد از ورود enter کردی به password بره و وقتی enter کردی به ورود از کد زیر استفاده کن
تو رویداد keypress دکمه و ادیت باکس ها بنویس


IF Key = Char(VK_RETURN) Then
Begin
Key := #0;
SelectNext(TCustomEdit(Sender),True,True);
End



ضمنا taborder نام کاربری رو 0 و کلمه عبور رو 1 و دکمه ورود رو 2 بزار


امیدوارم مشکلت حل شده باشه - کمک خواستی در خدمتم - یا علی



success is doing , not wishing

babak_delphi
چهارشنبه 26 تیر 1387, 15:51 عصر
بهتره که همین کار را با دستورات SQL انجام دهید
دستور SELECT همین کار را برایتان انجام میدهد.