نمایش نتایج 1 تا 40 از 75

نام تاپیک: برنامه مدیریت انبار و فروش جهت کسب و کارهای کوچک (بنکداری)

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #6
    کاربر دائمی آواتار ghasem110deh
    تاریخ عضویت
    اردیبهشت 1393
    محل زندگی
    تهران
    پست
    1,148

    Lightbulb موارد استفاده از ستینگ پروژه

    سلام به همه :)
    انشالله تا امشب توضیحات اصلی رو بدم و سورس بزارم واسه دانلود :)
    و اما بعد ...

    دوستان توی ستینگ برنامه نیاز به این چند تا متغیر داریم : (تصویر ضمیمه)
    که به ترتیب میگم که کجا و چطور استفاده شده - البته همه اینها رو در رجیستری (با کد نویسی) میشه انجام داد که حتی روش بهتری هم هست ... ولی همینم فعلا کار ما رو راه میندازه

    مورد اول (چکباکس مرا بخاطر بسپار)
    توی رویداد چک شدن (منظور تیک شدن) چکباکس خیلی راحت مقادیر ورودی رو توی دو تا متغیر نام کاربری و کلمه عبور که تعریف کردیم ذخیره میکنیم :

    Settings.Default.Log_Remember = true;
    Settings.Default.Username = Txt_User.Text.Trim();
    Settings.Default.Password = Txt_Pass.Text.Trim();
    Settings.Default.Save();


    و بعد توی لود_فرم درست کد رو برعکس میکنیم :

    if (Settings.Default.Log_Remember == true)
    {
    Txt_User.Text = Settings.Default.Username;
    Txt_Pass.Text = Settings.Default.Password;
    }


    مورد دوم (شمارنده)
    کد زیر واسه تولید یه زمان سنج معکوس هستش (شمارش معکوس) :

    /// <summary>
    /// غیر فعال کردن فرم ورود بعد از وارد کردن اشتباه
    /// کلمه عبور و نام کاربری برای پنج بار متوالی
    /// </summary>
    int a = 0;
    int interval = 300;
    void Down_Counter()
    {
    a++;
    Settings.Default.Log_Counter = a;
    Settings.Default.Save();
    if (Settings.Default.Log_Counter == 5)
    {
    Pln_Log.Enabled = false;
    User_Per.ShowBox(@"کاربر گرامی ، شما پنج بار متوالی نام کاربری
    و کلمه عبور را اشتباه وارد کردید .", "عدم مجوز دسترسی !");
    var startTime = DateTime.Now;
    T_Log.Tick += (obj, args) => Lbl_Countdown.Text = (TimeSpan.FromMinutes(5) - (DateTime.Now - startTime)).ToString("hh\\:mm\\:ss") + @"
    پنجره ورود بمدت پنج دقیقه غیر فعال می باشد !";
    T_Log.Start();
    Lbl_Countdown.ForeColor = Color.Black;
    }
    }


    و تایمر :

    /// <summary>
    /// شمارنده معکوس و فعال شدن فرم ورود بعد از پنج دقیه
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void T_Log_Tick(object sender, EventArgs e)
    {
    interval--;
    if (interval == 0)
    {
    T_Log.Stop();
    Pln_Log.Enabled = true;
    a = 0;
    interval = 300;
    Lbl_Countdown.ForeColor = Color.Gainsboro;
    }
    }


    همونطور که مشاهده میکنید گفتیم با هر بار که روی دکمه ورود کلیک شده متغیر a یک واحد افزایش پیدا کنه و در متغیر مربوطه در ستینگ ذخیره بشه و اگر این متغیر حاوی 4 بود و کاربر بازم روی فرم ورود کلیک کرد ...
    پنجره ورود غیر فعال شه (در واقع پنل) و شمارش معکوس (که توی لیبل نمایش داده میشه) شروع به مارش کنه

    نکته : متود Down_Counter باید در رویداد catch دکمه ورود باشه ، یعنی وقتی اطلاعات ورود اشتباه بود و پیغام خطا صادر شد !

    مورد سوم (چک کردن فعال بودن برنامه)
    توی لایه بیزنس (BLL) سه تا کلاس داریم (تو پست بعد میگم) که توی رویداد لود_فرم پنجره اصلی برنامه کار چک کردن برنامه رو بر عهده داره (خیلی ساده هستش - به قول دوست گلم آقا مازیار امنیت تو برنامه های بر پایه Net. خنده داره)
    واسه همین دنبال قوی کردن قفل نرم افزار تو سی شارپ نیستم (البته بدم نمیاد یکی یه قفل خوب بهم بده)
    حالا تو فرم اصلی برنامه :

    private void Expire() // فعالسازی برنامه
    {
    if (Properties.Settings.Default.Reg_Check == true)
    {
    Lbl_Details.Text = String.Empty;
    MN_Active.Enabled = false;
    MN_Active.Text = "نرم افزار ثبت شده است";
    }
    else
    {
    new Serial().Trial_Expired();
    }
    }


    کد کاملا ساده و مشخصه ... میگه اگه متغیر مقدارش true بود برنامه فعاله در غیر اینصورت مراجعه بشه به کلاس Serial (پایین توضیح میدم)
    عکس های ضمیمه عکس های ضمیمه

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •