PDA

View Full Version : امکانات سی شارپ؟



mohi_ka2
شنبه 27 مرداد 1386, 11:52 صبح
سلام دوستان .
من به یه مشکل تازه برخوردم. ما یه گروه چهار نفری روی یک پروژه کار کردیم و هر کدوم قسمتهایی از این پروژه رو انجام دادیم ؛ در Solution های مختلف . اما حالا به یه مشکل برخوردیمو نمی دونیم باید چطوری اینها رو به هم لینک بدیم. ضمنا اینقدر حجم کار بالاست که نمی شه کپی پیست کرد!
از برنامه نویسان محترم کسی چیزی می دونه که مشکل مارو رفع کنه؟
ممنون می شم منو با نظر هاتون راهنمایی کنید.:چشمک:

omid_Ahmadi
شنبه 27 مرداد 1386, 14:05 عصر
بهتر بود که همه روی یه سولوشن کار می کردید، ولی با پروژه های مختلف. حالا این مورد (یعنی مرج برنامه ها) به ساختار برنامه بستگی داره، اینکه هر کسی چه نوع کاری رو انجام می داده.

یه سوال: تا الان که میشه تشخیص داد پروژهتون آخر راهشه، کار هیچ کس به کار اون یکی وابسته نبوده و هیچ همپوشانی وجود نداشته؟ همین جوری هر کسی واسه خودش کد میزده؟

حامد مصافی
شنبه 27 مرداد 1386, 14:33 عصر
یک سولشون جدید ایجاد کنید و فایل های ایجاد شده رو به این سولشون الحاق کنید.

اما از دفعه بعد حتماً از نسخه Team Suite استفاده کنید و یک مدیر کد مانند Visual Source Safe هم نصب کنید.

PC2st
شنبه 27 مرداد 1386, 15:04 عصر
اگر هر کدومتون، یک کلاس رو با هم تکمیل کردید، یعنی اینکه مثلا شما متد Append رو به کلاس اضافه کردید و دوستتون متد Remove رو نوشته، کافیه که در اعلان تعریف کلاس، کلمه کلیدی partial رو اضافه کنید. مثلا:


public partial class Hello
{
//...
}

این کار باعث میشه که یک کلاس در چندین فایل ذخیره بشه.


اگر هر کدومتون یک solution نوشته اید، محتویات پروژه های موجود در بقیه solution ها را در یکی از solution ها، کپی و paste کنید تا همه آنها در قالب یک پروژه در یک solution قرار گیرند. مثلا کلاسها و فرمها و ... را در یکی از solution ها قرار دهید. اگر فضای نامهای تعریف شده توسط شما با دوستتون، یکی باشه (نام namespace پروژه) نیاز به تغییرات زیادی ندارید در غیر اینصورت، namespace پروژه رو در تمام solution ها یکی کنید و بعد عملیات کپی و paste کلاسها رو در پروژه انجام بدید.

hdv212
شنبه 27 مرداد 1386, 15:23 عصر
یه solution رو به عنوان solution اصلی انتخاب کنید و بقیه ی solution ها رو در این solution کپی کنید و بعد از اینکه solution اصلی رو اجرا کردید، از منوی File > Add > Existing Project رو انتخاب کنید و در کادر جدید توی فولدر solution اصلی، Solution های دیگه رو که پیش از این کپی کردید انتخاب کنید و بعد ok (به تعداد solution هایی که در این فولدر کپی کردید، ممکنه چند بار این عمل رو اجرا کنید)، بعد در solution اصلی در قسمت Solution Explorer روی References کلیلک راست کنید و Add References رو انتخاب کنید، و در کادر جدید، در tab مربوط به Projects بایستی پروژه هایی رو که به Solution تون اضافه کردید رو ببینید، خب همه رو انتخاب کنید (باید پروژه هاتون در قسمت References بیان)، الان پروژه هاتون تحت یه ُSolution در اومدن و با ذکر namespace هر solution میتونید به محتویاتش دسترسی داشته باشی.

mohi_ka2
یک شنبه 28 مرداد 1386, 11:27 صبح
سلام به دوستان برنامه نویس از لطف همه تون ممنونم . خیلی زیاد . اما حالا باعض شرمندگی:خجالت: یه مشکل دیگه هم دارم که خوشحال می شم کمکم کنید:چشمک:
من اول برنامه ام اطلاعاتی رو از کاربر می گیرم مثل اسم کاربر ، شماره سریال و آدرس عکس دلخوه کاربر. که اینها رو تو رجیستری می ریزم. اما نمی تونم عکس رو نمایش بدم.فرض کنید من آدرس عکس کاربر رو در متغیر
UserPic_URL در رجیستری Save کردم. حالا با دستور زیر می خخوام برم بیارمش و توی یه PictureBox بریزمش :
PicUser_From_Reg.BackgroundImage =(Bitmap)(MyAppRoot_user.GetValue("UserPic_URL"));
ولی نمی شه و اررور می ده.
در این مورد هم اگر نظری دارید بفرمائید خیلی ممنون می شم.:لبخندساده:

حامد مصافی
یک شنبه 28 مرداد 1386, 11:39 صبح
String به Bitmap قابل تبدیل نیست. از متد Image.FromFile استفاده کنید.

mohi_ka2
دوشنبه 29 مرداد 1386, 10:17 صبح
یک سولشون جدید ایجاد کنید و فایل های ایجاد شده رو به این سولشون الحاق کنید.

اما از دفعه بعد حتماً از نسخه Team Suite استفاده کنید و یک مدیر کد مانند Visual Source Safe هم نصب کنید.

ممنون . ولی من نمی دونم چطور می تونم این کارو انجام بدم. می شه راهنماییم کنین؟
بازم ممنون:لبخندساده:

حامد مصافی
سه شنبه 30 مرداد 1386, 20:20 عصر
یک پروژه خالی ایجاد کنید و تمام فرم ها، کلاس ها و سایر اعضاییرو که در سایر پروژه ها ایجاد شدند رو به این پروژه الحاق کنید.
بعد تنظیمات و روتین های اصلی پروژه نهایی رو سفارشی کنید.
به همین سادگی.

mohi_ka2
چهارشنبه 31 مرداد 1386, 11:48 صبح
سلام .
ممنون از همه تون و از معرفتتون.می دونم خیلی سوال می کنم ولی تازه کارم و یه پروژه هم بهم خورده و تنها فرومی که پیدا کردم که اینقدر خوب و کامل جواب میدن اینجاست.خیلی خیلی ممنون.:تشویق:
حالا بازم سوال دارم!!:بامزه:می خواستم ببینم چطور می شه از یک پروژه سی شارپ فایل EXE ساخت طوری که برای اجرا روی یه سیستم دیگه فقط همون EXEهه باشه نه کدها! و می خوام بتونم براش آیکون هم بذارم مثلا عکس یه گل یا...
ممنون
:لبخندساده::چشمک:

sm_ezadpanah
چهارشنبه 31 مرداد 1386, 12:32 عصر
با سلام دوست عزیز
سعی کن سوالاتت رو در تاپیک های جداگانه بذاری اینجوری برای خودت هم بهتره و زودتر جواب میگیری.
اما برای exe : خود vs اینکار رو کرده . بعد از طراحی و اجرای برنامه یک فایل به اسم برنامت در مسیر برنامه پوشه bin/debug ساخته میشه . که exe هست و برای استفاده از اون کافیه روی هر کامپیوتری که خواستی .netframwork (برای 2003 ورژن 1.1و برای 2005 ورژن2)رو نصب کنی و اون فایل exe رو اجرا کنی . اما راه بهتر و ساختاری تر ساختن setup از برنامه است . که این کار رو میتونی با نرم افزارهای setup ساز و یا خود vs انجام بدی.موفق باشی

MH2538
چهارشنبه 31 مرداد 1386, 12:38 عصر
برای سختن پروژه ات کافی از منویBuild اون رو Build کن
برای ایکن هم باید بری تو property پروژه ودر همون تب اول icon مورد نظرت رو بهش بدی

PC2st
چهارشنبه 31 مرداد 1386, 13:21 عصر
دوستان کامل توضیح دادند فقط یک نکته اینکه برنامه رو در حالت Release کامپایل کنید، یعنی برای ساخت EXE از Solution Explorer روی Solution ای که پروژه ات توش هست، کلیک کن تا انتخاب بشه، بعدش در پنجره Properties گزینه Active Debug را روی Release قرار بده و بعدش پروژه رو با F5 کامپایل کنید.

sm_ezadpanah
چهارشنبه 31 مرداد 1386, 14:07 عصر
با سلام
دوست عزیز pc2st.ir فرق release با debug در چیه

PC2st
چهارشنبه 31 مرداد 1386, 14:09 عصر
در حالت Release سرعت بیشتری داره چون حالت Debug برای اشکال زدائی در VS.NET بکار میره.

hdv212
چهارشنبه 31 مرداد 1386, 15:34 عصر
دلیل استفاده از نسخه ی کامپایل شده ی Release برای Distrbute کردن برنامه ها اینکه در نسخه ی Dubug، کامپایلر سی شارپ یک سری پرچم هایی رو در داخل کد برنامه اضافه میکنه که که در زمان اجرای برنامه بتونه مسیر اجرای کد برنامه رو دنبال کنه، به خاطر همین هم هست زمانی که در موقع اجرای برنامه تون در حالت debug وقتی خطایی اتفاق میفته، کامپایلر سی شارپ اطلاعاتی رو در مورد خطا (و یا حتی خطی که خطا در اون اتفاق افتاده) به ما میگه.