PDA

View Full Version : سوال: رسم نمودار



corona
جمعه 14 تیر 1387, 11:33 صبح
با سلام خدمت همه دوستان عزیز .
راستش من یک پروژه برای درس شبیه سازی دارم که باید یک سری آزمون رو روی یک سری از روشهای تولید اعداد تصادفی امتحان کنم . روش کار من به این صورته که چند تا روش تولید اعداد تصادفی دارم مثل LFSR ,Automata و... که هر کدوم از یک روش خاص برای تولید اعداد تصادفی استفاده می کنند . خوب حالا من مثلا با هر روش 10000 تا عدد تصادفی تولید کردم و توی این اعداد تصادفی فراوانی هر عدد و احتمال اون رو پیدا می کنم . حالا لازمه که نمودار داده های تصادفی تولید شده رو رسم کنم . این کارا رو با دوستم تو ++c انجام دادیم و نمودار داده های تولید شده رو با اکسل رسم کردیم ولی الان میخوایم همه این مارا رو با #C انحام بدیم . حالا سوال من اینه که ما اعداد تصادفی که توسط این روشها ایجاد می شوند رو توی چه ساختاری ذخیره کنیم که بعد بتونیم با استفاده از اون ساختار و استفاده از کریستال ریپورت توی پروژه نودار داده های تولید شده رو هم رسم کنیم .یعنی الان دو تامشکل هست : 1-اینکه داده ها رو چه جوری ذخیره کنیم 2- اینکه چه جوری این داده ها رو بدیم به کریستال ریپورت که برامون نمودارش رو رسم کنه .

خیلی طولانی شد . عذر میخوام . با تشکر Corona

رافعی مهدی
جمعه 14 تیر 1387, 13:44 عصر
سلام
راجع به مشكل اولي كه مطرح كرديد يه پروژه ي نمونه دارم كه به سه زبان ++C# ، C و VB نوشته شده و در آن نحوه ي ارتباط با نرم افزار Excel معرفي شده. اميدوارم مفيد باشه.
منبع: MSDN

gdevnb
جمعه 14 تیر 1387, 23:43 عصر
سلام
ابزارهایی برای رسم نمودار در #C وجود داره که نیازی به استفاده از کریستال نیست .
ولی اگه لازمه که از کریستال ریپورت استفاده کنید داده ها,فراوانی و پارامترهای دیگه رو تو بانک اطلاعاتی ذخیره کنید و بعد تو کریستال ازش استفاده کنید.(تو همون ویزارد اول میتونید نمودارتون رو انتخاب کنید)

corona
شنبه 15 تیر 1387, 16:29 عصر
سلام
راجع به مشكل اولي كه مطرح كرديد يه پروژه ي نمونه دارم كه به سه زبان ++C# ، C و VB نوشته شده و در آن نحوه ي ارتباط با نرم افزار Excel معرفي شده. اميدوارم مفيد باشه.
منبع: MSDN

دوست عزیز ممنون از کدی که گذاشتی . فقط اگه لطف کنی برای کد سی شارپ هم soloution 2005 رو بزاری ممنون میشم .

corona
شنبه 15 تیر 1387, 16:33 عصر
سلام
ابزارهایی برای رسم نمودار در #C وجود داره که نیازی به استفاده از کریستال نیست .
ولی اگه لازمه که از کریستال ریپورت استفاده کنید داده ها,فراوانی و پارامترهای دیگه رو تو بانک اطلاعاتی ذخیره کنید و بعد تو کریستال ازش استفاده کنید.(تو همون ویزارد اول میتونید نمودارتون رو انتخاب کنید)

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

hdv212
شنبه 15 تیر 1387, 16:55 عصر
-اینکه داده ها رو چه جوری ذخیره کنیم
خب میتونید از کلاس استفاده کنید.

2- اینکه چه جوری این داده ها رو بدیم به کریستال ریپورت که برامون نمودارش رو رسم کنه .
لازم نیست حتما با کریستال ریپورت کار کنید، میتونید از ابزارهای رایگانی که دیگران در اینترنت منتشر میکنند هم استفاده کنید، مثل این (http://www.codeproject.com/KB/miscctrl/HBarChart.aspx).

corona
شنبه 15 تیر 1387, 21:44 عصر
دوست عزیز مشکله من اینه که تا حالا از هیچ dll یا ابزار دیگه هی برای اینکار استفاده نکردم . اخه من سی شارپ رو تازه شروع کردم و اصلا برنامه های حتی متوسط به بالا هم باهاش ننوشتم که بخوام با نحوه کارا ین ابزار اشنا باشم .من میخوام بیشتر در مورد به کار گیری ابزارهای خود سی شارپ برای مثلا رسم نمودار یا استفاده ازDLL هایی که منتشر میشه راهنمایی کنید .ممنون

hdv212
شنبه 15 تیر 1387, 22:45 عصر
شما برای استفاده از Chart در برنامه تون، یا باید از Crystal Report استفاده کنید و یا از Reporting Services که متاسفانه هر کدوم دردسرهای خاص خودشو داره (از جهت Deploy کردن)، اما راه دیگه ای هم هست، همانطور که گفتم استفاده از ابزارهای Third Party هست، برای استفاده از این ابزارها کافیه dll مورد نظر رو به پروژه تون اضافه کنید، پیشنهاد میکنم از کتابهای آموزشی هم استفاده کنید تا بیشتر مسلط به برنامه نویسی با C# شوید.

رافعی مهدی
شنبه 15 تیر 1387, 23:52 عصر
با سلام
متأسفانه من با نسخه ي 2008 كار مي كنم و الان رو سيستمم نسخه ي 2005 نصب نيست. براي همين فقط مي تونم نسخه اي از اين پروژه رو كه با ورژن 2008 ساختم براتون بذارم.
اما نحوه ي ساختنش خيلي سخت نيست:
1- يك پروژه ي جديد از نوع #C ، زير مجموعه ي (2007 يا Office (2003 و نهايتاً از شكل Excel 2003 Template يا Excel 2007 Template ايجاد مي كنيد.
2- كلاس AutoExcel رو به solution خودتان add كنيد. (فايل اين كلاس در ضميمه ي پست قبلي ام قرار داده شده)
تذكر: نيازي به اضافه كردن كلاس AssemblyInfo نيست.
3- در كلاس ThisWorkbook و در متد استارت آپ كد زير را اضافه كنيد:



private void ThisWorkbook_Startup(object sender, System.EventArgs e)
{
AutoExcel.Main();
}



4- برنامه را اجرا كنيد. نرم افزار Excel بارگذاري شده و جدول و نمودار نمونه در آن رسم ميشه!
نكته: اگر بعد از رسم نمودار خود بخود sheet مربوطه بسته ميشه در كلاس AutoExcel و در خطوط انتهايي كد دستورات try - catch رو comment كنيد.
در فايلهاي ضميمه تصويري از نتيجه ي كار هم قرار داده شده.

موفق باشيد

gdevnb
یک شنبه 16 تیر 1387, 06:51 صبح
دوست عزیز مشکله من اینه که تا حالا از هیچ dll یا ابزار دیگه هی برای اینکار استفاده نکردم . اخه من سی شارپ رو تازه شروع کردم و اصلا برنامه های حتی متوسط به بالا هم باهاش ننوشتم که بخوام با نحوه کارا ین ابزار اشنا باشم .من میخوام بیشتر در مورد به کار گیری ابزارهای خود سی شارپ برای مثلا رسم نمودار یا استفاده ازDLL هایی که منتشر میشه راهنمایی کنید .ممنون
سلام
استفاده از این Third Party ها سخت تر از کریستال یا Reporting Services نیست
فقط کافیه dll مورد نظر رو بکشی بندازی تو toolbox و بعد بندازی رو فرمت و ازش استفاده کنی
در مورد نحوه استفادش هم که معمولاً مثال یا داکیومت همراه دارن.
درضمن در این حالت لازم نیست اطلاعات در منابعی مثل پایگاه داده ذخیره بشن.
در این مورد من Dundas رو پیشنهاد میدم که البته مجانی نیست.

nPad.Net
چهارشنبه 21 مهر 1389, 23:36 عصر
http://www.codeproject.com/KB/graphics/zedgraph.aspx

دوستان یه نگاه هم به این کامپوننت بندازید به نظر کارایی بالایی داره