نوشته شده توسط
masoud903
با سلام و تشکر از برنامه ای که گذاشتید و بزرگواریتون
در مورد فرم login به کار رفته در این برنامه، چون دی کد شده فکر کنم اگر پسورد هم عوض کنیم عمل نکنه
من عملکرد این کد رو می خواستم و اینکه اگر ممکنه اصلاح شده این کد رو بذارید ممنون میشم
همونطور که گفتم بعضی قسمتهای برنامه رو باید تکمیل کنیم یکیش همین مورد - یکی ویرایش مشتری ثبت شده هستش
شما باید یه فرم ویرایش کاربر درست کنید و توی اون رمز رو فراخونی کنید (توی قسمتی که رمز رو چک می کنه این اکشن نوشته شده است) بعد دوباره با همین فرمول می تونید رمز خورد رو بصورت دیکد شده عوض کنید. البته این قسمت که گقتم رمز رو فراخونی کنید برای موردی هستش که از کاربر برای تعویض رمز رمز قبلی رو بخواد و گرنه اصلاً نیازی به این کار هم نیست.
و اما دیکد کردن با این قطعه کد توی فرم new_user هستش.
اگه تو قسمت کد نویسی این فرم برید متوجه می شید.
توی فرم لاگین دکمه کاربر جدید غیر فعاله چون نرسیدم که تکمیلش کنم در اصل این قسمتها برام تو حاشیه بودن و فقط می خواستم برنامه کار کنه و جوابی که ازش می خواستم رو بگیرم که شد این کار.
ان شا الله بعد از امتحاناتم بعضی قسمتها هست که باید تکمیل کنیم .
- ویرایش / حذف کاربر
- ویرایش / حذف مشتری
- تکمیل قسمت پیش فاکتور
- ذخیره صدور جدید بصورت خام
- ویرایش تولید / ورود کالا (الان فقط حذف هستش)
- ثبت وقایع (عملکرد کاربران)
نحوه ثبت کاربر:
این یک فانکشن هست که string رو می گیره و تبدیل به کد می کنه مثل php
Sub Translate()
Dim Code As String
Code = "5SrS÷9@rq×Ï䇟œ"
Dim I As Integer
Dim location As Integer
Temp$ = ""
For I% = 1 To Len(DataString$)
location% = (I% Mod Len(Code$)) + 1
Temp$ = Temp$ + Chr$(Asc(Mid$(DataString$, I%, 1)) Xor _
Asc(Mid$(Code$, location%, 1)))
Next I%
End Sub
code =چارترهای دیکد
DataString=استیرنگ و یا نوشته ای که قراره دیکد بشه
Translate= فراخوانی فرمان دیکد
'cod
Code = "5SrS÷9@rq×Ï䇟œ"
' mored baraye cod shodan
DataString = txt_pass.Value
' cod shodan
Translate
الان ما خروجی دیکد شده داریم و توی Temp$ ذخیره شده و اونو وارد فیلد رمز می کنیم
rst.Fields("pass") = Temp$
نحوه اعتبار سنجی رمز
رمز دیکد شده از جدول رو فراخونی می کنیم و اونو توی DataString می ریزیم که این DataString در فانکشن دیکد به کار رفته
DataString = txt_user.Column(1)
و بعد فانکشن رو فراخونی می کنیم
Translate
الان رمز رو به حالت اول برمیگردونیم و شروع به اعتبار سنجی و مطابقت دادن رمز وارد شده در قسمت تکست باکس رمز و ذخیره شده در جدول می کنیم که بعد با یک select case ساده می تونیم به کاربر بگیم که رمز معتبر و یا بی اعتبار هست
Select Case txt_pas
Case Is = Temp$
DoCmd.ShowToolbar "main_toolbar", acToolbarYes
DoCmd.Close acForm, "Fr_login"
Case Is <> Temp$
درمواردی که رمز وارد شده با رمز ثبت شده مطابقت ندارد - هر دستوری رو می تونید در این قسمت بنویسید اعم از پیغام خطا، خروج، بلاک کردن ....
موفق باشید