-
1 ضمیمه
برنامه ای برای آموزش کار با پایگاه داده (login /چهار عمل بر روی DB/استفاده از عکس/Crystal report)
سلام به همه دوستانم. :لبخندساده:
خیلی وقته می خواستم پروژه ای را در اینجا قرار بدم که بالاخره امروز محقق شد.
در این مدتی که عضو این سایت شدم،شاهد این بودم که خیلی از اعضا سوالاتی مشابه یکدیگر دارند و همگی دنبال نمونه کد وبرنامه هستن ولی بیشتر مواقع برنامه ای که بتونه تمام سوالاتشون را پاسخ بده پیدا نمی کردند.من در بسیاری از قسمت های این برنامه از اطلاعات بچه های همین سایت استفاده کردم. :لبخندساده:
این برنامه شامل موارد زیر هست:
- ورود / حذف / ویرایش / جستجوی اطلاعات
- ذخیره عکس در data base/ و نمایش عکس در picture box و data grid view
- گزارش گیری کلی / و بر اساس یک فیلد خاص در crystal report
- نمایش عکس در crystal
- ارسال پارامتر به crystal
- وجود صفحه login/ برنامه دو فرمه
- و نکات کوچک دیگر
این برنامه را به دو دلیل اینجا میذارم:- دوستانم از این برنامه استفاده کنند و جواب بسیاری از سوالاتشون را که در اینجا مطرح میشه را دریافت کنند و مجبور نباشند که مثل من برای پیدا کردن جواباشون از این تاپیک به اون تاپیک برند، البته می دونم که ممکنه راه حل های بهتری هم وجود داشته باشه،پس دلیل دوم اینه که:
- این برنامه شاید از دید بسیاری از دوستانم حرفه ای نیست، و شاید خیلی اشکالات داشته باشه که دوست دارم همه نظر بدن و من واقعا از اینکه بتونم این برنامه را بهبود بدم خوشحال میشم.
باید اضافه کنم که برنامه تحت نرم افزار visual studio 2008 نوشته شده و پایگاه داده مورد استفاده SQL Server 2008 هست.
بچه ها نظر بدید، لطفا.
همگی هر جا که هستید، پیروز باشید.:لبخندساده:
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
-
1 ضمیمه
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
ای وای بچه ها یادم رفت data base را بذارم.:لبخندساده:
این فایل back up هست که می تونید در SQL آن را restore کنید.
نظر بدیدا.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
یک سوال، چرا استفاده از کریستال؟ چرا از Microsoft ReportViwer استفاده نکردید؟ (سوال است نه انتقاد! ترجیح شخصی من این است که مقدار وابستگیها را تا جایه ممکن کم نگه دارم، ولی در مورد مقایسه کریستال با مایکروسافت ریپورت ویو چیزی نمیدانم).
(وقتی که میگم "چرا" سوال دلیلی است، نه اینکه بخوام کمبودی را برسانم)
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
اَرژنگ
یک سوال، چرا استفاده از کریستال؟ چرا از Microsoft ReportViwer استفاده نکردید؟ (سوال است نه انتقاد! ترجیح شخصی من این است که مقدار وابستگیها را تا جایه ممکن کم نگه دارم، ولی در مورد مقایسه کریستال با مایکروسافت ریپورت ویو چیزی نمیدانم).
(وقتی که میگم "چرا" سوال دلیلی است، نه اینکه بخوام کمبودی را برسانم)
سلام،آقای ارژنگ.
من مجبور بودم از crystal report استفاده کنم، یعنی اینطوری از من خواسته شده بود و هیچ اطلاعی هم از crystal نداشتم و تا اینکه در این سایت عضو شدم و crystal را از اینجا یاد گرفتم و حالا هم می بینم که crystal خیلی قدرت مانور داره.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
سلام / خسته نباشید و دستتون درد نکنه.:تشویق:
چون من خیلی حرفه ای نیستم وقتی کد شما رو می خوندم چند تا سوال واسم پیش اومد
1) چرا توی فرم "صفحه ورود" متد IsValidLogin و کلیه عملیات اعتبار سنجی رو یک جا انجام ندادین؟
-این طوری که من شنیدم یکی از اصول برنامه نویسی شی گرا استقلال هر کلاس است
2)چرا در کلاس Program در شرط حلقه do از عملگر بیتی & استفاده کرده اید در صورتی که بهینه تر بود از عملگر منطقی && استفاده میکردید؟
3) به نظر شما استفاده از tabControl به این شکل کار درستی است؟
4)به نظر شما این کار درستی است که کلاس Form2 متشکل از 3 پروپرتی باشه (6 خط کد) در حالی که کلاس Form1 متشکل از 1397 خط کد داشته باشه؟
-اگه هدف شما آموزش به مبتدیانی مثل من بوده که من اینقدر سردرگم شدم که تغریبا هیچی نفهمیدم و اگر هم شما به صورت حرفه ای یا صنعتی کد نوشین باز توی پشتیبانی maintenance به مشکل بر می خورین!
5)در مورد رنگ بندی و ظاهر برنامه اظهار نظر نمی کنم چون احتمالا" می خواستین هر چه سریع تر پروژه رو بسازید و upload کنید
در ضمن پیشنهاد می کنم عنوان تاپیک رو اصلاح کنید چون خیلی نامفهوم و کلی است
البته یک جمله هست که می گه فقط دیکته نا نوشته غلط نداره.
امید وارم اگه روزی من به درجه ای رسیدم که پروژه ای رو upload کردم بقیه دوستان صادقانه نظراتشون رو واسم ثبت کنند
با تشکر از زحمات همه دوستان مخصوصا sara.f
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
با عرض خسته نباشید و تشکر از شما
من فرصت نکردم خیلی بررسی کنم و سورس رو ندیدم اما مشکلی که مشاهده شد این بود که از Exception Handling که بخش بسیار مهمی در یک نرم افزار محسوب میشه استفاده نشده بود تو برنامه و از اون نظر که این برنامه هدف آموزشی داره یک نقطه ضعف براش محسوب میشه.
ممنون و موفق باشید
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
bermooda
با عرض خسته نباشید و تشکر از شما
من فرصت نکردم خیلی بررسی کنم و سورس رو ندیدم اما مشکلی که مشاهده شد این بود که از Exception Handling که بخش بسیار مهمی در یک نرم افزار محسوب میشه استفاده نشده بود تو برنامه و از اون نظر که این برنامه هدف آموزشی داره یک نقطه ضعف براش محسوب میشه.
ممنون و موفق باشید
سلام
خوب این exception handling که میگید چی هست؟
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
در برنامه دو نوع خطا داریم : خطاهای زمان کامپایل و خطاهای زمان اجرا
خطاهای زمان کامپایل مثل همه خطاهایی که موقع کامپایل کردن توسط کامپایلر گرفته میشن و ما از وجود اونا مطلع میشیم و رفعشون میکنیم.
خطاهای زمان اجرا اما توسط کامپایلر قابل تشخیص نیستند، مثلا فرض کنید شما تو کد یک عمل تقسیم انجام دادید. از نظر کامپایلر این کد کاملا درست هست و خطایی نداره اما زمانی که برنامه در حال اجراست ممکنه یه موقعی مخرج کسر شما صفر بشه و تقسیم بر صفر اتفاق بیفته که یک عمل تعریف نشده هست و در نتیجه برنامه شما crash خواهد کرد. این اتفاق یک Run-time Error یا همون Exception نامیده میشه.
برای جلوگیری از crash کردن برنامه در هنگام چنین Exception هایی از روشی استفاده میشه که در اصطلاح Exception Handling گفته میشه.
برای اطلاعات بیشتر در این مورد به لینک زیر سری بزنید:
http://msdn.microsoft.com/en-us/library/ms173160.aspx
موفق باشید
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
bermooda
در برنامه دو نوع خطا داریم : خطاهای زمان کامپایل و خطاهای زمان اجرا
خطاهای زمان کامپایل مثل همه خطاهایی که موقع کامپایل کردن توسط کامپایلر گرفته میشن و ما از وجود اونا مطلع میشیم و رفعشون میکنیم.
خطاهای زمان اجرا اما توسط کامپایلر قابل تشخیص نیستند، مثلا فرض کنید شما تو کد یک عمل تقسیم انجام دادید. از نظر کامپایلر این کد کاملا درست هست و خطایی نداره اما زمانی که برنامه در حال اجراست ممکنه یه موقعی مخرج کسر شما صفر بشه و تقسیم بر صفر اتفاق بیفته که یک عمل تعریف نشده هست و در نتیجه برنامه شما crash خواهد کرد. این اتفاق یک Run-time Error یا همون Exception نامیده میشه.
برای جلوگیری از crash کردن برنامه در هنگام چنین Exception هایی از روشی استفاده میشه که در اصطلاح Exception Handling گفته میشه.
برای اطلاعات بیشتر در این مورد به لینک زیر سری بزنید:
http://msdn.microsoft.com/en-us/library/ms173160.aspx
موفق باشید
مرسی از راهنماییتون.
خوب این exception handling که گفتید که همون استفاده از try,catch هست
منم توی برنامم استفاده کردم که!!!!!!!!!!!!!
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
خوب شايد به درستي استفاده نكردين چون اگر فايل ديتابيس نباشه برنامه كرش ميكنه بدون اينكه پيغامي در مورد خطا بده.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
bermooda
خوب شايد به درستي استفاده نكردين چون اگر فايل ديتابيس نباشه برنامه كرش ميكنه بدون اينكه پيغامي در مورد خطا بده.
شما برنامه را اجرا کردید؟!
اگه db نباشه که پیغام خطا میده
crash هم نمیکنه!!!!!
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
بله
با نام كاربري Admin و كلمه عبور 1234
اما فرم بعدي رو نشون نميده ، پيغام هم نشون نميده وپنجره send error ويندوز رو مياره
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
bermooda
بله
با نام كاربري Admin و كلمه عبور 1234
اما فرم بعدي رو نشون نميده ، پيغام هم نشون نميده وپنجره send error ويندوز رو مياره
خیلی واسم عجیبه!!!!!!!!!!!!!:متفکر:
چون من حتی الان db را delete کردم ولی وقتی فرم اصلی باز میشه پیغام خطایی مبنی بر اینکه نمی تونه db را پیدا کنه را داد.
دوستان دیگر هم مشکل آقای برمودا را دارند؟!!!!
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
سلام دوست عزیز.
ممنونم که نظراتت را بیان کردی.
نقل قول:
نوشته شده توسط
alireza_tavakol
1) چرا توی فرم "صفحه ورود" متد IsValidLogin و کلیه عملیات اعتبار سنجی رو یک جا انجام ندادین؟
دلیل خاصی ندارم.
این روش login کردن، یکی از روش هایی بود که یکی از استادان برنامه نویسی در این سایت به من پیشنهاد کرد و از آنجا که ازسایر روش های پیشنهادی اصول شی گرایی را بهتر رعایت کرده بود و کاراتر بود از آن استفاده کردم ولی باید بگم که روش های بهتر هم ممکنه وجود داشته باشه.
نقل قول:
2)چرا در کلاس Program در شرط حلقه do از عملگر بیتی & استفاده کرده اید در صورتی که بهینه تر بود از عملگر منطقی && استفاده میکردید؟
از آنجا که در C# برخلاف جاوا هر عملوند منطقی یک معادل عددی داره، پس استفاده از عملگر بیتی در اینجا مشکلی ایجاد نمی کنه، ولی استفاده از یک عملگر منطقی برای محاسبه عملیات عملوندهای منطقی، مناسب تر هست. تصحیحش می کنم.
نقل قول:
3) به نظر شما استفاده از tabControl به این شکل کار درستی است؟
منظورتون چه شکلی هست؟
خوب من در این برنامه از tabcontrol استفاده کردم ولی در جواب سوال چهارمتون باید بگم
نقل قول:
4)به نظر شما این کار درستی است که کلاس Form2 متشکل از 3 پروپرتی باشه (6 خط کد) در حالی که کلاس Form1 متشکل از 1397 خط کد داشته باشه؟
این را درست می گید،استفاده از menu ها و form های بیشتر فکر می کنم، فهم برنامه را بهتر کنه، سعی می کنم همین برنامه را با form های بیشتری بنویسم.
نقل قول:
5)در مورد رنگ بندی و ظاهر برنامه اظهار نظر نمی کنم چون احتمالا" می خواستین هر چه سریع تر پروژه رو بسازید و upload کنید
در مورد رنگش هم نظر بدید لطفا.
نقل قول:
در ضمن پیشنهاد می کنم عنوان تاپیک رو اصلاح کنید چون خیلی نامفهوم و کلی است
به نظر شما چه عنوانی انتخاب کنم؟
ممنونم از حسن توجهتون.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
sara.f
خیلی واسم عجیبه!!!!!!!!!!!!!:متفکر:
چون من حتی الان db را delete کردم ولی وقتی فرم اصلی باز میشه پیغام خطایی مبنی بر اینکه نمی تونه db را پیدا کنه را داد.
دوستان دیگر هم مشکل آقای برمودا را دارند؟!!!!
سلام
راستش من چون هنوز از 2005 استفاده میکنم و متاسفانه نتونستم محیط اصلی این برنامه را مشاهده کنم .
دوستمون bermooda درست میگین . exception handling از قسمتهای مهم برنامه محسوب می شه .
این طور که مشخصه شما عکس العمل خودتون را در صورت نبود دیتابیس نشون ندادین .
تا حد ممکن باید جلوی باگهای احتمالی برنامه را گرفت و به هیچ وجه نباید اجازه داد که خطای send error ویندوز به کاربر نشون داده بشه . چون کاربر متوجه میشه که ما فکری به حال این خطای احتمالی نکردیم .
من هم وقتی هم در صورت وجود نداشتن دیتابیس با خطاری send error ویندوز مواجه میشم .
چون من نتونستم به تمامی قسمتهای برنامه دسترسی داشته باشم نمیتونم نظر دیگه ای بدم .
مرسی بابت زحمتی که کشیده اید .
موفق باشی
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
mahdi_7610
این طور که مشخصه شما عکس العمل خودتون را در صورت نبود دیتابیس نشون ندادین .
سلام.
ببخشید من متوجه نشدم.
منظورتون چیه که عکس العمل نشون ندادم؟
نقل قول:
من هم وقتی هم در صورت وجود نداشتن دیتابیس با خطاری send error ویندوز مواجه میشم .
این جملتون را هم که اصلا نمیدونم چی نوشتید!!!!!
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
سلام.
ببخشید من متوجه نشدم.
منظورتون چیه که عکس العمل نشون ندادم؟
یعنی وقتی کاربر رمز عبور را وارد میکنه ممکنه در ورود به برنامه دچار مشکل بشه . مثل نبودن دیتابیس . در این صورت شما باید فکر به حال این قضیه بکنید و پیغام مناسبی به کاربر بدید که کاربر دقیقا متوجه بشه مشکل از کجا هستش .
نقل قول:
این جملتون را هم که اصلا نمیدونم چی نوشتید!!!!!
یعنی وقتی دیتابس پیدا نمیشه کاربر با پیغام send error ویندوز مواجه میشه . و این یعنی کاربر به هیچ وجه نمیدونه که مشکل از کجاست و چی کار باید بکنه .
من اصلا برنامه را ندیدم و فقط همین فرم logon را دیدم .
اما هیچ کدوم از اینا ارزش کار شما را کم نمیکنه .
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
mahdi_7610
یعنی وقتی کاربر رمز عبور را وارد میکنه ممکنه در ورود به برنامه دچار مشکل بشه . مثل نبودن دیتابیس . در این صورت شما باید فکر به حال این قضیه بکنید و پیغام مناسبی به کاربر بدید که کاربر دقیقا متوجه بشه مشکل از کجا هستش .
یعنی وقتی دیتابس پیدا نمیشه کاربر با پیغام send error ویندوز مواجه میشه . و این یعنی کاربر به هیچ وجه نمیدونه که مشکل از کجاست و چی کار باید بکنه .
من اصلا برنامه را ندیدم و فقط همین فرم logon را دیدم .
اما هیچ کدوم از اینا ارزش کار شما را کم نمیکنه .
آخه دوست عزیزم، شما که هنوز برنامه را اجرا نکردید!
همون طور که گفتم اگه db نباشه، پیغام send error نمیده، بلکه در فرم اصلی پیغامی به کاربر میده که میگه db را نتونستم پیدا کنم.
واسه شما هم مگه پیغام send error داده؟
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
آخه دوست عزیزم، شما که هنوز برنامه را اجرا نکردید!
چه ربطی داره . :لبخند:
کاربر چه برنامه را کامل اجرا کرده باشه چه نکره باشه شما نباید هیچ جای سوالی برای کاربر بزارید .
نقل قول:
همون طور که گفتم اگه db نباشه، پیغام send error نمیده، بلکه در فرم اصلی پیغامی به کاربر میده که میگه db را نتونستم پیدا کنم.
اصلا فرم اصلی باز نمیشه . پیغام send error میده
نقل قول:
واسه شما هم مگه پیغام send error داده؟
بله
چون من کامل برنامه را ندیدم دیگه اظهار نظر نمی کنم . :چشمک:
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
mahdi_7610
چه ربطی داره . :لبخند:
ربطش توی اینه که وقتی میگی من برنامه را اجرا نکردم، منم فکر می کنم که داری بر اساس پست ها ی قبلی صحبت میکنی و تا الان نمی دونستم که واست پیغام send error داده.
واسه منم این پیغام را نمیده و واسه همینم علم غیب ندارم که بدونم چرا توی سیستم شما اینطوریه؟! نمی دونم.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
sara.f
خیلی واسم عجیبه!!!!!!!!!!!!!:متفکر:
چون من حتی الان db را delete کردم ولی وقتی فرم اصلی باز میشه پیغام خطایی مبنی بر اینکه نمی تونه db را پیدا کنه را داد.
دوستان دیگر هم مشکل آقای برمودا را دارند؟!!!!
منم دقیقا همین مشکل رو دارم
اینم پیغام ویندوز:
project 2 has encountered a problem and needs to close. We are sorry for the inconvenience
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
گفته بودید در مورد رنگ اش هم نظر بدیم:
ببخشید البته:
خیلی بچه گونه است!!
در ضمن در مورد login بهتره کاربر رو محدود کنید تا بیش از مثلا 5بار که نام کاربری و پسورد رو اشتباه داد بطور کامل از برنامه خارج بشه.
واز طرفی پیغام مبنی بر رمز اشتباه است هم برای نام کاربری و هم برای پسورد جالب نیست.
بهتره برنامه چک کنه و ببینه کدوم یکی اشتباه و تک تک اعلام کنه.
(البته نظر شخصی منه. حیف که 2008 نصب نکردم و نمیتونم سورس رو کامل ببینم. مجبورم تا اواخر مهر با 2005 کار کنم!)
موفق باشید.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
ali_autumnal
منم دقیقا همین مشکل رو دارم
اینم پیغام ویندوز:
project 2 has encountered a problem and needs to close. We are sorry for the inconvenience
گفتم که من واقعا نمی دونم چرا؟!!!!!!!!
چونکه واسه خودم این پیغام را نمیده، لطفا اگه کسی برنامه را کامل اجرا کرد به منم بگه اشکال کار از کجاست؟
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
ali_autumnal
گفته بودید در مورد رنگ اش هم نظر بدیم:
ببخشید البته:
خیلی بچه گونه است!!
جدا؟!!!!
آخه من از رنگای شاد خوشم میاد.
یعنی از این به بعد از رنگای تیره استفاده کنم تا بزرگونه بشه؟!
نقل قول:
واز طرفی پیغام مبنی بر رمز اشتباه است هم برای نام کاربری و هم برای پسورد جالب نیست.
بهتره برنامه چک کنه و ببینه کدوم یکی اشتباه و تک تک اعلام کنه.
باشه اینو در نظر می گیرم.
ممنونم.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
می خواستم بدونم این برنامه نکته مثبتی هم داشت؟!!! :ناراحت:
یا سراسر ایراد و اشکاله؟
50 نفر دیگه ای که این برنامه رو download کردن نظری نداشتن؟!
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
چرا نكات مثبتش خيلي بيشتر از ايراد هاشه.
همه بحث هاي آموزشي كه در برنامه قرار دادين جزو نكات مثبت برنامه محسوب ميشن.
در مورد ظاهر برنامه نميشه به صورت قطعي نظر داد چون فاكتورهاي زيادي داره و بسته به نوع برنامه و كاربران، دچار تغييرات زيادي ميشه. مثلا يك برنامه مديريتي براي يك سازمان رسمي مسلما خيلي با يك برنامه آموزشي از نظر ظاهري متفاوت خواهد بود و اصلا مقايسه اين دو با هم كار بي معني اي هست.
بحث ديگه اينه كه ممكنه نظر دو نفر در مورد ظاهر يك برنامه فرق داشته باشه و نبايد به گونه اي كه در پست هاي قبلي ديده ميشه اظهار نظر مطلق كرد و تنها ميشه نظر شخصي رو بيان كرد.
من چون فرم اصلي برنامه رو نديدم نميتونم نظري بدم اما اين نكات رو عرض كردم چون ديدم موضوع و مسير بحث داره منحرف ميشه.
موفق باشيد
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
با تشکر از دوستانی که نظرات خود را ثبت کردند تا گامی در ارتقاع سطح علمی همگان باشد
برنامه شما از نظر Exception Handling روی سیتم من شکلی نداشت ( راستشو بخواهید من اصلا" بانک برنامه شما رو دانلو نکردم و توانستم برنامه شما رو اجرا کنم و هیچ خطایی ندیدم) من فکر میکنم mahdi_7610 چون روی سیستمش VS2005 داره و پروژه شما با فرم ورک 3.5 کامپایل شده واسه همین قبل از اجرای برنامه با خطا مواجه شده ولی نمی دونم چرا دوست و استاد عزیزم آقای برمودا با خطا مواجه شده ؟
من اگه جای شما بودم فایل بانک اطلاعاتی رو بدون استفاده از SQL Server قابل استفاده قرار می دادم تا این حرف و حدیثا پیش نیاد ( استفاده از SQLEXPRESS )
نقل قول:
نوشته شده توسط
ali_autumnal
پیغام مبنی بر رمز اشتباه است هم برای نام کاربری و هم برای پسورد جالب نیست.
بهتره برنامه چک کنه و ببینه کدوم یکی اشتباه و تک تک اعلام کنه.
من با این نظر مخالفم چون امنیت داخلی برنامه به شدت کاهش پیدا میکنه ، کمااینکه من توی هیچ برنامه حرفه ای این سناریو رو ندیدم
البته من همیشه دوست دارم دیگران معایب کار هام رو بهم بگن واسه همین من فقط در مقام یک منتقد قرار میگیرم ولی اگه بخواهم دور از این دیدگاه نظر بدم ، برنامه شما نکات خیلی خوبی هم داشت مثلا" استفاده از فایل app.config برای ذخیره رشته اتصال یا مثلا" استفاده از panel و تنظیم خصوصیت dock که در هنگام طراحی فرم ها خیلی کمک میکنه به آسایش برنامه نویس و ... شاید این نکاتی که شما رعایت کردین کمتر برنامه نویسی بهش توجه می کنه
در کل من وقتی از چیزی انتقاد میکنم به این معنا است که اون چیز ارزش بررسی رو داشته و واسم قابل توجه بوده که وقت گذاشتم .و البته شما نباید از انتقاد دوستان ناراحت بشید
نقل قول:
نوشته شده توسط
sara.f
در مورد رنگش هم نظر بدید لطفا.
ظاهر برنامه
تا حالا به رفتار برنامه های بزرگ مثل فوتشاپ یا آفیس و ... در هنگام تغییر تنظیمات سیستم عاملتون توجه کردین؟
- اگه شما تنظیمات گرافیکی سیستم عاملتون رو تغییر بدین (right click in desktop -> properties -> themes) یا (right click in desktop -> properties -> appearance -> color schema)
رنگ دکمه ها و یا فرم های این برنامه ها نسبت به سیستم عامل شما هماهنگ میشه ولی با این تغییری که شما در برنامتون دادین این قابلیت رو از کاربر گرفتین!
در ضمن وقتی که قرار فرم های برنامه ما رنگ خواصی داشته باشه باید هم رنگ با فرم های حقیقی و فیزیکی محیط کار باشه تا کاربر به تونه راحتر با برنامه کامپیوتری هماهنگ بشه ( یکی از اصول طراحی داخلی برنامه مربوط میشه به مهندسی نرم افزار )
اما اگه قرار رنگ بندی داخلی برنامه کاملا" اجباری باشه باید از علم وان شناسی و تاثیر رنگ ها خبر داشته باشم و همچنین به میزان نور در محیط و حالت های کابر استفاده کننده خبر داشته باشیم ( اصلی تریم مبحث دروس گرافیک کامپوتری1 و 2 )
روش استفاده از tabControl
شما توی کدام برنامه یا کجای سیستم عامل دیدین که مباحثی که هیچ ربطی به هم ندارن در tabpage ها در کنار هم قرار گرفته باشند؟ ( ایجاد ، ویرایش ، حذف ، جستجو و گزارش هیچ ربطی به هم ندارن)
وقتی از tabControl استفاده میکنیم که قرار باشد اطلاعات مرتبط با یک موضوع را در چند بخش قرار دهیم و در نهایت دو عدد دکمه در پایین tabControl قرار دارد برای ثبت کلیه اطلاعات وارد شده در همه tabpage ها ، و یک دکمه برای انصراف از ذخیره مقادیر وارد شده در tabpage ها
در برنامه شما 4 تا دکمه خروج وجو داره که همشون یک کار ور انجام میدن ولی اگه پنجره درست طراحی شده بود هیچگاه این اتفاق نمی افتاد
توضیحات comment
یکی از اصلی ترین بخش های برنامه که شما اصلا" بهش اهمیتی ندادین
احراز هویت
من اصلا" اعتقادی به استفاده از این روش شما ندارم و اصلا" دوست ندارم توی برنامه هام از math.asb برای احراز هویت استفاده کنم شما می تونستید از دو تا شرط تو در تو استفاده کنید
نقل قول:
نوشته شده توسط
sara.f
به نظر شما چه عنوانی انتخاب کنم؟
عنوان تاپیک
مثلا" : یک برنامه ای برای ذخیره داده ها و عکس در بانک و گزارش گیری توسط Crystal
با تشکر از روحیه سخاوتمندانه شما دوست عزیز که حاضر شده اید source برنامه خود را در جلو دیدگان ما طالبان علم قرار دهید:لبخندساده:
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
ali_autumnal
واز طرفی پیغام مبنی بر رمز اشتباه است هم برای نام کاربری و هم برای پسورد جالب نیست.
بهتره برنامه چک کنه و ببینه کدوم یکی اشتباه و تک تک اعلام کنه.
فکر کنم این یک از خطاهای بزرگی است که بعضی از برنامه نویسان مرتکب میشن من هم با دوستمونalireza_tavakol موافقم چون این کار باعث میشه که ما امنیت برنامه رو یه پله بایین بیاوریم و اینکه کاربر بدونه کدوم ایتم رو اشتباه وارد کرده اصلا ایده خوب و جالبی نیست
برنامه هم بدون دیتابیس روی سیستم من اجرا شد و تا حالا خطای send error نداده
فکر کنم دوست عزیز alireza_tavakol به تمام موارد اشاره کردند
با تشکر از همه دوستان
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
بهتر بود با sql2005 می نوشتی تا همه استفاده می کردن
من که نتوستم برنامه ی شما را ببینم
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
سلام
خب پس دیدید exception handling من اشکالی نداره؟ :لبخندساده:
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
alireza_tavakol
من اگه جای شما بودم فایل بانک اطلاعاتی رو بدون استفاده از SQL Server قابل استفاده قرار می دادم تا این حرف و حدیثا پیش نیاد ( استفاده از SQLEXPRESS )
سلام
مرسی از نظرات دوستان.
چطوری؟ یعنی همین که db را در برنامه Add کنم؟
من میخواستم این کار را انجام بدم، ولی خب نیازی ندیدم و فایل db را گذاشتم.
البته فکر می کنم برای تعیین source برای crystal report هم با مشکل مواجه شده بودم.
نقل قول:
در کل من وقتی از چیزی انتقاد میکنم به این معنا است که اون چیز ارزش بررسی رو داشته و واسم قابل توجه بوده که وقت گذاشتم .و البته شما نباید از انتقاد دوستان ناراحت بشید
من از انتقاد دوستان ناراحت نشدم، چون خودم گفته بودم اشکالات برنامه را بگید، البته از این که، کسیکه هنوز نتونسته برنامه را کامل اجرا کنه، اشکالی میگیره که منم گیج میکنه خوشحال نمیشم.
نقل قول:
تا حالا به رفتار برنامه های بزرگ مثل فوتشاپ یا آفیس و ... در هنگام تغییر تنظیمات سیستم عاملتون توجه کردین؟
- اگه شما تنظیمات گرافیکی سیستم عاملتون رو تغییر بدین (right click in desktop -> properties -> themes) یا (right click in desktop -> properties -> appearance -> color schema)
رنگ دکمه ها و یا فرم های این برنامه ها نسبت به سیستم عامل شما هماهنگ میشه ولی با این تغییری که شما در برنامتون دادین این قابلیت رو از کاربر گرفتین!
در ضمن وقتی که قرار فرم های برنامه ما رنگ خواصی داشته باشه باید هم رنگ با فرم های حقیقی و فیزیکی محیط کار باشه تا کاربر به تونه راحتر با برنامه کامپیوتری هماهنگ بشه ( یکی از اصول طراحی داخلی برنامه مربوط میشه به مهندسی نرم افزار )
اما اگه قرار رنگ بندی داخلی برنامه کاملا" اجباری باشه باید از علم وان شناسی و تاثیر رنگ ها خبر داشته باشم و همچنین به میزان نور در محیط و حالت های کابر استفاده کننده خبر داشته باشیم ( اصلی تریم مبحث دروس گرافیک کامپوتری1 و 2 )
خب باید به طور مثال رنگ این برنامه را چطوری انتخاب میکردم؟
نقل قول:
روش استفاده از tabControl
شما توی کدام برنامه یا کجای سیستم عامل دیدین که مباحثی که هیچ ربطی به هم ندارن در tabpage ها در کنار هم قرار گرفته باشند؟ ( ایجاد ، ویرایش ، حذف ، جستجو و گزارش هیچ ربطی به هم ندارن)
وقتی از tabControl استفاده میکنیم که قرار باشد اطلاعات مرتبط با یک موضوع را در چند بخش قرار دهیم و در نهایت دو عدد دکمه در پایین tabControl قرار دارد برای ثبت کلیه اطلاعات وارد شده در همه tabpage ها ، و یک دکمه برای انصراف از ذخیره مقادیر وارد شده در tabpage ها
در برنامه شما 4 تا دکمه خروج وجو داره که همشون یک کار ور انجام میدن ولی اگه پنجره درست طراحی شده بود هیچگاه این اتفاق نمی افتاد
توی دانشگاه :لبخند:
وقتی از اول اینطوری به من یاد دادن، خب منم برنامم را همین طوری طراحی می کنم.
خیلی از قسمتهایی که شما در این برنامه می بینید را خودم یاد گرفتم و همون طور که گفتم به تازگی فهمیدم که ابزاری به نام menue ها هم داریم و میخوام این برنامه را با menu بنویسم.خوبه؟
نقل قول:
توضیحات comment
یکی از اصلی ترین بخش های برنامه که شما اصلا" بهش اهمیتی ندادین
نه اینکه نخواستم اهمیت بدم ولی خوب فکر نمی کردم لازم باشه.
یعنی هر وقت خواستم در این سایت برنامه ای up کنم باید از comment استفاده کنم؟
نقل قول:
احراز هویت
من اصلا" اعتقادی به استفاده از این روش شما ندارم و اصلا" دوست ندارم توی برنامه هام از math.asb برای احراز هویت استفاده کنم شما می تونستید از دو تا شرط تو در تو استفاده کنید
من اولین بار بود که داشتم در یه برنامه از احراز هویت استفاده میکردم و این روشم، روش خودم نیست وگفتم که از توی سایت فهمیدم و به روش دیگه ای هم فکر نکرده بودم.
حالا روش شما چه طوریه؟
نقل قول:
با تشکر از روحیه سخاوتمندانه شما دوست عزیز که حاضر شده اید source برنامه خود را در جلو دیدگان ما طالبان علم قرار دهید:لبخندساده:
خواهش می کنم و خوشحالم که با این کار خودمم دارم مطالبی را یاد می گیرم .
البته به نظر من کسیکه برنامش را در سایت قرار میده تا دیگران استفاده کنند و یه چیزی یاد بگیرن، پس اگر source برنامه را نذارن ارزشی نداره، چون من به شخصه بدون source چیزی یاد نمی گیرم و همیشه وقتی می خواستم از برنامه ای استفاده کنم و می دیدم source برنامه نیست خیلی ناراحت می شدم.
به هر حال مرسی و بازم منتظرم که نظر بدید دوستان من. :لبخندساده:
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
debugger
بهتر بود با sql2005 می نوشتی تا همه استفاده می کردن
من که نتوستم برنامه ی شما را ببینم
خب حیف شد!
ولی آخه دوست عزیز وقتی تمام زندگی من 2008 هست که من نمی تونم واسه یه برنامه همه رو بکنم 2005!!!
در ضمن من پیشنهاد می کنم شما هم کم کم version 2008 را نصب کنید، خیلی خوبه. :لبخند:
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
من می خواستم عنوان تاپیک را یکمی تغییر بدم ولی فقط عنوان اولین پستم تغییر کرد. :لبخند:
چطوریاست؟!!!
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
به يكي از مديران پيغام خصوصي بدين تا تغيير بدن عنوان تاپيك رو
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
2008 خیلی بهتر از 2005 هست اما من یکسری کامپوننت ها دارم کرک شده که فقط روی2005 می تونم از اونها استفاده کنم!
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
سلام سارا خانوم چطوری دیتا بیس رو پیدا کنم؟
دیتا بیس رو تو کدوم قسمت گذاشتین ؟
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
zahra_63
سلام سارا خانوم چطوری دیتا بیس رو پیدا کنم؟
دیتا بیس رو تو کدوم قسمت گذاشتین ؟
سلام عزیزم.
data base را در پست 3 گذاشتم.
این یک backup از db اصلی هست که بایدبرای استفاده در SQL server آن را restore کنی.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
سلام دوست عزیز، متاسفانه امکان دیدن برنامتون در حال حاضر برام امکان پذیر نسیت، اما همین که لطف کردیدو این برنامه رو (چه با اشکال و چه بی اشکال ) گذاشتید تا بقیه دوستانتون استفاده کنندخودش خیلی کار قشنگیه، موفق باشید
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
saeeedft
سلام دوست عزیز، متاسفانه امکان دیدن برنامتون در حال حاضر برام امکان پذیر نسیت، اما همین که لطف کردیدو این برنامه رو (چه با اشکال و چه بی اشکال ) گذاشتید تا بقیه دوستانتون استفاده کنندخودش خیلی کار قشنگیه، موفق باشید
از همگی ممنونم.
امیدوارم بتونید برنامه را ببینید و نظر بدید.
د.وستانم لطفا در نظر سنجی هم شرکت کنید تا بهتر برام مشخص بشه که چقدر این برنامه مفید بوده.:لبخندساده:
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
alireza_tavakol
1) چرا توی فرم "صفحه ورود" متد IsValidLogin و کلیه عملیات اعتبار سنجی رو یک جا انجام ندادین؟
-این طوری که من شنیدم یکی از اصول برنامه نویسی شی گرا استقلال هر کلاس است
اگر منظورتان این است که چرا کد اعتبار سنجی را نریختن تو فرم لگین و به یک کلاس دیگر که خصوصیتش اعتبار سنجی است واگذار کردن جوابش همانی است که خودتان گفتید: "یکی از اصول برنامه نویسی شی گرا استقلال هر کلاس است"
وظیفه فرم لگین فقط نشان دادن یک دایالوگ برایه گرفتن اعتبارات کاربر است، منطق اینکه با اعتبارات چکار باید بشه که درست بودن و یا نبودنشان قضاوت بشه از عهده فرم زیادیه، و به یک کلاس متخصص به اینکار مربوط میشه.
اینکه هر کلاس باید استقلال داشته باشد به این معنی نیست که همه چی را باید در یکجا انجام داد، بلکه به کلاسهایی که برایه انجام خورده کاریهایه که تخصص دارند واگذار و استفاده میشن.
در سطح بالاتر یک لایه برایه سکیوریتی استفاده میشه، روشی که سین پین برایه مثال لگین در همین تالار گذاشته، حتی از کلاس دیگر استفاده نمیکنه، از اینترفیس برایه واگذاری و پیاده کردن منطق که ممکن است به شکل داینامیک در زمان اجرا وصل بشه استفاده میکنه.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
با تشکر از مدیران محترم که همواره آف تاپیک ها رو مورد عنایت قرار می دهند:چشمک:
نقل قول:
نوشته شده توسط
اَرژنگ
وظیفه فرم لگین فقط نشان دادن یک دایالوگ برایه گرفتن اعتبارات کاربر است، منطق اینکه با اعتبارات چکار باید بشه که درست بودن و یا نبودنشان قضاوت بشه از عهده فرم زیادیه، و به یک کلاس متخصص به اینکار مربوط میشه.
اینکه هر کلاس باید استقلال داشته باشد به این معنی نیست که همه چی را باید در یکجا انجام داد، بلکه به کلاسهایی که برایه انجام خورده کاریهایه که تخصص دارند واگذار و استفاده میشن.
مفهوم واژه استقلال در جایگاه معین می شود و باید توجه داشت که کاملا" نسبی است و هیچگاه نمی توان با قاطعیت کامل در این باره صحبت کرد.
به نظر حقیر وقتی قرار است عملیات احراز هویت به صورت پویا (تعداد کاربران نامعلوم باشد و به صورت مجتمع در پایگاه داده ها ذخیره شده باشد ) ، لازم است برای اعتبار سنجی مقادیر وارد شده لایه ها و کلاس های متعددی در نظر گرفته شود.
اما در برنامه هایی که عملیات احراز هویت به صورت ایستا ( در کد برنامه نام کاربری و رمز عبور مشخص شده باشد ) پیاده سازی شود ، بهتر است اعتبار سنجی کلیه عملیات به صورت یکجا صورت بگیرد.
نقل قول:
نوشته شده توسط
اَرژنگ
در سطح بالاتر یک لایه برایه سکیوریتی استفاده میشه، روشی که سین پین برایه مثال لگین در همین تالار گذاشته، حتی از کلاس دیگر استفاده نمیکنه، از اینترفیس برایه واگذاری و پیاده کردن منطق که ممکن است به شکل داینامیک در زمان اجرا وصل بشه استفاده میکنه.
اگه لطف کنید و لینک مستقیم پست مربوطه را درج کنید و کمی در این باره توضیح دهید چون من تا حالا چند بار این مطلب رو خوندم ولی به عمق مفهومش پی نبردم.
با تشکر/
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
دوست عزیز ممنون از کار قشنگیکه کردی و سورس برنامت رو گذاشتی . خوشبختانه اکثر بچه های برنامه نویس مثل هم هستن و از دادن اطلاعات به هم بدشون نمیاد. برنامت رو من اجرا کردم . وصل نشدن به دیتابیس رو قشنگ هندل کردی و مشکلی نداشت . چند تا پراپرتی مهم رو سعی کن تو برنامه هات ازشون به درستی استفاده کنی. یکیش مثلا Focus دادن به کنترل ها ، تو فرم لاگین وقتی نمایش داده میشه تکست باکس نام کاربری رو بهش فوکوس بده تا کاربر برنامت مجبور نباشه کلیک کنه داخلش و بعد با یک tab بره کنترل بعدی . یک پراپرتی دیگه Acceptbutton , cancel button هر فرم هستش که از اونا هم باید درست استفاده کنی ، مثلا همین فرم لاگین با زدن Enter کد دکمه ورود اجرا بشه . توی فرم اطلا عات کارمندان Tabindex ها رو اصلا ست نکردی ،کد کارمند که کلید اصلی شماست و idendity هم هستش و کاربربه هیچ وجه نمیتونه درش تغییری اعمال کنه رو چرا براش یک تکست باکس و لیبل هدر دادی و نشون دادی . توی تب جستجو وقتی بدون انتخاب چک باکسهات جستجو زده میشه هیچ اتفاقی نمیفته : همیشه تو برنامه هات درنظر داشته باش که ممکنه یک کاربر خنگ مثه من با برنامت بخواد کار کنه پس در این جور مواقع یک پیغامی به من بده که باید اول مثلا فیلد جستجو را انتخاب نمایید ..، باتون هات رو نام گذاری نکردی و این میتونه برا خودت هم چندوقته دیگه ایجاد مشکل کنه . برای کار با دیتابیس تو هر برنامه ای که مینویسی سعی کن تمام کارهای مربوط به دیتابیس رو تو یک کلاس انجام بدی ، در مورد مزایای برنامه نویسی چند لایه اساتید به اندازه کافی توضیح دادن تو فروم ، مثلا من تو برنامه های خودم همیشه یک کلاس دارم به نام clsDbConnection که هر ارتباطی که قراره با دیتابیس انحام بشه باید از طریق این کلاس باشه ، اولش این جور کدنویسی برام سخت بود ولی وقتی عادت کنی بهش واقعا از این کار لذت میبری چون این جوری داری به سمتی پیش میری که همه قسمت های برنامت رو از هم تفکیک کنی و هرکاری فقط از طریق یک مجرا ( به قول Red_Code که استاد من هست تو سی شارپ ) انجام میشه . . کلا این ویژگیها رو میتونی به همه برنامه هایی که مینویسی تعمیم بدی .همین چیزای به ظاهر بی اهمیت میتونه خیلی تو کاربرای برنامت تاثیر گذار باشه .البته اینا همش نظرات شخصی من بود و ممکنه برا شما مورد قبول واقع نشه . در مورد نکات مثبت هم که برنامت به نظر من خیلی بیشتر بود نکات مثبتش و اگه بخوام در موردش بگم باید خیلی بنویسم ، مسلما همه متوجه نکات خوب برنامت میشن .بازم ممنون .
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
سلام دوست عزیز.
واقعا وقتی نظر می دید خیلی خوشحال می شم.
به نکته های خوبی اشاره کردید،حتما سعی می کنم که توی نسخه جدید این برنامم که میخوام با فرم های بیشتری بنویسمش این نکات را هم به کار ببرم.
نقل قول:
نوشته شده توسط
corona
یک پراپرتی دیگه Acceptbutton , cancel button هر فرم هستش که از اونا هم باید درست استفاده کنی ، مثلا همین فرم لاگین با زدن Enter کد دکمه ورود اجرا بشه .
در مورد این میشه بیشتر توضیح بدی؟
نقل قول:
برای کار با دیتابیس تو هر برنامه ای که مینویسی سعی کن تمام کارهای مربوط به دیتابیس رو تو یک کلاس انجام بدی ، در مورد مزایای برنامه نویسی چند لایه اساتید به اندازه کافی توضیح دادن تو فروم ، مثلا من تو برنامه های خودم همیشه یک کلاس دارم به نام clsDbConnection که هر ارتباطی که قراره با دیتابیس انحام بشه باید از طریق این کلاس باشه ، اولش این جور کدنویسی برام سخت بود ولی وقتی عادت کنی بهش واقعا از این کار لذت میبری چون این جوری داری به سمتی پیش میری که همه قسمت های برنامت رو از هم تفکیک کنی و هرکاری فقط از طریق یک مجرا ( به قول Red_Code که استاد من هست تو سی شارپ ) انجام میشه . . کلا این ویژگیها رو میتونی به همه برنامه هایی که مینویسی تعمیم بدی
درسته،چون اگر بخوام توی برنامه جدیدم برای وصل شدن به db و .... ، توی هر فرم کد بنویسم، میشه یه عالمه کار بیهوده.
من برنامه نویسی چند لایه را شنیدم ولی تا حالا کار نکردم. خیلی سخته؟؟!!
در ضمن نکاتی که گفتی برای من اصلا بی اهمیت نبود.
لصفا در نظر سنجی هم شرکت کنید.
پیروز باشی :لبخندساده:
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
alireza_tavakol
با تشکر از مدیران محترم که همواره آف تاپیک ها رو مورد عنایت قرار می دهند:چشمک:
مفهوم واژه استقلال در جایگاه معین می شود و باید توجه داشت که کاملا" نسبی است و هیچگاه نمی توان با قاطعیت کامل در این باره صحبت کرد.
به نظر حقیر وقتی قرار است عملیات احراز هویت به صورت پویا (تعداد کاربران نامعلوم باشد و به صورت مجتمع در پایگاه داده ها ذخیره شده باشد ) ، لازم است برای اعتبار سنجی مقادیر وارد شده لایه ها و کلاس های متعددی در نظر گرفته شود.
اما در برنامه هایی که عملیات احراز هویت به صورت ایستا ( در کد برنامه نام کاربری و رمز عبور مشخص شده باشد ) پیاده سازی شود ، بهتر است اعتبار سنجی کلیه عملیات به صورت یکجا صورت بگیرد.
اگه لطف کنید و لینک مستقیم پست مربوطه را درج کنید و کمی در این باره توضیح دهید چون من تا حالا چند بار این مطلب رو خوندم ولی به عمق مفهومش پی نبردم.
با تشکر/
مستقل (Decouple) و یکسان (Cohesion) بودن باید سعی بشه که با هم بالا برده بشند.
وقتی که در کد شروع میکنیم که مفهومات مختلف را با هم قاطی کنیم (منطق درست بودن اعتبارات و نشان دادن و گرفتن اعتبارات)، از یکسانی کد کم میکنیم.
در برنامه هایی که عملیات احراز هویت به صورت ایستا هم انجام بشه، بازهم بهتر است که کارهایه مختلف قسمت بندی بشن و جدا جدا انجام بشن.
چونکه وقتی که کد کارهایه مختلف با هم قاطی میشند از هم باز کردنشان از اول جدا نگه داشتنشان بیشتر زمان میبره.
این هم لینک به پست جناب سینا، استفادهاشان از مفاهیم شییگرایی و اینکه چطوری کارهایه مختلف را با استفاده از روادید از هم مستقل کردند واقعا لذت بردنی هست. همه باید سعی کنند که به این حد کدنویسی عرج کنند (هر دفعه میبینمش از سادگی و تمیزیزیش کیف میکنم، در ضمن هم انعتاف پذیری بالا دارد و به سختی هم نمیشکنه):
https://barnamenevis.org/showthread.php?t=94791
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
سلام دوباره.
خیلی خوبه که دارم مطالب جدید یاد می گیرم، امیدوارم برای شما هم مفید باشه.
مرسی از تمام دوستان خوبم.
فقط کاش به سوالای منم جواب می دادید.
نکته مهم:
ای دوستتتتتتتتتتتتتتتتتتتتتت تان :لبخند: (تمام افرادی که برنامه را download کردند)
از این حدود 100 نفر، فقط 6 نفر در نطر سنجی شرکت کردن. :ناراحت:
لطفا در نظر سنجی هم لطف بفرمایید شرکت کنید، خوشحال میشم. :لبخندساده:
همگی پیروز باشید.
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
sara.f دوست من در نظر سنجی هم شرکت کردیم :دی
برا Accept button وCencel Button پرسیدی . ببین عزیز هر فرمی این دو پراپرتی رو داره . شما وقتی روی فرمت اطلاعات رو داری وارد می کنی اگه خواستی با زدن کلید Enter صفحه کلید کد یکی از باتون هات اجرا بشه ، مثلا تو همون فرم لاگین که داری وقتی نام و پس رو وارد کردی مجیور نباشی بری حتما با موس روی دکمه لاگین کلیک کنی و هر جای فرمت که بودی ، فوکوس فرم دست هر کنترلت که باشه اهمیت نداره ، فقط چیزی که برات مهمه اینه که با زدن Enter کد لاگین اجرا بشه ، برای اینچور مواقع پراپرتی Acceptbutton رو میاریش از توی propertis window وقتی منوی کشوییش رو باز کنی می بینی که اسم تمام باتون های فرم جاری رو برات لییست کرده ، حالا هر باتونی که میخوای با زدن Enter کدش اجرا بشه رو اینجا انتخاب کن . به طور مشابه برای Cancel Button ، هر وقت خواستی با زدن کلید ESC کد یکی از باتون هات اجرا بشه تو این پراپرتی اسم اون باتون رو انتخاب کن ، مثلا دکمه خروج از نرم افزار میتونه گزینه مناسبی باشه .
در مورد برنامه نویسی چند لایه هم که پرسیدی ، دوستان به اندازه کافی براش مطلب گذاشتن تو فروم ، لازمه بهت بگم هیچ سختی نداره و برای این که بخوای برنامه هایی که می نویسی به راجتی در مقابل تغببراتی که در آینده میخوای درش ایحاد کنی منعطف باشه و با دردسر مواحه نشی بهترین شیوه کد نویسی همین 3 لایه ( البته بازم نظر شخصیمه ) هستش .پیشنهاد می کنم برا اینکه به ارزشش بیشتر پی ببری یکم در مورد معماری MVC ( Model - View - Controller مطلب بخونی ، معماری که بخوبی 3 لایه بودن رو به کار گرفته و زبانی مثل Rails کاملا بر اساس این معماری کار می کنه و جوملا هم کاملا با همین معماری کار میکنه .بعد میتونی ایده هایی که از این معماری میگیری رو تو برنامه های Winapp خودت اعمال کنی و نهایت استفاده رو ازش ببری . موفق باشی
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
سلام
دوست عزیز ممنون از برنامه ای که قرار دادید،فقط من یک مشکل دارم که وقتی می خوام دیتابیس را در sql2005 ری استور کنم و وقتی فایل را انتخاب کنم اونا برام نمیاره،اگه ممکنه طریقه ری استور کردنش را هم بگید
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
نقل قول:
نوشته شده توسط
hamide_kh
سلام
دوست عزیز ممنون از برنامه ای که قرار دادید،فقط من یک مشکل دارم که وقتی می خوام دیتابیس را در sql2005 ری استور کنم و وقتی فایل را انتخاب کنم اونا برام نمیاره،اگه ممکنه طریقه ری استور کردنش را هم بگید
سلام دوست عزیز
من که در همون پست اول گفتم db با SQL2008 هست.
version پایین تر نمی تونه version بالاتر را ساپورت کنه.
visual2005 هم دارید؟
-
نقل قول: برنامه ای برای استفاده / نظر دهی دوستان
تنظيمات restore فراموش نشه گلم