نمایش نتایج 1 تا 12 از 12

نام تاپیک: تشخیص کاربری که لوگین شده؟

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1389
    پست
    93

    Unhappy تشخیص کاربری که لوگین شده؟

    سلام
    من میخوام وقتی کاربر وارد شد نام کاربری اون در هرفرمی که به اون سرمیزنه درج بشه
    چون فرمها خیلی زیادن میخوام یه راه ساده اعمال کنم که به کارگیریش برای همه فرمها به راحتی امکان پذیرباشه
    تششششکر

  2. #2

    نقل قول: تشخیص کاربری که لوگین شده؟

    راه حلي كه به نظر من رسيد .
    يك متغير عمومي تعريف كن كاربري كه لاگين كرده نام اونو توي اين متغير بريز سپس هر فرمي را كه لود ميكني توي رويداد page load اون اين متغير را صدا بزن و ميتوني توي يك ليبل يا بروي نوار عنوان نشان بدي
    البته اين به نظر من رسيد

  3. #3

    نقل قول: تشخیص کاربری که لوگین شده؟

    همانطور كه دوست عزيز گفتند نام كاربر را در يك متغير بريز و يك سازنده جديد براي هر فرمت تعريف كن كه نام كاربر را بعنوان يك پارامتر دريافت كند با لود كردن هر فرم از سارنده جديد استفاده كن.
    اگر مشكلت حل نشد بگو تا برايت نمونه كد را upload كنم

  4. #4
    کاربر دائمی آواتار taghvajou
    تاریخ عضویت
    تیر 1387
    محل زندگی
    تهران
    سن
    39
    پست
    571

    نقل قول: تشخیص کاربری که لوگین شده؟

    سلام به همه
    من پیشنهاد میدم که برنامه رو به صورت ام دی آی کار کنین و تو فرم اصلیتون از استاتوس بار استفاده کنین.
    وقتی کاربر وارد شد، نام و مشخصات مورد نظرتون رو تو استاتوس بار به صورت لیبل نمایش بدین.
    اینم یه روشه!

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1388
    محل زندگی
    خونه صفر حافظه(NULL)
    پست
    88

    نقل قول: تشخیص کاربری که لوگین شده؟

    نقل قول نوشته شده توسط robat7 مشاهده تاپیک
    همانطور كه دوست عزيز گفتند نام كاربر را در يك متغير بريز و يك سازنده جديد براي هر فرمت تعريف كن كه نام كاربر را بعنوان يك پارامتر دريافت كند با لود كردن هر فرم از سارنده جديد استفاده كن.
    اگر مشكلت حل نشد بگو تا برايت نمونه كد را upload كنم
    اگه لطف کنید که ممنون میشیم

  6. #6
    کاربر دائمی
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    تهران
    پست
    180

    نقل قول: تشخیص کاربری که لوگین شده؟

    نقل قول نوشته شده توسط csharpprogramer88 مشاهده تاپیک
    راه حلي كه به نظر من رسيد .
    يك متغير عمومي تعريف كن كاربري كه لاگين كرده نام اونو توي اين متغير بريز سپس هر فرمي را كه لود ميكني توي رويداد page load اون اين متغير را صدا بزن و ميتوني توي يك ليبل يا بروي نوار عنوان نشان بدي
    البته اين به نظر من رسيد
    وقتی برنامه روی شبکه هست چی؟ممکنه چند کاربر لاگین کنند اونوقت در این متغیر اسم کدوم کاربر هست؟
    لطفا بیشتر توضیح بدید.
    ممنون.

  7. #7
    کاربر دائمی آواتار shahab_ss
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    bangkok
    سن
    43
    پست
    434

    نقل قول: تشخیص کاربری که لوگین شده؟

    پیشنهاد من این هست که یک فرم خالی داشته باشید مثلا به نام BaseForm ،بعد اینگونه کارهارو در اون فرم انجام بدید.
    از این به بعد هر فرمی که تو برنامتون ایجاد میکنید از BaseForm به ارث ببرید .
    به این ترتیب به راحتی میتونید فرمهای یکسان داشته باشید و همه اونها رو از BaseForm کنترل کنید.

  8. #8
    کاربر دائمی آواتار Yasersadegh
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    اروميه
    پست
    393

    نقل قول: تشخیص کاربری که لوگین شده؟

    سلام خدمت همه عزیزان
    دوست عزیز من هم بهتون پیشنهاد می کنم که یه کلاس مخصوص اینگونه متغیرها ایجاد کنید، و در اون یه متغیر استاتیک برایه نام کاربر تعریف کنید. سپس هرجا که بخواهید نام کاربری را استفاده کنید کافیه نام کلاس رو بنویسید و بعداز یک .(نقطه) نام متغیر مورد نظر رو بنویسید!
    مثال:

    Form1.text=class_variable.Username;

    موفق باشید

  9. #9
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    ایران
    سن
    38
    پست
    467

    Wink نقل قول: تشخیص کاربری که لوگین شده؟

    نقل قول نوشته شده توسط taghvajou مشاهده تاپیک
    سلام به همه
    من پیشنهاد میدم که برنامه رو به صورت ام دی آی کار کنین و تو فرم اصلیتون از استاتوس بار استفاده کنین.
    وقتی کاربر وارد شد، نام و مشخصات مورد نظرتون رو تو استاتوس بار به صورت لیبل نمایش بدین.
    اینم یه روشه!
    این یه روش خوبیه

    نقل قول نوشته شده توسط #Faranak مشاهده تاپیک
    وقتی برنامه روی شبکه هست چی؟ممکنه چند کاربر لاگین کنند اونوقت در این متغیر اسم کدوم کاربر هست؟
    لطفا بیشتر توضیح بدید.
    ممنون.
    برنامه وقتی رو شبکه هست ، هیچ مشکلی پیش نمیاد چون هر بار که یک پروسس از برنامت ایجاد بشه این متغییر دوباره و فقط برای اون پروسس ایجاد میشه و هیچ تداخلی با هم ندارند (مراجعه به اصول شئ گرایی)
    نقل قول نوشته شده توسط shahab_ss مشاهده تاپیک
    پیشنهاد من این هست که یک فرم خالی داشته باشید مثلا به نام BaseForm ،بعد اینگونه کارهارو در اون فرم انجام بدید.
    از این به بعد هر فرمی که تو برنامتون ایجاد میکنید از BaseForm به ارث ببرید .
    به این ترتیب به راحتی میتونید فرمهای یکسان داشته باشید و همه اونها رو از BaseForm کنترل کنید.
    این هم روش خوبیه ، ضمنا باعث میشه که سربار کد نویس برای تنضیم یک سری از پراپرتی ها ، تلف نشه (مانند RTL تمام فرم ها ، Start Position تمام فرم ها و ....)
    نقل قول نوشته شده توسط Yasersadegh مشاهده تاپیک
    سلام خدمت همه عزیزان
    دوست عزیز من هم بهتون پیشنهاد می کنم که یه کلاس مخصوص اینگونه متغیرها ایجاد کنید، و در اون یه متغیر استاتیک برایه نام کاربر تعریف کنید. سپس هرجا که بخواهید نام کاربری را استفاده کنید کافیه نام کلاس رو بنویسید و بعداز یک .(نقطه) نام متغیر مورد نظر رو بنویسید!
    مثال:

    Form1.text=class_variable.Username;
    موفق باشید
    به این روش هم BlackBoard یا تخته سیاه گفته می شود
    یعنی جایی که بعضی ها توش مینویسند و بعضی ها از آن داده برداری می کنند

  10. #10
    کاربر دائمی آواتار Saeed.Masoumi
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    نامعلوم
    پست
    539

    نقل قول: تشخیص کاربری که لوگین شده؟

    سلام
    دوستان شما چرا قبل از ایجاد تاپیک سرچ نمی کنید؟؟؟
    این دو مورد رو ببینید اولی سوال و توضیحات دومی هم جوابش

    سوال (در همین تاپیک هم جواب رو دادم)

    این هم تاپیک استاد آرژنگ(جواب سوال شما)

  11. #11
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1389
    پست
    93

    نقل قول: تشخیص کاربری که لوگین شده؟

    نقل قول نوشته شده توسط سعید معصومی مشاهده تاپیک
    سلام
    دوستان شما چرا قبل از ایجاد تاپیک سرچ نمی کنید؟؟؟
    این دو مورد رو ببینید اولی سوال و توضیحات دومی هم جوابش

    سوال (در همین تاپیک هم جواب رو دادم)

    این هم تاپیک استاد آرژنگ(جواب سوال شما)
    ازتذکرتون ممنون
    ولی نمیدونم چرا سرچای من به نتیجه ای که میخوام نمیرسه؟؟؟
    الان دوستان اونقدرپیشنهاد دادن که فکرمیکنم حداقل یکیش بتونه گره ازکارم بازکنه

  12. #12

    نقل قول: تشخیص کاربری که لوگین شده؟

    سلام و ببخشید از تاخیر که خیلی در گیر بودم
    ببین این یک روتین است که با کلیک بر روی منو اجرا می شود

    privatevoid costpointInterfaceToolStripMenuItem1_Click(object sender, EventArgs e)
    {
    CanPass_bol = false;
    FullName_Str = "";
    using (Login Login_Obj = new Login(1,
    "Data Source=servername;Initial Catalog=" +
    "databasename" +
    " ;User ID=username;pwd=password"))
    {
    if (Login_Obj.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
    {
    UserName_Str = Login_Obj.UserName.Trim();
    // پیدا کردن نام کامل کاربراز درون دیتا بیس (شما باید کد خود را جایگزین نمایید
    ClsRetrieveCPUserName Names_Obj = newClsRetrieveCPUserName();
    Names_Obj.RetrieveName(UserName_Str);
    //================================================
    UserType_int = Names_Obj.User_Type;
    FullName_Str = Names_Obj.FirstName + " " + Names_Obj.LastName;

    Names_Obj = null;
    CanPass_bol = true;
    toolStripStatusLabel2.Text = "User: " + FullName_Str;
    }
    } //using
    if (CanPass_bol)
    {
    Form MyCPInterface = newFrmCPInterface(FullName_Str, UserType_int, UserName_Str);
    MyCPInterface.ShowDialog();
    }
    }

    همانطور که ملاحظه می کنی سازنده فرم من (FrmCPInterface) نام کامل کاربر و نوع کاربر و نام کاربری را دریافت می نماید.


    این هم سازنده فرم که کد آن درون فرم قرار دارد و با اجرای

    Form MyCPInterface = newFrmCPInterface(FullName_Str, UserType_int, UserName_Str);

    اجرا می شود

    public FrmCPInterface(string MyUser_str, int MyUserType_int, string My_User_Name_str)
    {
    InitializeComponent();
    toolStripStatusLabel2.Text = "User: " + MyUser_str;
    User_Full_Name = MyUser_str;
    User__Name = My_User_Name_str;
    User_AccessType_int = MyUserType_int;
    if (MyUserType_int == 5)
    //تنظیم سطح دسترسی (باید براساس برنامه خودت آن را تعریف نمایی)
    toolStripMyUtility.Visible = true;
    else
    toolStripMyUtility.Visible = false;
    label5.Text = ""; label6.Text = "";
    //=============================================
    }

    همانطور که می بینی یک سری Property در درون فرم تعریف شده است که از درون سازنده نام کامل کاربر و کد ان و Username را دریافت می کند

    toolStripStatusLabel2.Text = "User: " + MyUser_str;
    User_Full_Name = MyUser_str;
    User__Name = My_User_Name_str;
    User_AccessType_int = MyUserType_int;


    این هم تعریف Property ها

    privatestring User_Full_Name
    {
    set { _My_User_Full_Name_str = value; }
    get { return _My_User_Full_Name_str; }
    }
    privatestring User__Name
    {
    set { _My_User_Name_str = value; }
    get { return _My_User_Name_str; }
    }

    این هم سورس برنامه Login که باید قبلا از آقای هاشمیان از بابت کتاب خوبشان تشکر نمایم

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    namespace AE_Login_T
    {
    publicpartialclassLogin : Form
    {
    #region // Define Variables
    // Private variables
    privateint AttemptCount_int = 0;
    privatebool AllowClosing_bol = false;
    privateint UserID_int;
    privateint UserCheckType_int;
    privatestring UserName_str;
    privatestring Conn_str;
    privatebool PassOK_bol = false;
    // Public Delegates
    publicdelegatevoid_LoginFailed(object sender, EventArgs e);
    publicdelegatevoid_LoginSucceeded(object sender, EventArgs e);
    publicdelegatevoid_LoginCancelled(object sender, EventArgs e);
    // Public Events
    publicevent_LoginFailed LoginFailed;
    publicevent_LoginSucceeded LoginSucceeded;
    publicevent_LoginCancelled LoginCancelled;
    #endregion
    privatevoid btnCancel_Click(object sender, EventArgs e)
    {
    //Raise the Loging Cancell event
    if (this.LoginCancelled != null)
    this.LoginCancelled(this, newEventArgs());
    //Turn on the Allow Closing Flag
    AllowClosing_bol = true;

    }
    privatevoid btnOK_Click(object sender, EventArgs e)
    {
    //Was a username entered?
    if (txtUserName.Text.Trim().Length > 0)
    {
    switch (UserCheckType_int)
    {
    case 1: // CpInterface
    ClsUpdateAuxiliaryTable.ClsCP Myd_obj =
    new ClsUpdateAuxiliaryTable.ClsCP();
    Myd_obj.ReaddbData(Conn_str);
    System.Data.SqlClient.SqlConnection _Myc =
    new System.Data.SqlClient.SqlConnection("Data Source=seoul.doosan.local;Initial Catalog=" +
    Myd_obj.DatbaseName.Trim() + ";User ID=" +
    txtUserName.Text.Trim() +
    ";pwd=" + txtPassword.Text.Trim());
    //System.Data.SqlClient.SqlConnection _Myc =
    // new System.Data.SqlClient.SqlConnection("Data Source=seoul.doosan.local;Initial Catalog=" +
    // Myd_obj.DatbaseName.Trim() + ";User ID=" +
    // Myd_obj.Username.Trim() +
    // ";pwd=" + Myd_obj.Password.Trim());
    try
    {
    _Myc.Open();
    UserID_int = 27;
    UserName_str = txtUserName.Text.Trim();
    //if (this.LoginSucceeded != null)
    //{
    // this.LoginSucceeded(this, new LoginEventAgrs(UserID_int, UserName_str));
    // turn on allow Closing Flag
    AllowClosing_bol = true;
    PassOK_bol = true;
    //}
    //else
    // PassOK_bol = false;
    }
    catch
    {
    PassOK_bol = false;
    }
    _Myc.Close();
    _Myc = null;
    Myd_obj = null;
    break;
    default:
    break;
    }
    if(!PassOK_bol)
    {
    AttemptCount_int++;
    // Informed the user that the password is Invalid
    MessageBox.Show("The Username OR Password you entered was invalid",
    "Login Try " + AttemptCount_int.ToString() + " of 3",
    MessageBoxButtons.OK, MessageBoxIcon.Information);
    // Increment the attempt count
    //Check the attempt count
    if (AttemptCount_int == 3)
    {
    //Raise the Loging Failed Event
    if (this.LoginFailed != null)
    this.LoginFailed(this, newEventArgs());
    // Set the cancel dialog result
    this.DialogResult = DialogResult.Cancel;
    //Turn on the Allow Closing Flag
    AllowClosing_bol = true;
    }//(AttemptCount_int == 3)
    else
    {
    // Inform the User that they must supply a username
    //MessageBox.Show("You must supply a username", "Login", MessageBoxButtons.OK,
    // MessageBoxIcon.Information);
    }
    }
    }//(txtUserName.Text.Trim().Length > 0)
    }
    public Login()
    {
    InitializeComponent();
    }
    public Login(int MyType, string Connection_str)
    {
    InitializeComponent();
    UserCheckType_int = MyType;
    Conn_str = Connection_str;
    }
    privatevoid Login_Activated(object sender, EventArgs e)
    {
    txtUserName.Text = Environment.UserName;
    txtPassword.Focus();
    }
    privatevoid Login_FormClosing(object sender, FormClosingEventArgs e)
    {
    // If we are not allowing the form to close
    if (!AllowClosing_bol)
    {
    // Set the cancel flag to true
    e.Cancel = true;
    }
    }
    publicint UserID
    {
    get
    {
    return UserID_int;
    }
    }
    publicstring UserName
    {
    get
    {
    return UserName_str;
    }
    }


    }
    }


    کلاس مورد نیاز

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace AE_Login_T
    {
    publicclassLoginEventAgrs : EventArgs
    {
    #region // Define Variables
    int User_ID_int;
    string UserName_str;
    #endregion
    // constructor
    public LoginEventAgrs(int UserIdentifier, string UserNameIdentifier)
    {
    User_ID_int = UserIdentifier;
    UserName_str = UserNameIdentifier;
    }
    }
    }


    از باز هم مشکل داری بگو ببینم چکار می توانم بکنم
    موفق باشی
    آخرین ویرایش به وسیله robat7 : چهارشنبه 22 اردیبهشت 1389 در 03:58 صبح

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

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