PDA

View Full Version : گرفتن User & Pass فقط یک بار



duji6967
یک شنبه 03 بهمن 1389, 16:30 عصر
چطوری می شه تو یه برنامه، برای ورود به یه فرم جدید فقط یک بار نام کاربری پرسیده شود و پس از خروج از فرم، تا زمانی که به صورت کامل از برنامه خارج نشدیم دیگه برای ورود به همون فرم نام کاربری پرسیده نشه.

Salar Ashgi
یک شنبه 03 بهمن 1389, 20:04 عصر
n تا روش وجود دارد ، ولی ساده ترین راه اینه که از یک متغیر بولین (bool) استفاده کرده و در صورت درست وارد کردن U , P این مقدار برابر با True بشود و بعد
با چک کردن این متغیر براحتی وضعیت مورد نظر را تشخیص داد .

موفق باشید ./

shuriken
دوشنبه 04 بهمن 1389, 08:34 صبح
البته لازم بذکر هست که این متغیر رو باید از نوع static تعریف کنید
وگرنه مجدادا هربار که میخواین فرم رو باز کنید بازم پسورد میخواد ازتون

mehdi.mousavi
دوشنبه 04 بهمن 1389, 09:44 صبح
سلام.
استفاده از چنین متغیرهایی در پروژه های Middle-Size تا Enterprise-Level، باعث پیچیدگی برنامه و حرکت به سمت یه کد اسپاگتی میشه. فرض کنید، الان N تا فرم باز دارید، که کاربر تو هر کدوم از اونها تغییری بوجود آورده ولی داده های مربوطه رو ذخیره نکرده. حالا برنامه اصلی رو میبنده و از شما خواسته شده تا هنگام خروج از برنامه، بازای هر فرم ذخیر نشده، یک بار از کاربر بپرسید که آیا میخواد اطلاعات فرم مربوطه رو ذخیره کنه یا خیر. انتخابهای کاربر نیز عبارت است از بله، خیر و انصراف. اگر انصراف زده بشه، دیگه نباید سوال مربوطه پرسیده بشه، اما در دو حالت دیگه، بر اساس نیاز کاربر باید داده ها ذخیر بشن (یا نشن) و در نهایت از برنامه خارج بشید. برای پیاده سازی چنین چیزی چیکار می کنید؟ تعداد Flag های Static رو افزایش میدید؟ به همین ترتیب، فردا از شما خواسته میشه تا اگر کاربر اطلاعات فلان فرم رو تغییر داد، لیست مربوطه که در صفحه زیری قرار داره بطور خودکار به روز بشه تا هر دو صفحه اطلاعاتشون Sync باشه. اینجا چیکار می کنید؟

همونطور که می دونید در طول یک پروژه نیازها مدام تغییر میکنن، Feedback های جدید از کاربران دریافت میشه و رئیس، هر روز یه چیز جدید میخواد که از نظر تجاری شرکا رو قانع کنه که تیم زنده هستش و داره روی برنامه کار میکنه! پس شما باید بنیان کار رو طوری بنا کنید که بتونه پاسخگوی بیشتر این نیازها باشه، نه اینکه با نیاز دوم یا سوم، کل سیستم از هم متلاشی بشه. بنابراین شما نیاز به یک Model دارید. مدلی که بر اساس اون بتونید کلیه این نیازها رو برنامه ریزی کنید (که یکی از این نیازها، فرضا، گرفتن ID/PWD به ازای هر فرم هستش). یکی از این Model ها، Office Automation Model هستش، که Omar Al Zabir چند سال پیش در مقاله ای در CodeProject (و MSDN) در موردش با جزییات توضیح داده. توصیه میکنم اون مقاله رو حتما بخونید و سعی کنید اونو در برنامه های بعدی خودتون لحاظ کنید.

موفق باشید.