مشاهده نسخه کامل
: سوالاتی برای ساخت یک دفترچه تلفن
با سلام
همونطور که از عنوان معلومه می خوام یه دفترچه تلفن درست کنم!
و اما از شما دوستان می خوام بهم کمک
کنید تا بتونم این پروژه رو به بهترین شکل و تحت بهترین کدنویسی انجامش بدم.
(این پروژه دانشجویی نیست و هیچ جنبه ی اقتصادی ای ندارد و فقط برای یادگیری هست و نهایتا برنامه رو توی همین تاپیک می زارم.)
ممنون:11:
راستی اگه به نظر دوستان دفترچه تلفن برنامه ساده ای هست و چندان مطلب یاد گرفتنی نداره تا شروعش نکردم دوستان پروژه ای رو که به نظرشون بهتر و سخت تره و در عین حال مطلب یادگرفتنی بیشتری داره رو بگن
و البته مشخصاتش رو هم بگن که اونو رو شروع به نوشتن کنم.
منتظر پاسخ این پست می مونم تا امشب.:11:
sari-1369
02-09-2009, 14:30
همین خوبه ، شروع کن .
هرچقدر که پیش رفتی ، معادل ویبی رو هم بزار .
naser_feb8646
02-09-2009, 16:18
سلام
دوست عزیز منم پیشنهاد می کنم همین پروژه شروع کن
mahdi7610
02-09-2009, 16:57
به نظر من دفترچه تلفن واقعا ساده هستش . و فقط 4 عمل اصلی را میشه روش پیاده کرد . بقیه قسمتها مثل وارد کردن فقط عدد در texbox یا چیزهای دیگه هم چیز زیاد پیچیده نیست .
پیشنهاد من پروژه مدیریت کتابخانه هستش یا یک برنامه حسابداری .
به شرطی که ابتدا تحلیل بشه که چه قسمتهایی باید این برنامه داشته باشه و مثلا کسی که کتابی را به امانت می بره چه مشخصه هایی باید یاداشت بشه و ..... یا وقتی که وقت تحویل دادن کتاب به سر رسید بر اساس روزهایی که فرد کتاب را دیر تحویل داده جریمه براش نوشته بشه .
و خیلی کارهای دیگه .
موفق باشی :)
هرچقدر که پیش رفتی ، معادل ویبی رو هم بزار .
باشه
شما می تونید تکه کدهاتونو با سایت زیر به زبان دات نتی که می خواین تغییر بدین.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
================================================== ======
پیشنهاد من پروژه مدیریت کتابخانه هستش یا یک برنامه حسابداری .
به شرطی که ابتدا تحلیل بشه که چه قسمتهایی باید این برنامه داشته باشه و مثلا کسی که کتابی را به امانت می بره چه مشخصه هایی باید یاداشت بشه و ..... یا وقتی که وقت تحویل دادن کتاب به سر رسید بر اساس روزهایی که فرد کتاب را دیر تحویل داده جریمه براش نوشته بشه .
و خیلی کارهای دیگه .
خوب مدیریت کتابخانه هم خوبه و اما همینطور که خودتون می گید سخت تر و زمان بیشتری می خواد.
من تا امشب صبر می کنم اگر کسی نظر دیگه ای نداد و یا با شما موافق بود همینو(مدیریت کتابخانه) شروع
می کنیم و در غیر اینصورت هر چی که رای اکسریت بود رو شروع می کنم.
در ضمن اگر پروژه شما تایید شد یه زحمتی بکشید و کمی بیشتر در مورد برنامه توضیح بدین تا بفهمیم هر کجای برنامه چه جوری هست و چه کاری انجام میده.
ممنون:11:
sari-1369
02-09-2009, 20:41
به نظر من بیایم یه کار نویی انجام بدیم ( نو واسه خودم ، چون تا حالا همچین کاری نکردم )
بیایم یه نرم افزار مدیریت آژانس یا تاکسی تلفنی بسازیم .
که توش از یه سری کامپوننت ها استفاده کنیم .
مثلا خود برنامه بتونه به تلفن جواب بده و با پخش یه پیغام از طرف مقابل بخواد که کد اشتراکشو وارد کنه و یا اگر اشتراک نداره ، صدای طرف رو ظبط کنه تا بهش سرویس داده بشه .
وقتی کد اشتراک وارد شد ، سیستم بیاد ریز اطلاعات اون مشترک رو پرینت بگیره و این سرویس رو به یه راننده اختصاص بده و ....
کلی میشه رو این برنامه مانور داد و به نظر من واسه آموزش هم خوبه ، چون هم توش کار با دیتابیس داره ، هم کار با مودم ، هم کار با پرینتر و ....
بر اساس اون
naser_feb8646
02-09-2009, 20:56
سلام
دوست عزیز منم با نظر sari-1369 موافقم این طرح باعث می شه هم به اطلاعات خودمون بیشتر اضافه بشه و هم در آخر یه تاپیک آموزشی خوب می شه
البته یه پیشنهاد هم دارم می تونیم یه نرم افزار مدیریت آموزشی برای مدارس رو هم شروع کنیم که توی اون اسامی دانش آموزان مدرسه گرفته بشه بتونیم براشون درس تعریف کنیم همچنین براشون نمره وارد بشه والدین بتونن از طریق تماس تلفنی به صورت اتوماتیک نمره فرزندشون رو بگیرن دانش آموزان بوسیله کارتهایی که براشون صادر می شه به صورت دیجیتالی حضور و غیاب بشن و خیلی کارهای دیگه
سلام
به این راحتی نیست
چیزهایی که ما باید برای انجام چنین کاری بلد باشیم حداقل ایناست :
نحوه ی کار کردن با سخت افزارهای خارجی که به رایانه وصل میشن(که قبلا هم در تاپیکی در خواست هایی برای این مورد کرده بودم ولی کسی جوابی نداد:41:).
نحوه ی تجزیه کردن یک صدا و یا ایجاد اون(برای ایجاد microsoft speech هست که اونم انگلیسیه و به دردمون نمی خوره و برای تجزیه ی صدا چی؟).
برنامه نویسی تحت شبکه(در این مورد مطالب آموزشی بیشتری وجود داره)
---------------------------------------------------------------------------------------------------
من اصلا با انجام این کار مخالف نیستم ولی این کار فقط زمانی می تونه موفق باشه که مطالب آموزشی ای در این زمینه هایی که گفتم پیدا بشه.
(
اگر از دوستان کسی مطلب آموزشی ای(انگلیسی و فارسی) در این موارد داره بذاره که خیلی به تصمیم گیری برای انجام این پروژه کمک می کنه و لااقل مطالبی برای یادگیری و شروع می تونیم ازشون یادبگیریم و پروژه رو شروع کنیم:46:
ولی اگه مطلب آموزشی نباشه مجبوریم از خیر این بگذریم.
)
موفق باشید.
sari-1369
02-09-2009, 23:57
دوست عزیز شما خیلی سخت گرفتی :D
قرار نیست همه کار هارو خودمون انجام بدیم . ما فقط کارکردن با یک کامپوننت رو یاد میگیریم ، مثلا کامپوننتی برای برقراری تماس تلفنی توسط مودم وجود داره . ما با استفاده از توابع اون کامپوننت میتونیم شماره ارسال شده از طرف مقابل رو بگیریم و نه اینکه صدای اون طرف رو پردازش کنیم . و اونی هم که گفتم صدارو ظبط کنه ، به این صورت که کسی هست که بعدا به اون پیغام گوش میده و خودش به صورت دستی آدرس رو در برنامه وارد میکنه و این سرویس رو به یکی از راننده ها میده .
بعید میدونم کار سختی باشه ، ولی چون خودم تا حالا کار نکردم نمیگم 100 در صد .
پست پایینی دوبار ارسال شد!!!
ما فقط کارکردن با یک کامپوننت رو یاد میگیریم
پس مطلب یادگرفتنیش کجاست؟
بابا من(و احتمالا دیگران) می خوایم یاد بگیریم حالا اگه بخوایم از کامپوننت اماده استفاده کنیم که میشه همون
کار با پایگاه داده و اون قسمت جذاب کار شما که باعث جذب نظر دوستان شد چیزی نیست جز یک کامپوننت.
به این صورت که کسی هست که بعدا به اون پیغام گوش میده و خودش به صورت دستی آدرس رو در برنامه وارد میکنه و این سرویس رو به یکی از راننده ها میده .
خوب از همون اول گوش کنه:31:
ضمن اینکه اونی که پیام میزاره حتما الان به ماشین نیاز داره نه زمانی که طرف پیام ضبط شده رو شنید.
اصلا یه چی دیگه اونی که اشتراک نداره به پایگاه داده و ثبت اطلاعتش هم نیازی نیست پس برای تاکسی تلفنی یا این برنامه چندان مفید نیست و یا در صورتی می تونه مفید باشه که همه کد اشتراک داشته باشند:18:.
اگر دوستان موافق باشند ما بیایم و فعلا همون برنامه مدیریت کتابخانه که دوست عزیز mahdi7610 گفتن رو شروع کنیم و پس از اتمام کار برروی کار با صدا و سخت افزارهای خارجی(البته با کدنویسی خودمون نه کامپوننت
آماده) تمرکز کنیم که به نظر من اینجوری آخر یادگیری میشه.
(
بنابراین با تمام احترامی که به نظرات تمامی دوستان می ذارم انشاا... از فردا(اگر نظر دیگری نبود) پروژه ی
مدیریت کتابخانه رو شروع می کنیم.
در ضمن در طول مدت نوشتن این برنامه سعی می کنم مطالب آموزشی برای مواردی که دوست عزیز sari-1369 گفتن پیدا کنم تا بعد از اون روی اینها هم کار کنیم.:19:
)
از دوست عزیز mahdi7610 در خواست می کنم که تا حدودی در مورد برنامه توضیح بدن تا هم دوستان بفهمند
برنامه چی کار می کند و هم من.:11:
mahdi7610
03-09-2009, 10:48
سلام دوستان
راستش من قرار بود برنامه مدیریت کتابخانه را برای کتابخونه محلمون بنویسم . اما یه دلیل مشکلات درسی نتونستم اونا بنویسم . الان هم درگیر درسهای ترم تابستانی هستم . و زیاد نمیتونم نت بیام .
چیزهایی من قبلا جمع کرده بودم که اونا را اینجا میزارم امیدوارم مفید باشه .
این برنامه مربوط به کتابخانه امانی هست که کتاب به کاربران به صورت امانت داده میشه .
ابتدا باید ببینیم این مسئول این کتابخانه چه چیزهایی را نیاز داره که ما اونها را توی برنامه قرار بدیم .
یک برنامه واسه مدیریت کتابخانه میخواهیم که بتونه اعضا را با تمامی مشخصات ثبت کنه .
قابلیت ارشیو کتابها را داشته باشه .
مشخصات کتابها را داشته باشه .
چه کسی چه کتابی را به امانت برده . تا چه تاریخی شخص میتونه کتاب را داشته باشه . چه تاریخی باید کتاب را بیاره پس بده . به ازای هر روزی که کتاب را نیوورده براش جریمه در نظر گرفته بشه .
کتابهای از رده خارج شده را بشه در اون لیست کرد.
قابلیت سرچ کردن کتاب با استفاده از ناشر یا عنوان کتاب و .....
افرادی که توی تحویل دادن کتاب بی نظم هستند اخراج موقت یا اخراج دائم بشن . و اسمشون توی لیست سیاه باشه .
قسمتی باشه که کتابهای از دور خارج شده را وارد کنیم .
هر موقع که خواستیم بتونیم یک لیست کامل از کتابهای موجود یا کتابهای از دور خارج شده یا کتابهایی که قرار هست در اینده به کتابخانه اضافه بشن را داشته باشیم.
دسته بندی اعضا بر حسب جنسیت یا تحصیلات . بتونیم در هر لحظه یک گزارش کامل از اعضا داشته باشیم .
میشه سطح دسترسی در حد مدیر کتابخانه و معاون یا زیر دستان تعریف کرد .
مثلا یک کتابدار یا معاون میتونه کارهای زیر را انجام بده
1_ ثبت امانت
2_برگشت امانت
3_تمدید مهلت برگشت
4_جستجوی کتاب ها
5_ثبت بی نظمی اعضا در برگشت امانت
و یک مدیر هم میتونه کارهای زیر را انجام بده .
1_تمام کارهایی که یک کتابدار میتونه انجام بده
2_ثبت اطلاعات کتاب در کتاب خانه
3_از دور خارج کردن کتاب
4_ثبت نام اعضا
5_ویرایش اطلاعات اعضا
6_تمدید عضویت
7_محروم کردن افراد بی نظم
8_گزارش گیری ار کتاب ها
9_گزارش گیری از اعضا
10_ثبت کتابدار جدید
11_ویرایش اطلاعات کتابدار
12_حذف کتابدار
13_گزارش گیری از کتابداران
تعریف یک عضو جدید
1 - شماره عضویت
2 - نام عضو
3 - نام خانوادگی
4 - نام پدر
5 - جنسیت
6 - تاریخ تولد
7 - شماره شناسنامه
8 - مجرد یا متاهل
9 - ادرس
10 - شماره تلفن
11 - شماره موبایل
12 - شغل
13 - تحصیلات
14 - تاریخ عضویت
15 - تصویر عضو.
16 - توضیحات
.
.
.
اطلاعات کتب کتابخانه
1 - شماره کتاب در کتابخانه
2 - نام کتاب
3 - نویسنده
4 - مترجم
5 - نوبت چاپ
6 - انتشارات
7 - موضوع
8 - توضیحات
9 - خلاصه کتاب
10 - عکس روی جلد کتاب
11 - محل کتاب در کتابخانه
.
.
.
این قسمتها را میشه کامل کرد و با جزییات زیاد نوشت
فعلا همینها بود .
دوستان هم میتونند اگه چیزی به ذهنشون میرسه بگن تا همه را دسته بندی کنید .
من قبلا یه دفترچه تلفن نوشتم که توانایی شماره گیری با مودم رو داره و میتونه شمارهای دفترچه تلفن رو برای اپراتور بگیره
در کل اگه خواستید با مودم شماره بگیرید یا از طریق مودم متن و حروف انتقال بدید(مثلا کاربر از خونه به شما زنگ میزنه و پیام گیر پیغام میده که 1 بزنی فلان میشه 2 بزنی فلان و اگر کاربر 2 تلفن خودشم فشار داد شما متوجه بشید ) در خدمت هستیم
بدون استفاده از کامپونینت و با ابزارهای خود VS
من قبلا یه دفترچه تلفن نوشتم که توانایی شماره گیری با مودم رو داره و میتونه شمارهای دفترچه تلفن رو برای اپراتور بگیره
در کل اگه خواستید با مودم شماره بگیرید یا از طریق مودم متن و حروف انتقال بدید(مثلا کاربر از خونه به شما زنگ میزنه و پیام گیر پیغام میده که 1 بزنی فلان میشه 2 بزنی فلان و اگر کاربر 2 تلفن خودشم فشار داد شما متوجه بشید ) در خدمت هستیم
بدون استفاده از کامپونینت و با ابزارهای خود VS
اگه منبع آموزشی ای میشناسید بگید.
و اگر براتون مقدور هست سورس برنامه رو بذارید تا دیگران هم استفاده کنند.
و نهایتا اگر به مشکلی در این زمینه بر خوردیم مزاح م شما خواهیم شد.:11:
با تشکر و با توجه از توضیحات دوست عزیز mahdi7610
من می خوام جداول زیر رو طراحی کنم اگر جایی کم و یا زیاد است بگید->
مشخصات مدیر کتابخانه
{
شماره مدیریت(همون آیدی) / نام / نام خانوادگی / جنسیت / نام پدر / شماره شناسنامه / تاریخ تولد / تصویر / تاریخ شروع مدیریت / تاریخ اتمام مدیریت / تلفن منزل / تلفن همراه / آدرس منزل / توضیحات
}
مشخصات کتابدارن کتابخانه
{
شماره عضویت / نام / نام خانوادگی / جنسیت / نام پدر / شماره شناسنامه / تاریخ تولد / تصویر / تاریخ شروع به کار / تاریخ اتمام کار / تلفن منزل / تلفن همراه / آدرس منزل / توضیحات
}
مشخصات اعضای کتابخانه
{
شماره عضویت / نام / نام خانوادگی / جنسیت / نام پدر / شماره شناسنامه / تاریخ تولد / تصویر / تاریخ عضویت / تاریخ اتمام عضویت / نام کتابهای امانت گرفته شده / شماره ی کتاب های امانت گرفته شده(مخفی) / تلفن منزل / تلفن همراه / آدرس منزل / توضیحات
}
مشخصات کتب کتابخانه
{
شماره کتاب در کتابخانه / نام کتاب / موضوع کتاب / نویسنده / مترجم / انتشارات / نوبت چاپ / عکس روی جلد / محل کتاب در کتابخانه / خلاصه کتاب / توضیحات
}
کتابهای امانت داده شده
{
شماره کتاب در کتابخانه / نام کتاب / موضوع کتاب / نویسنده / مترجم / عکس روی جلد / نام فردی که کتاب را امانت گرفته / نام خانوادگی فردی که کتاب را امانت گرفته / شماره عضویت فردی که کتاب را امانت گرفته(مخفی) / توضیحات
}
افرادی که موقتا اخراج شده اند
{
شماره عضویت / نام / نام خانوادگی / جنسیت / نام پدر / شماره شناسنامه / تاریخ تولد / تصویر / تاریخ عضویت / تاریخ اتمام عضویت / نام کتابهای امانت گرفته شده / شماره ی کتاب های امانت گرفته شده(مخفی) / تلفن منزل / تلفن همراه / آدرس منزل / دلیل اخراج موقت / توضیحات
}
افرادی که اخراج شده اند
{
شماره عضویت / نام / نام خانوادگی / جنسیت / نام پدر / شماره شناسنامه / تاریخ تولد / تصویر / تاریخ عضویت / تاریخ اتمام عضویت / نام کتابهای امانت گرفته شده / شماره ی کتاب های امانت گرفته شده(مخفی) / تلفن منزل / تلفن همراه / آدرس منزل / دلیل اخراج / توضیحات
}
لیست سیاه(افراد بی نظم)
{
شماره عضویت / نام / نام خانوادگی / جنسیت / نام پدر / شماره شناسنامه / تاریخ تولد / تصویر / تاریخ عضویت / تاریخ اتمام عضویت / نام کتابهای امانت گرفته شده / شماره ی کتاب های امانت گرفته شده(مخفی) / تلفن منزل / تلفن همراه / آدرس منزل / علت بی نظمی / توضیحات
}
mahdi7610
03-09-2009, 16:36
در واقع 4 عمل اصلی هم باید روی پروژه انجام بشه .
مثل حذف کردن ، اپدیت کردن ( یا ویرایش کردن) ، ثبت کردن ، جستجو کردن
عمل ثبت کردن هم باید برای همه قسمتها نوشته بشه . مثل ثبت دانشجو ، ثبت کتاب ها
عمل جستجو هم باید برای کاربران بر اساس شماره عضویتشون باشه . همچنین بر اساس شماره شناسنامه ( به شرطی که تکراری نباشه) تا در صورتی که فرد شماره عضویتش را فراموش کرد بشه با استفاده از شماره شناسنامه به مشخصاتش دسترسی داشت .
گزارش گیری هم میتونه به دو صورت انجام بشه . برای همه کاربران یا برای یک فرد به خصوصی .
به نظر من بهتره طرح برنامه هم با برنامه هایی که تا حالا دیده شده فرق بکنه . یعنی بهتره برای هر قسمت از فرم مجزایی استفاده بشه .
برای دسترسی به فرم ها به جای استفاده از button از منو استفاده بشه .
داشتن یک قسمت واسه این که کاربران متوجه بشن که چه کتابهای جدیدی به کتابخانه اضافه شده .
اضافه کردن امکانی که در ساعت پایانی روز یک پیغام در ساعت بخصوصی داده بشه و لیست کاربرانی که در پس دادن کتاب تاخیر داشتند را به صورت یک messagebox یا الارم نشون بده .
گرفتن یک بکاپ از مشخصات کاربران .
البته نیاز نیست واسه همه قسمتها همه مشخصات را تمام و کمال نوشت .
مثلا واسه فردی که اخراج شده اسم و شماره عضویت و دلیل اخراج کفایت میکنه . چون میشه توی همون برنامه با سرچ کردن به مشخصاتش که قبلا موقع ثبت نام ثبت شده دسترسی داشت .
اگه بتونید یک نمونه برنامه که توسط شرکت های بزرگ نوشته شده را گیر بیارید خیلی از قسمتها را میشه از اون الهام گرفت . چون قصد نوشتن این برنامه فقط جنبه اموزشی داره پس الگو گرفتن از برنامه هایی که توسط شرکتهای نرم افزاری نوشته شده میتونه خیلی دید ادم را بازتر کنه .
موفق باشید :)
البته نیاز نیست واسه همه قسمتها همه مشخصات را تمام و کمال نوشت .
مثلا واسه فردی که اخراج شده اسم و شماره عضویت و دلیل اخراج کفایت میکنه . چون میشه توی همون برنامه با سرچ کردن به مشخصاتش که قبلا موقع ثبت نام ثبت شده دسترسی داشت .
برای اخراجی ها مشخصات کامل گذاشتم چون اونها از لیست اعضا حذف و به لیست اخراجیها انتقال داده میشن.
خودم هم یه فکرایی براش کردم !
پس من اینو شروع می کنم.
با سلام
من داشتم جدول اعضای کتابخونه رو درست می کردم که به یه مشکلی بر خوردم
من نوع فیلدهای "نام کتاب های امانت گرفته شده" و "شماره کتاب های امانت گرفته شده" رو باید چی بگذارم؟
من خودم به این نتیجه رسیدم که نوعشونو رشته تعریف کنم و برای جدا کردن مثلا هر نام کتاب داخل این فیلد یک کاراکتر جدا کننده مثل / بذارم! خوبه؟! (یه چی مثل آرایه می خوام که البته بشه توی گرید ویو هم نمایشش داد.)
sari-1369
03-09-2009, 23:08
بابا بی خیال :D
2 ساعت نبودیم ، اینهمه تایپ کردین :D حوصله ندارم بخونم .(تنبلم)
من ویبی کار میکنم . و میخوام با سی شارپ هم آشنا بشم ، اگه میشه بعد از ساخت دیتا بیس ، فرم هارو تفسیم کنید تا ما هم یه جاشو انجام بدیم .
سبز باشید.
naser_feb8646
04-09-2009, 04:00
سلام
دوست عزیز توی جداول باید یه جدول که مشخصات خود کتابخانه اعم از نام کتابخانه، آرم، تلفن ، فاکس ، آدرس و غیره که توی فرم های گزارش بیشتر استفاده میشه هم طراحی کنی
mahdi7610
04-09-2009, 06:58
با سلام
من داشتم جدول اعضای کتابخونه رو درست می کردم که به یه مشکلی بر خوردم
من نوع فیلدهای "نام کتاب های امانت گرفته شده" و "شماره کتاب های امانت گرفته شده" رو باید چی بگذارم؟
من خودم به این نتیجه رسیدم که نوعشونو رشته تعریف کنم و برای جدا کردن مثلا هر نام کتاب داخل این فیلد یک کاراکتر جدا کننده مثل / بذارم! خوبه؟! (یه چی مثل آرایه می خوام که البته بشه توی گرید ویو هم نمایشش داد.)
خوب این که مشخصه نام کتاب های امانت گرفته شده باید رشته ای تعریف بشه و شماره کتاب های امانت گرفته شده باید از نوع int تعریف بشه .
هر کتابی که خریداری شده توسط مدیر کتابخونه یک شماره منحصر به فرد روی جلدش نوشته شده که در واقع مثل یک شماره شناسنامه برای اون کتاب هست . پس واسه هر کتاب باید یک شماره ثبت در نظر بگیری
وقتی کاربری این کتاب را به امانت می بره برای شما ملاک اون شماره هستش .
به نظر من باید یک فرم طراحی بشه و اعمال ثبت کتاب امانت گرفته شده را باهاش انجام داد و یک دیتاگرید هم برای نشون دادن اون مشخصات . و جدولش هم توی پایگاه داده طراحی بشه .
سپس 4 عمل اصلی باید روی این فرم انجام بشه تا وقتی کاربر کتاب را پس اورد از لیست کتابهای امانت گرفته شده حذف بشه .
و اگه کتابی به امانت برده شده یک سری از مشخصاتش توی این قسمت وارد بشه .
حتی میشه یک مقدار کتابخونه را گسترش داد . مثلا یک قسمت را در نظر گرفت برای اینکه اگه کاربری یک کتاب را خواست و اون کتاب به امانت برده شده بود و توی کتابخونه نبود بتونیم بهش بگیم که این کتاب در چه تاریخی قراره به کتابخونه توسط کاربری که به امانت برده شده برگردونده بشه .
در ضمن یک فیلد هم باید برای تمدید کتاب در نظر گرفته بشه . توی همون قسمت کتابهای امانت گرفته شده باید یک فیلد دیگه اضافه کنید واسه تمدید کتاب . چون ممکنه کاربری همون کتاب را بخواد برای یک مدت دیگه تمدید کنه . پس نیاز نیست دوباره مشخصات اون کتاب و کاربر را یاداشت کنیم . کافیه توی همون قسمت جلوی فیلد تمدید تاریخ مراجعه بعدی کتاب را وارد کنیم .
موفق باشی
با سلام
دوست عزیز توی جداول باید یه جدول که مشخصات خود کتابخانه اعم از نام کتابخانه، آرم، تلفن ، فاکس ، آدرس و غیره که توی فرم های گزارش بیشتر استفاده میشه هم طراحی کنی
ممنون نکته ی خوبی بود.
من ویبی کار میکنم . و میخوام با سی شارپ هم آشنا بشم ، اگه میشه بعد از ساخت دیتا بیس ، فرم هارو تفسیم کنید تا ما هم یه جاشو انجام بدیم
مزاحم میشیم:31:
خوب این که مشخصه نام کتاب های امانت گرفته شده باید رشته ای تعریف بشه و شماره کتاب های امانت گرفته شده باید از نوع int تعریف بشه .
هر کتابی که خریداری شده توسط مدیر کتابخونه یک شماره منحصر به فرد روی جلدش نوشته شده که در واقع مثل یک شماره شناسنامه برای اون کتاب هست . پس واسه هر کتاب باید یک شماره ثبت در نظر بگیری
خوب مشکل همینجاست که یک عضو می تونه بیشتر از یک کتاب به امانت بگیره و ما باید از آرایه ی عدد صحیح
استفاده کنیم.(منظورم جدول اعضای فعلی است که باید تغییر کند.)
به هر حال کمی فکر کردم و دیدم برای امانت بهتر است کمی جداول تغییر کنند.
مثلا فیلدهای مربوط به امانت از جدول اعضا رو حذف و بجاش یه فیلد بولین در به نام "امانت گرفته شده" در جدول کتب بذاریم که اگر اون کتب امانت گرفته شده برن توی جدول امانات و ببینن کی گرفتتشو ...
به نظر من باید یک فرم طراحی بشه و اعمال ثبت کتاب امانت گرفته شده را باهاش انجام داد و یک دیتاگرید هم برای نشون دادن اون مشخصات...
اینها که حتمی است!!!
در ضمن یک فیلد هم باید برای تمدید کتاب در نظر گرفته بشه . توی همون قسمت کتابهای امانت گرفته شده باید یک فیلد دیگه اضافه کنید واسه تمدید کتاب . چون ممکنه کاربری همون کتاب را بخواد برای یک مدت دیگه تمدید کنه . پس نیاز نیست دوباره مشخصات اون کتاب و کاربر را یاداشت کنیم . کافیه توی همون قسمت جلوی فیلد تمدید تاریخ مراجعه بعدی کتاب را وارد کنیم .
ممنون نکته خوبی بود.
راستی یک سوالی هم واسم پیش اومد => ما نمی تونیم یه فیلد از نوع آرایه تعریف کنیم و اونو به صورت کامبو باکس در گریدویو نمایش بدیم؟
naser_feb8646
04-09-2009, 13:52
سلام
دوستان ببخشید چند نکته بود که من می خواستم توضیح بدم
شما اگر از بانکهای رابطه ای استفاده کنید دیگه نیاز به انجام این همه کارهای پیچیده ندارید
بزارید بحث رو یه کم باز تر کنیم شما وقتی برای هر فرد یک شماره عضویت منحصر به فرد تعریف می کنید نیاز نیست در جداول دیگه ای مثل (کتابهای امانت داده شده) دوباره بیاید نام و نام خانوادگی فردی که کتاب رو امانت گرفته ذخیره کنید کافی فقط شماره عضویت شخص ذخیره بشه و در هنگام فراخوانی بوسیله دستورات SQL بیاید نام ،نام خانوادگی، نام کتاب و ... فردی که شماره عضویت اون در جدول (کتابهای امانت داده شده) وجود دارد رو نمایش بدید
با این توضیحات با اجازه شما بنده جداول رو به شکل زیر اصلاح می کنم
مشخصات مدیر کتابخانه
{
شماره مدیریت(همون آیدی) / نام / نام خانوادگی / جنسیت / نام پدر / شماره شناسنامه / تاریخ تولد / تصویر / تاریخ شروع مدیریت / تاریخ اتمام مدیریت / تلفن منزل / تلفن همراه / آدرس منزل / توضیحات
}
مشخصات کتابدارن کتابخانه
{
شماره عضویت / نام / نام خانوادگی / جنسیت / نام پدر / شماره شناسنامه / تاریخ تولد / تصویر / تاریخ شروع به کار / تاریخ اتمام کار / تلفن منزل / تلفن همراه / آدرس منزل / توضیحات
}
مشخصات مسئولان کتابخانه
{
شماره عضویت / نام / نام خانوادگی / جنسیت / نام پدر / شماره شناسنامه / تاریخ تولد / تصویر / تاریخ شروع به کار / تاریخ اتمام کار / پست در کتابخانه / تلفن منزل / تلفن همراه / آدرس منزل / توضیحات
}
حالا فیلد پست در کتابخانه می تونه شامل مدیریت یا کارکنان باشه
مشخصات اعضای کتابخانه
{
شماره عضویت / نام / نام خانوادگی / جنسیت / نام پدر / شماره شناسنامه / تاریخ تولد / تصویر / تاریخ عضویت / تاریخ اتمام عضویت / نام کتابهای امانت گرفته شده / شماره ی کتاب های امانت گرفته شده(مخفی) / تلفن منزل / تلفن همراه / آدرس منزل / توضیحات
مشخصات اعضای کتابخانه
{
شماره عضویت (منحصر به فرد) / نام / نام خانوادگی / جنسیت / نام پدر / شماره شناسنامه / تاریخ تولد / تصویر / تاریخ عضویت / تاریخ اتمام عضویت / تلفن منزل / تلفن همراه / آدرس منزل / وضعیت / توضیحات
فیلد وضعیت در رکود مشخصات اعضا نگهدارنده وضعیت فرد می باشد (عادی ، لیست سیاه ، اخراج موقت)
کتابهای امانت داده شده
{
شماره کتاب در کتابخانه / نام کتاب / موضوع کتاب / نویسنده / مترجم / عکس روی جلد / نام فردی که کتاب را امانت گرفته / نام خانوادگی فردی که کتاب را امانت گرفته / شماره عضویت فردی که کتاب را امانت گرفته(مخفی) / توضیحات
}
کتابهای امانت داده شده
{
شماره کتاب در کتابخانه / شماره عضویت فردی که کتاب را امانت گرفته / تاریخ شروع امانت / تاریخ بازگشت کتاب / توضیحات
}
در این جدول فیلدهای شماره کتاب در کتابخانه و شماره عضویت باید به صورت منحصر به فرد (PrimaryKey) باشد
افرادی که موقتا اخراج شده اند
{
شماره عضویت / نام / نام خانوادگی / جنسیت / نام پدر / شماره شناسنامه / تاریخ تولد / تصویر / تاریخ عضویت / تاریخ اتمام عضویت / نام کتابهای امانت گرفته شده / شماره ی کتاب های امانت گرفته شده(مخفی) / تلفن منزل / تلفن همراه / آدرس منزل / دلیل اخراج موقت / توضیحات
}
افرادی که موقتا اخراج شده اند
{
شماره عضویت / دلیل اخراج موقت / توضیحات
}
افرادی که اخراج شده اند
{
شماره عضویت / نام / نام خانوادگی / جنسیت / نام پدر / شماره شناسنامه / تاریخ تولد / تصویر / تاریخ عضویت / تاریخ اتمام عضویت / نام کتابهای امانت گرفته شده / شماره ی کتاب های امانت گرفته شده(مخفی) / تلفن منزل / تلفن همراه / آدرس منزل / دلیل اخراج / توضیحات
}
افرادی که اخراج شده اند
{
شماره عضویت / نام / نام خانوادگی / جنسیت / نام پدر / شماره شناسنامه / تاریخ تولد / تصویر / تاریخ عضویت / تاریخ اتمام عضویت / تلفن منزل / تلفن همراه / آدرس منزل / دلیل اخراج / توضیحات
}
لیست سیاه(افراد بی نظم)
{
شماره عضویت / نام / نام خانوادگی / جنسیت / نام پدر / شماره شناسنامه / تاریخ تولد / تصویر / تاریخ عضویت / تاریخ اتمام عضویت / نام کتابهای امانت گرفته شده / شماره ی کتاب های امانت گرفته شده(مخفی) / تلفن منزل / تلفن همراه / آدرس منزل / علت بی نظمی / توضیحات
}
لیست سیاه(افراد بی نظم)
{
شماره عضویت / علت بی نظمی / توضیحات
}
امیدوارم تونسته باشم کمک کوچکی برای ساخت این پروژه شما کرده باشم
naser_feb8646
04-09-2009, 15:55
با سلام
من داشتم جدول اعضای کتابخونه رو درست می کردم که به یه مشکلی بر خوردم
من نوع فیلدهای "نام کتاب های امانت گرفته شده" و "شماره کتاب های امانت گرفته شده" رو باید چی بگذارم؟
من خودم به این نتیجه رسیدم که نوعشونو رشته تعریف کنم و برای جدا کردن مثلا هر نام کتاب داخل این فیلد یک کاراکتر جدا کننده مثل / بذارم! خوبه؟! (یه چی مثل آرایه می خوام که البته بشه توی گرید ویو هم نمایشش داد.)
سلام
دوست عزیز شما می تونید بجای اینکه کل کتابهای امانت گرفته شده توسط یک شخص رو در جدول اعضا ذخیره کنید یک جدول آرشیو درست کنید وکتابهایی که توسط یه فرد به امانت گرفته شده و سپس برگردونده رو با شماره عضویتش در اون جدول ذخیره کنی
با سلام
شما اگر از بانکهای رابطه ای استفاده کنید دیگه نیاز به انجام این همه کارهای پیچیده ندارید...
ممنون تموم جداول رو به همین شکلی که شما میگین تغییر خواهم داد.:46:
و اما منظورتون از بانک رایطه ای ایجاد ارتباط بین جداول بانک هست؟
اگه کمی در این مورد بیشتر توضیح بدین و بگید چه جوری این کارو انجام بدم ممنون میشم.
دوست عزیز شما می تونید بجای اینکه کل کتابهای امانت گرفته شده توسط یک شخص رو در جدول اعضا ذخیره کنید یک جدول آرشیو درست کنید وکتابهایی که توسط یه فرد به امانت گرفته شده و سپس برگردونده رو با شماره عضویتش در اون جدول ذخیره کنی
منظورتونو متوجه نشدم . یعنی برای هر نفر یک جدول بسازم؟:18:
دوستان دیگه اگه در مورد جداول نظری دارن زود بگنا:19:
چون تا یه زمانی دیگه جداولو بیخیال و به سراغ کد نویسی و ... میریم.
ممنون:11:
sari-1369
04-09-2009, 23:33
من با naser_feb8646 موافقم ، اصلا راه درستش همینه .
راستی ، عنوان تایپیک رو هم تغییر بدید .
naser_feb8646
05-09-2009, 00:19
سلام
و اما منظورتون از بانک رایطه ای ایجاد ارتباط بین جداول بانک هست؟
اگه کمی در این مورد بیشتر توضیح بدین و بگید چه جوری این کارو انجام بدم ممنون میشم
ببینید دوست عزیز شما اگر جداول رو به شکل قبلی که خودتون گفته بودید طراحی می کردید می تونستید با یه دستور Select مثلاً از جدول کتابهای امانت داده شده اطلاعات مربوط به یک شخص رو واکشی کنید
کد نمونه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
الان با این دستور کل کتابهای امانت گرفته شده مربوط به شخصی که نام خانوادگی اون جعفری هست رو نمایش می ده
اما اشکال این نوع بانکها این که اطلاعات چندین و چند بار به صورت تکراری در دیتابیس ذخیره میشه و بعد از مدتی حجم دیتابیس شما خیلی بالا میره
حالا اگر جداول رو به صورت جدید که گفته شد طراحی بشه باز هم با یک دستور select ولی پیشرفته تر میشه همان اطلاعات رو دوباره از دیتابیس واکشی کرد
کد نمونه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
منظورتونو متوجه نشدم . یعنی برای هر نفر یک جدول بسازم؟
در مورد این سوال هم شما وقتی که یک شخص کتابی رو امانت گرفت و سپس بازگردوند باید اطلاعات از جدول امانت پاک بشه ولی حالا ما می خوایم برای بعد اطلاعات کلی یک فرد رو داشته باشیم که مثلاًً در طول سال چند کتاب امانت گرفته چه کتابهایی بوده و غیره پس باید اطلاعات در یک جا ثبت بشه که بعداً از اون استفاده بشه
اگر اطلاعات رو از جدول پاک نکنید بعد از مدتی حجمش بالا می ره و برای واکشی کل اطلاعات از دیتابیس زمان بیشتری صرف میشه پس اطلاعاتی که قرار پاک بشه رو در یک جدول دیگ مانند همون جدول امانت ولی به نام آرشیو امانات ذخیره می کنید و بعداً در گزارشات خودتون ازش جدول آرشیو استفاده می کنید
sari-1369
05-09-2009, 04:19
خب ، یکی ساخت دیتا بیس رو شورع کنه . موجودیت ها که مشخص شد ، رابطه بینشونم که داره مشخص میشه .
از چه بانکی میخواید استفاده کنید ؟ به نظر من SQL Server خوبه .
با سلام
1) اگه ما بیایم و روابط بین جداول رو به وسیله ی VS انجام بدیم بازم باید برای ایجاد ارتباط از دستور JOIN استفاده کنیم؟
2)آیا این برنامه به صورت شبکه کار می کند؟
=================================================
در مورد جدول آرشیو امانات هم بهتره نباشه و بجاش یه فیلد بولیین در جدول کتب باشه تا بفهمیم کتاب امانت گرفته شده یا نه.
naser_feb8646
05-09-2009, 09:44
با سلام
1) اگه ما بیایم و روابط بین جداول رو به وسیله ی VS انجام بدیم بازم باید برای ایجاد ارتباط از دستور JOIN استفاده کنیم؟
2)آیا این برنامه به صورت شبکه کار می کند؟
=================================================
در مورد جدول آرشیو امانات هم بهتره نباشه و بجاش یه فیلد بولیین در جدول کتب باشه تا بفهمیم کتاب امانت گرفته شده یا نه.
سلام
دوست عزیز
سوال 1) دستورات بالا همه دستورات استاندارد استفاده از دیتابیس هستند و در تمامی برنامه ها از همینا استفاده می شه ولی اگر منظور شما این بود در VS بدون استفاده از نوشتن کد بشه این کار رو انجام داد بله این امکان وجود داره که شما به صورت بصری بتونید بین جداول ارتباط برقرار کنید ولی در اصل VS هم میاد خودش همین دستورات رو تولید می کنه
سوال2) بله
3) هر جور مایلید
من طراحی جداول رو شروع کردم بنابراین دیگه نظری در مورد جداول ندین:31:
در ضمن این کارو با sql 2008 انجام میدم تا مشکلی برای شبکه بودن برنامه هم پیش نیاد.
نوع تاریخ رو چی بذارم؟ date یا datetime ؟
--------------------------------------------------
نوع شماره همراه رو چی بذارم؟ (مثلا اگه عددی که کاربر وارد می کنه بیشتر از محدوده int باشه...)
رشته خوبه؟ بعد تو برنامه جلوی ورود کاراکترهای غیر عددی رو می گیریم.
naser_feb8646
05-09-2009, 13:01
نوع تاریخ رو چی بذارم؟ date یا datetime ؟
--------------------------------------------------
نوع شماره همراه رو چی بذارم؟ (مثلا اگه عددی که کاربر وارد می کنه بیشتر از محدوده int باشه...)
رشته خوبه؟ بعد تو برنامه جلوی ورود کاراکترهای غیر عددی رو می گیریم.
نوع تاریخ Date
نوع شماره همراه به صورت رشته
سلام
بالاخره جداول رو طراحی کردم و اما چند سوال برام پیش اومد:
1)چرا sql 2005 نوع date رو نداره؟
2)اگه یه رشته 5 کاراکتری رو به یک فیلد با نوع های nvarchar(10),nchar(10),nvarchar(MAX بدیم کدوم حجم بیشتری رو در دیتابیس می گیرن؟
تفاوت نوع های فوق در چیه؟
3)اگه نوع یه فیلد nvarchar MAX باشه و یه رشته 5 کارکتری بهش بدیم بجز 5 کاراکتر اول که مقداری هستن که ما وارد کردیم بقیه کاراکترها مقدارشون چیه؟ آیا اون تعداد بقیه حافضه ای رو اشغال می کنن؟
:11:
راستی اگر در بین دوستان کسی کتابی / مقاله و یا اطلاعاتی در مورد برنامه نویسی تحت شبکه برای پایگاه داده sql داره بذاره.
واقعا بهش نیاز دارم
mahdi7610
05-09-2009, 19:16
1)چرا sql 2005 نوع date رو نداره؟
نيدونم :دی
2)اگه يه رشته 5 کاراکتري رو به يک فيلد با نوع هاي nvarchar(10),nchar(10),nvarchar(MAX بديم کدوم حجم بيشتري رو در ديتابيس مي گيرن؟
تفاوت نوع هاي فوق در چيه؟
nChar : در اين نوع داده ، اطلاعات از 1 تا حداكثر 4000 حرف با طول ثابت ذخيره ميشود.
nVarChar : در اين نوع داده ، اطلاعات از 1 تا حداكثر 4000 بايت با طول متغير ذخيره ميشود.
فرق بين nChar و nVarChar در اين است كه در nChar طول رشته ثابت است. يعني اگر يك فيلد را از نوعnChar(20) معرفي كرده و در آن كلمه mahdi را قرار دهيم ، عين 20 حرف استفاده خواهد شد. يعني 5 كاراكتر اول را كلمه مربوطه اشغال كرده و 15 كاراكتر باقيمانده ، Blank خواهند بود. اما در nVarChar اينگونه نيست.
پس حجم nchar بيشتر خواهد بود .
nVarChar(MAX) : در اين نوع داده از 1 تا 1 مگا حرف ذخيره ميشود.
3)اگه نوع يه فيلد nvarchar MAX باشه و يه رشته 5 کارکتري بهش بديم بجز 5 کاراکتر اول که مقداري هستن که ما وارد کرديم بقيه کاراکترها مقدارشون چيه؟ آيا اون تعداد بقيه حافضه اي رو اشغال مي کنن؟
مقادير اين داده به صورت پوينتري هستش و به نظرم بقيه فضا اشغال نميشه و مثل حالت nvarchar هستش .
ممنون
توضیحاتتون کامل بود
و اما منظور م از سوال اول یه اینجور چیزی بود!!! :
نوع فیلدهای تاریخ رو توی sql 2005 باید چی بذاریم؟
mahdi7610
05-09-2009, 22:52
نوع فیلدهای تاریخ رو توی sql 2005 باید چی بذاریم؟
خوب چرا DateTime در نظر نمیگیری ؟
sari-1369
05-09-2009, 23:48
چرا تاریخ رو از نوع nVarChar(10( نمیزارید ؟ خیلی بهتره ، هم توی گزارش گیری مشکل نداریم و هم توی باز خونی اطلاعات توی فرم و ...
نوع datetime رو که دوباره باید تاریخ و زمان جدا بشن و کار سخت تر میشه پس از همون رشته کمک می گیرم.
================================================== ================
در ضمن دارم بر روی نحوه ی کار کرد برنامه متمرکز میشم لطفا دوستان هم نظرات و پیشنهاداتشونو بگن.
از دوستان اگه کسی در مورد کار با پایگاه داده به صورت شبکه ای مطلبی داره یا بلده کمک کنه چون من چندان چیزی نمی دونم.
ممنون میشم.
sari-1369
06-09-2009, 01:28
حالا فعلا تک کتربرشو انجام بدیم .
چون برنامه برای یادگیری است بنابراین هر چه مشکل تر شود بهتر است
من دارم دنبال مطلبی در مورد شبکه می گردم پیدا کردم می زارم.
naser_feb8646
06-09-2009, 18:33
سلام
دوست عزیز ببین با این Ebook کارت راه میفته
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با سلام
یه سوال
آیا برای حذف و بهنگام رسانی و اضافه کردن به چند جدول که بهم join شدن باید برای تک تک دستور بدیم یا با join میشه یک دستور نوشت که برای 4 جدول کار کنه؟
naser_feb8646
07-09-2009, 13:24
سلام
دوست عزیز دستور Join مختص کوری های Select هست و در بقیه موارد نمیشه ازش استفاده کرد
برای اضافه اطلاعات در چند جدول
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای دو دستور Update و Delete هم به همین شکل استفاده میشه یعنی ابتدا دستور اول رو می نویسید و سپس دستور دوم را با یک کاراکتر ( ; ) از دستور اول جدا می کنید
sari-1369
07-09-2009, 17:18
از Stored Procedures استفاده کنیم تو برنامه . یزارین یه چیز خوب در بیاد :D
با سلام
ممنون
یک پروژه ی دیگر هم دارم بنابر این کمتر اینجا میام.
==================================================
من هم می خوام این برنامه خوب از آب در بیاد .
با سلام دوستان
منم میخواستم یه برنامه کتابخونه بنویسم دیدم جدولای گفته شده خوب و کامله خواستم پروژم رو بر اسا س اون بنویسم ولی دقیقا نمیدونم ارتباط اونا باید چه جوری باشه(تو محیط sql) البته من یه ارتباطی بر اون اساسی که فکر میکردم دادم ولی چون میخواستم مطمئن بشم خواستم از شما دوستان هم کمک بگیرم.
ممنون میشم اگه کمک کنید.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.