PDA

View Full Version : يه برنامه براي مبتدي ها-دانلود كنيد



حامد_رشنو
دوشنبه 09 شهریور 1388, 12:19 عصر
درود بر همه دوستان.
يه برنامه با زبان C#‎ وبانك اطلاعاتي اكسس براي دانلود گزاشتم كه 4 عمل اصلي رو روي بانك انجام ميده.
اميدوارم به دردتون بخوره.

حامد_رشنو
دوشنبه 09 شهریور 1388, 13:01 عصر
راستي اينو يادم رفت بگم ، با VS2008 نوشتم.

alireza_tavakol
دوشنبه 09 شهریور 1388, 13:04 عصر
ایده قشنگی بود که با DoubleClick روی هر سطر از جدول امکان ویرایش حاصل می شد:تشویق:

تا حالا تو هیچ برنامه ای همچین چیزی ندیده بود:کف:

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

vox_cine
دوشنبه 09 شهریور 1388, 23:41 عصر
البته اگه انتقاد باشه خیلی بهتره.


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



t1.Text = "";
textbox یک متد clear داره که بهتره ازون استفاده کنی.
ورودی بعضی از textbox ها بهتره که محدود بشوند مثلا کاربر نباید بتونه در نام خانوادگی عدد وارد کنه.
بهتره وقتی که نام تکراری وارد میشود به کاربر پیغامی در این مورد داده شود.
فیلد خالی هم نباید بتونه اضافه بشه.
بهتره امکان حذف چند فیلد با کنترل یا موس بصورت همزمان وجود داشته باشه.


یک مورد مهم تر:
معنا دار اسم گذاری کن.و پروژتو region بندی کن.اگر یه خورده پروژه بزرگ باشه کنترلش از دستتت خارج میشه.

یک ایراد حرفه ای تر:
در پروژه ی کنونیت اگر مثلا یک button را کات(کنترل X)کنید و دوباره پیست کنید رویدادهاش از بین میره و موقع اجرا کاری روی دکمه صورت نمیگیره.ولی اگر رویدادها را از دیزاینر به فرمت منتقل کنی موقع اجرا رویدادها نیز اجرا میشوند.



public Form1()
{
InitializeComponent();
this.button1.Click += new System.EventHandler(this.button1_Click);
this.button2.Click += new System.EventHandler(this.button2_Click);
......
}

البته کار منطقی تر اینه که همه ی EventHandler ها را توی یک تابع بزارید و در اینجا اون تابع را فراخوانی کنید.

Amir Oveisi
سه شنبه 10 شهریور 1388, 01:26 صبح
من کدهاتونو ندیدم اما چندتا مورد در مورد برنامه:
1- در صورتی که هیچ مقداری وارد نکنید و دکمه اضافه کردن را برنید سطرهای خالی به datagrid اضافه میشه.
2- هیچ Validation ای انجام نشده و فیلده هر مقداری رو قبول می کنند مثلا میشه به نام مقدار 123 داد.
3- رنگ Label هاتون یه جوریه که در نگاه اول کاربر احساس میکنه که اون فیلد ها و textbox ها کلا غیر فعال هستند.
4- اینو هم نگاه نکردم و نمیدونم که برنامتون سه لایه نوشته شده یا اینکه نه (بهتره از الان برنامه هاتون رو لایه بندی شده بنویسید تا عادت کنید)

چیزایی بود که من دیدم اینا بودن.

موفق باشید

alireza_tavakol
سه شنبه 10 شهریور 1388, 02:39 صبح
نکته قابل توجه که به ذهن من رسید

شما بعد از حذف یک رکود از جدول متد Show رو صدا زدی تا اطلاعات موجود در جدول به روز رسانی شود

این کار بسیار اشتباه است چون

1- باعث سر بار اضافی در سرور بانک اطلاعاتی میشید و اشغال کردن شبکه چون ارسال اطلاعات بی مورد ( شما کافی دستور delete را واسه بانک ارسال کنی و اون خط رو از گرید remove کنید )
2- وقتی متد Show رو صدا میکنید اشاره گر انتخاب رکود جدول به اولین ردیف میره و این کار برای کاربر در برنامه های بزرگ خیلی رغت انگیزه

حامد_رشنو
سه شنبه 10 شهریور 1388, 08:16 صبح
درود بر تمام دوستان.
قبل از هر چيز از همه كساني كه منو از نظراتشون بهره مند كردن قدرداني ميكن چون همه به نكته هاي خوبي اشاره كرده بودن.
در جواب بايد بگم اين برنامه طي نيم ساعت نوشته شده كه هدف از اون همونطور كه در ابتدا گفتم انجام 4 عمل اصلي روي بانكه و قرار نيست هيچ جايي فروخته بشه يا داده بشه كه لازم باشه در اون استثناها پردازش بشن و فيلد خالي نتونه اينسرت بشه و... . همونطوري كه ميبينيد اصلا توش مسيج باكس به كار نرفته.
دوستمون آقاي توكل به نكته خوبي اشاره كرده و ميگه نبايد بعد از حذف كردن ركورد انتخابي جدول به اولين رديف بره، درست هم ميگن ار ما ركورداي زيادي داشته باشيم و كاربر يه ركود از آخراي ديتا گريد حذف كنه بعد از فراخواني show ديتاگريد به اولين رديف ميره.
من براي Up Date اين مشكلو حل كردم اما Delete نه اگه خود آقاي توكل يا كسي ديگه پيشنهادي داره خواهش ميكنم بگه.
با تشكر
حامد رشنو

tina.net
سه شنبه 10 شهریور 1388, 11:17 صبح
سلام.
باتشكر از برنامتون اگه مي شه با بانك SQL هم يه نمونه بزارين.

اَرژنگ
سه شنبه 10 شهریور 1388, 11:49 صبح
با سلام،
از اینکه زحمت کشیدید و این برنامه را فرستادید متشکرم، از لحاض زیبائی کارتان قشنگ است.
ولی برایه پیشرفت خودتان و گمراه نشدن بقیه به این نکات توجه کنید، از روشهایه اشتباه برنامه نویسی استفاده شده :
۱.ریختن همه کد در پشت یک فرم.
۲. استفاده نکردن از قسمت کانفیگوریشن برایه نگهداری از کانکشن استرینگ،
۳.استفاده نکردن از ۳ لایه نویسی، چندین مثال در این مورد در این همین تالار وجود دارد.

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

حامد_رشنو
سه شنبه 10 شهریور 1388, 12:08 عصر
درود بر شما.
دوست عزيز اگه به نام تاپيك توجه ميكردي(يه برنامه براي مبتدي ها) فكر نميكنم اين مواردو مي گفتي چون من طوري اين برنامه رو نوشتم كه مبتدي ها متوجه بشن چه خبره.
در ضمن من قصد گمراه كردن كسي رو ندارم، البته دوستان ديگه با لحن بهتري چنين نقدايي كردن كه جواب هم واسشون نوشتم و اگه يه نگا بندازي بد نيست.
با تشكر.

اَرژنگ
سه شنبه 10 شهریور 1388, 14:38 عصر
درود بر شما.
دوست عزيز اگه به نام تاپيك توجه ميكردي(يه برنامه براي مبتدي ها) فكر نميكنم اين مواردو مي گفتي چون من طوري اين برنامه رو نوشتم كه مبتدي ها متوجه بشن چه خبره.
در ضمن من قصد گمراه كردن كسي رو ندارم، البته دوستان ديگه با لحن بهتري چنين نقدايي كردن كه جواب هم واسشون نوشتم و اگه يه نگا بندازي بد نيست.
با تشكر.

با سلام و درود بر شما.
تازه کارها وقتی که یک روشی را یاد بگیرند از ذهنشان درآوردند سخت است. برایه همین از همان اول باید با درستی پیششان برد وگرنه بعد از اینکه عادت کنند دیگر جا میافتند.
نمیدانم اشکالات چیزی را که هست با چه لحنی بگم، ولی مشکلات یک چیزی مشکلات همان چیز هستند.
حالا دو روش نگاه کردن به پشت قبلی است، ۱ اینکه مشکلات یک کار را به خود بگیریم و به جایه اینکه مشکلات را رفع کنیم از لحن همدیگر نقد کنیم.
۲. مشکلات را همان مشکلات قبول کنیم و با کمک همدیگر حلشان کنیم.
حالا در مورد پست قبلی:
کسی نگفت که شما قصد گمراه شدن بقیه را دارید، اگر شما روش بهتر را بلد هستید همان را هم یاد بدید، وگرنه بقیه بخودی خودشان گمراه میشند.
( اگر در این فروم بگردید میبیند که خود من بعد از فرستادن جواب، جوابهایه بهتری از کسانی دیگر دیده باشم، بقیه را به آنجا میفرستم، خودم هم در پستم بودن روش بهتر را اعلان میکنم و اینکه به اون نگاه انداخته بشه را تجویز میکنم.
حالا این لحن ببینید بهتر است:
با تشکر از زحمات شما، فرمی که ساختید قشنگ است (من خودم به قشنگی فرمها هیچ وقت اهمیت ندادم و نیتوانم به این زیبائی درست کنم).
حالا من به شما اشکالاتی را یا درست یا غلط از نظر من گفتم، اینکه با این حرفهایه من شما تصمیم بگیرید که چکار کنید با خودتان است ولی از شما یک درخواست دارم لطفا پست قبلی من را به شکلی که لحناً درست باشد ویرایش کنید برام پی‌ام کنید، من همان پست قبلی را با متنی که شما بفرستید عوض میکنم.
در ضمن من مخلص کسی که به کورش کبیر علاقه داشته باشد هستم.
اگر در پست قبلی واضح نبود : از اینکه شما زحمت کشیدید و مثال را فرستاید متشکریم ولی بیاید با هم کار کنیم که مثال را به یک چیزی که بیشتر شبیه یک پروژه کوچک واقعی است نزدیکتر کنیم.
با التماس (جدی میگم، از سن داد و ستیز یکمقداری گذشته‌ام)

tina.net
پنج شنبه 12 شهریور 1388, 08:11 صبح
سلام بچه ها.
من در مورد برنامه نویسی 3 لایه زیاد شنیدم ، ولی هر وقت سرچ زدم تا اطلاعاتی بدست بیارم و یاد بگیرم یه اطلاعات توضیحی نا مفهوم به پستم خورد.:متفکر::ناراحت:
اینجا هم چند بار شنیدم که بچه ها از برنامه نویسی چند لایه گفتن.:لبخندساده:
ماشا الله جمع حرفه ایا هم که جمعه ، اگه میشه یه نفر لطف کنه و این برنامه ای که آقای رشنو واسه دانلود گذاشته به روش 3 لایه بنویسه ممنون میشم.:تشویق:

milad.biroonvand
پنج شنبه 12 شهریور 1388, 12:36 عصر
با سلام و خسته نباشید ، خدمت دوستان برنامه نویس.

روش delete و ویرایشش خیلی خوب بود .

majid325
یک شنبه 15 شهریور 1388, 13:25 عصر
سلام بچه ها.
من در مورد برنامه نویسی 3 لایه زیاد شنیدم ، ولی هر وقت سرچ زدم تا اطلاعاتی بدست بیارم و یاد بگیرم یه اطلاعات توضیحی نا مفهوم به پستم خورد.:متفکر::ناراحت:
اینجا هم چند بار شنیدم که بچه ها از برنامه نویسی چند لایه گفتن.:لبخندساده:
ماشا الله جمع حرفه ایا هم که جمعه ، اگه میشه یه نفر لطف کنه و این برنامه ای که آقای رشنو واسه دانلود گذاشته به روش 3 لایه بنویسه ممنون میشم.:تشویق:

میتونید به این اینک (http://www.barnamenevis.org/forum/showthread.php?p=798185#post798185) مراجعه کنید

milad.biroonvand
چهارشنبه 18 شهریور 1388, 20:43 عصر
یه خرده قسمت حذفش مشکل داره ، یه قسمت ویرایشش ، و بعد هم کل پروژه رو باید اصلاح بشه چون کد زاید خیلی توشه . بعد :عصبانی++::عصبانی++::عصبانی++:

اگه یه برنامه مبتدی هست برا چی اینقدر این بحث و داغ می کنین . دیدیم دانلود کردیم . بد نبود ، اسلام و علیک و رحمة برکاته . بحث را من همینجا به پایان می رسانم .

اَرژنگ
چهارشنبه 18 شهریور 1388, 22:02 عصر
یه خرده قسمت حذفش مشکل داره ، یه قسمت ویرایشش ، و بعد هم کل پروژه رو باید اصلاح بشه چون کد زاید خیلی توشه . بعد :عصبانی++::عصبانی++::عصبانی++:

اگه یه برنامه مبتدی هست برا چی اینقدر این بحث و داغ می کنین . دیدیم دانلود کردیم . بد نبود ، اسلام و علیک و رحمة برکاته . بحث را من همینجا به پایان می رسانم .

مگر میشه به همین راحتی بحث را تمام کرد، یک بنده خدایی زحمت کشیده و از خوبیش این کارش را اینجا قرار داده.

همانطوری که خدا بیامرز مش قاسم میگفت :"هیچ کار خوبی بی جزا نمیماند"

لاقل ایشان شانس دارند از کارشان اشکال گرفته میشه، هر وقت ما کدی گذاشتیم هیچ کی اشکالی نگرفت، ما هم چیزه جدیدی یاد نگرفتیم (گرچه میدونم اشکال زیاد داشت ولی کد ما حتی به اشکال گیری هم نمیارزید :).

اصل مسئله اشکال گیری به خود شخصشان نیست، بلکه اشاره به اینکه در چه جهاتی میشه همین مثال را ثوق داد و نظرهایی بهترش کرد. همین نظرات مانند نشانهایه خیبانی میمانند که بدانه پیچیده کردن کد دلایل استفاده از بعضی چیزها را برایه بعضیها روشن میکنند.

اینکه رویه کدی بحث میشه دلیل بر بد بودنش نیست، اگر واقعا بد بود کسی وقتش را نمیگذاشت که ازش انتقاد کند. ولی با دیدن انتقاد دیگرام بعضی مسائل برایه بعضیها روشن میشه.

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

متاسفانه یکی از خلوق ایرانی بودن این است که انتقاد به کار را با حمله شخصی یکی میبینیم، و به جایه اینکه از انتقادات چیزی را در روش کارمان تغییر بدیم و بهتر ادامه بدیم، یا افسرده میشیم یا دلسرد، یا هم اینکه دعوا (خود من هم از این خصلت همیشه به دور نبودم و نیستم).

من میگم همین مثال را یک ورژن ۲ تبدیلش کنند و یکی یکی از انتقادات در اینکه باعث چه تغییراتی شده را هم ذکر کنند (هر کی که انتقاد میکنه باید روش بهترش را هم بفرسته (با تشکر از کسانی که این را به من آمودختند)). حالا با این حساب هر کی که میخواهد انتقاد کند بفرمایند تو ، و السلام ! :)

حامد_رشنو
پنج شنبه 19 شهریور 1388, 23:39 عصر
درود.
حال شما چطوره بچه ها؟
ببخشید که یه مدت نبودم.
آقای بیرانوند باید خدمتتون بگم که هدف از کل سایت برنامه نویس این کاریه که ما داریم انجام میدیم و شما میگید کار غلطیه و بخاطرش موهای سرتونو میکشید.(:عصبانی++:) :متفکر:
این وسط آ قا آرژنگ هم واقعا گل گفتن(به جز کلمه آخری که بکار بردن):


من میگم همین مثال را یک ورژن ۲ تبدیلش کنند و یکی یکی از انتقادات در اینکه باعث چه تغییراتی شده را هم ذکر کنند (هر کی که انتقاد میکنه باید روش بهترش را هم بفرسته (با تشکر از کسانی که این را به من آمودختند)). حالا با این حساب هر کی که میخواهد انتقاد کند بفرمایند تو ، و السلام ! :)

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

ketabchian
دوشنبه 23 شهریور 1388, 12:41 عصر
خیلی متشکر . برای من که مبتدی هستم تمام این برنامه ها به نوعی آموزش است و تمام ایراد ها میتواند پنجره تازه ای باز کند .

tina.net
جمعه 27 شهریور 1388, 00:30 صبح
دوباره سلام
لطفا اگه میشه حد لقل یه نفر بگه چه جوری بانکشو به SQL تبدیل کنم؟:متفکر:

mehran20_200
جمعه 27 شهریور 1388, 20:12 عصر
لطفا اگه میشه حد لقل یه نفر بگه چه جوری بانکشو به SQL تبدیل کنم؟:متفکر:


در sql وارد ويزارد Import Data بشيد و بانك اطلاعاتي مبدا را بانك اطلاعاتي access دوستمون بگذاريد و مقصد را هم بانك اطلاعاتي خودتان
سپس تيك جدول Members را بزنيد
البته در برنامه هم بايد OleDb را با sql جايگزين كنيد
در ضمن كانشن را هم به عبارت زير اصلاح كنيد
Data Source=(local);Initial Catalog=Daneshjoo;Integrated Security=True

mehran20_200
جمعه 27 شهریور 1388, 20:16 عصر
دوستمون آقاي توكل به نكته خوبي اشاره كرده و ميگه نبايد بعد از حذف كردن ركورد انتخابي جدول به اولين رديف بره، درست هم ميگن ار ما ركورداي زيادي داشته باشيم و كاربر يه ركود از آخراي ديتا گريد حذف كنه بعد از فراخواني show ديتاگريد به اولين رديف ميره.
من براي Up Date اين مشكلو حل كردم اما Delete نه اگه خود آقاي توكل يا كسي ديگه پيشنهادي داره خواهش ميكنم بگه.

دوست عزيز حامد جان
من برنامه را نگاه كردم. مشكل حل نشده بود
امكان دار توضيح بديد چگونه اين مشكل را حل كرديد؟:عصبانی++::عصبانی++:
متشكر

حامد_رشنو
شنبه 04 مهر 1388, 19:06 عصر
آقا مهران من منظورم حل این مشکل توی این برنامه نبود کلی گفتم.
به هر حال ببخشید.

mehran20_200
دوشنبه 06 مهر 1388, 19:01 عصر
آقا مهران من منظورم حل این مشکل توی این برنامه نبود کلی گفتم.
به هر حال ببخشید.


حامد جان نمي شه بگيد چطوري اين مشكل را حل كرديد؟
واقعا بهش نياز دارم:اشتباه:

mrshcom
دوشنبه 06 مهر 1388, 19:58 عصر
برنامت عالیه ولی یه مشکلی که داره اینه که فیلد خالی میگیره:اشتباه:

حامد_رشنو
پنج شنبه 09 مهر 1388, 18:49 عصر
MRSHCOM جان با تشکر از اینکه دانلود کردی.
بجز اینکه فیلد خالی میگیره تو رکوردهای نام و ... میشه عدد وارد کرد و خیلی ایرادای دیگه...
ولی تو پستهای قبلی توضیح دادم چون بقیه دوستان هم لطف کرده بودن و ینارو گفته بودن.

حامد_رشنو
جمعه 17 مهر 1388, 11:03 صبح
مهران جان من خیلی وقت پیش به این مشکل بر خوردم و با روش زیر حلش کردم فقط اینو بگم که به نظرم روش خوبی نیست و اگه میخوای اساسی حلش کنی کاری کن که بعد از حذف یا آپ دیت رکورد بعدی یا قبلی فوکوس بشه.
اما روشی که من استفاده کردم، من در واقع بعد از آپ دیت کردن رفرش نمیکردم و اگر عملیات آپ دیت با موفقیت انجام میشد فیلدهایی که باید تغییر میکردن رو با دست بردن تو خونه های دیتا گرید بصورت موقت عوض میکردم.

tina.net
پنج شنبه 07 آبان 1388, 10:35 صبح
سلام
بالاخره تونستم بانکشو به sql تبدیل کنم.:تشویق:
البته بانکو convert نکردم چون بلد نبودم یه بانک دبگه از روی این بانک ساختم.
به هر حال ممنون چون به عنوان پروژه دادم به استادم نمرشو هم گرفتم.