PDA

View Full Version : چند سوال و یک پروژه با سی شارپ



hassan_kahrizy
جمعه 12 فروردین 1384, 10:55 صبح
بسمه تعالی
مقیم کردن در حافظه
در داس برای اینکه از یک برنامه دیگر مثلا فارسی ساز در برنامه دیگر استفده کرد بایدآن را در حافظه مقیم کرد آیا در ویندوز هم می شود یک برنامه را مقیم کرد و یا نه؟

توابع API
شنیدم در ویندوز با توابع Api خیلی از کارها را به سهولت می توان انجام داد و اخیرا یکی از دوستان به من خبر داد که کتابی برای توابه Apiسی شارپ نیست آیا این توابع در زبان های مختلف متفاوتند یا نه مشابهند؟


پروژه نگار

این ترم پروژه شبیه ساز نرم افزار نگار را با سی شارپ قصد دارم بنویسم ،تا حالا تحت وینوز کار نکرده بودم و این اولین پروژه ام تحت ویندوز است ،سی شارپ را خوندم و پروژه را به قسمت های زیر تقسیم کردم ولی درباره خیلی موارد اصلا نمی دونم باید چه کار کنم خواهش می کنم راهنمایی کنید
مواردی که ستاره دارد ضروری است و ما بقی اختیاری:


*تبدیل تاریخ های میلادی به شمسی و قمری و بالعکس
*اذان گفتن در سر ساعت مقرر(محاسبه اوقات شرعی بر اساس افق شهر)
*بخش هشدار -با گرفتن ساعت و جمله مورد نظر -به کاربر با صوت و جمله مورد نظر فعال شود
*محافظ صفحه نمایش-screen saver-با استفاده از تصاویر مجموعه های ما

مجموعه تصاویر دارای قابلیت های زیر:

*قابلیت درج و حذف و ویرایش یک مجموعه تصاویر

مدیدیت مجموعه ها

*قابلیت تعویض تصاویر پس زمینه براساس زمان تعیین شده

*حک کردن تقویم و اوقات شرعی و مناسبت هاو... بر روی تصاویر پس زمینه

*نظیمات مربوط به بخش های مختلف برنامه

/جرای برنامه در ابتدای اجرای ویندوز یا مقیم کردن-start up-یا مقیم کردن آن با اسمبلی

ذخیره خاطرات هر روز -

hibernateکردن کامپیوتر و روشن کردن آن در ساعت معین شده همراه با پخش صوت انتخابی مثل Alarm Jet Audio
زنگ زدن هر یک ربع-
محاسبه مناسبت ها و تقویم تاریخ هر روز-
دادن اطلاعاتی پیرامون هر روز به صورت صفحات وب یا -عکس و یا فلش و پخش صوت بر اساس مناسبت های مختلف

Peyman_Ranjbar
شنبه 13 فروردین 1384, 03:30 صبح
در داس برای اینکه از یک برنامه دیگر مثلا فارسی ساز در برنامه دیگر استفده کرد بایدآن را در حافظه مقیم کرد آیا در ویندوز هم می شود یک برنامه را مقیم کرد و یا نه؟

بله میشه


توابع API
شنیدم در ویندوز با توابع Api خیلی از کارها را به سهولت می توان انجام داد و اخیرا یکی از دوستان به من خبر داد که کتابی برای توابه Apiسی شارپ نیست آیا این توابع در زبان های مختلف متفاوتند یا نه مشابهند؟

در همه زبانها مشابهند و از C# هم میشه به API دسترسی پیدا کرد
ولی برای پروژه ای مثل این فکر نکنم لازم باشه



این ترم پروژه شبیه ساز نرم افزار نگار را با سی شارپ قصد دارم بنویسم ،تا حالا تحت وینوز کار نکرده بودم
برای شروع خوبه ولی قبلش باید یکم با C# ور رفته باشی

omid_Ahmadi
شنبه 13 فروردین 1384, 08:35 صبح
سلام


توابع API
شنیدم در ویندوز با توابع Api خیلی از کارها را به سهولت می توان انجام داد و اخیرا یکی از دوستان به من خبر داد که کتابی برای توابه Apiسی شارپ نیست آیا این توابع در زبان های مختلف متفاوتند یا نه مشابهند؟

درسته با توابع API خیلی کارها راحت میشد ولی استفاده از اونها خیلی راحت و قابل اطمینان نبود ولی از وقتی .NET FrameWork معرفی شد دیگه توابع API در برنامه های نوشته شده با زبانهای .NET خیلی کمرنگ شدند و در اکثر موارد از Base Class Library خود .NET Framework استفاده میشه. در ضمن استفاده ز توابع API در همه زبانها یکسانه و فرقی نمیکنه.

به هر صورت برای استفاده از یک تابع API در #C باید از ویژگی DllImportAttribute برای وارد کردن تابع API به داخل برنامه استفاده کنی برای مثال برای استفاده از تابع Beep باید به صورت زیر تابع را وارد برنامه کنی:


[System.Runtime.InteropServices.DllImport("Kernel32")]
private staic extern int Beep(int dwFreq,int dwDuration);


تبدیل تاریخ های میلادی به شمسی و قمری و بالعکس

راجع به این موضوع هم توی این سایت خیلی بحث شده به خصوصتبدیل از میلادی به شمسی به لینک زیر یه سری بزن:


http://www.barnamenevis.org/forum/viewtopic.php?t=639
:موفق:

hassan_kahrizy
شنبه 13 فروردین 1384, 11:35 صبح
بسمه تعالی
سلام
با تشکر


[quote]در داس برای اینکه از یک برنامه دیگر مثلا فارسی ساز در برنامه دیگر استفده کرد بایدآن را در حافظه مقیم کرد آیا در ویندوز هم می شود یک برنامه را مقیم کرد و یا نه؟


[quoteبله میشه


می شه لطف کنید چطوری آیا باز بان اسمبلی می شه یا اینکه خود سی شارپ امکان استفاده از کدهای اسمبلی را می دهد



[quoteاین ترم پروژه شبیه ساز نرم افزار نگار را با سی شارپ قصد دارم بنویسم ،تا حالا تحت وینوز کار نکرده بودم

[quoteبرای شروع خوبه ولی قبلش باید یکم با C# ور رفته باشی

من کتاب مهندس جعفرنژاد رو خوندم و به نظر شما من مبتدی می توانم تا اخر ترم این پروژه را بنویسم

ممنون

hassan_kahrizy
شنبه 13 فروردین 1384, 11:42 صبح
بسمه تعالی
سلام علیکم



درسته با توابع API خیلی کارها راحت میشد ولی استفاده از اونها خیلی راحت و قابل اطمینان نبود ولی از وقتی .NET FrameWork معرفی شد دیگه توابع API در برنامه های نوشته شده با زبانهای .NET خیلی کمرنگ شدند و در اکثر موارد از Base Class Library خود .NET Framework استفاده میشه. در ضمن استفاده ز توابع API در همه زبانها یکسانه و فرقی نمیکنه.



با تشکر چطور می تونم درباره NET FrameWork اطلاعات بیشتر کسب کنم

hassan_kahrizy
شنبه 13 فروردین 1384, 11:44 صبح
راجع به این موضوع هم توی این سایت خیلی بحث شده به خصوصتبدیل از میلادی به شمسی به لینک زیر یه سری بزن:



درباره تاریخ قمری چطور چیزی نیست؟

omid_Ahmadi
شنبه 13 فروردین 1384, 12:35 عصر
سلام


درباره تاریخ قمری چطور چیزی نیست؟

تاریخ قمری رو خود .Net Framework به صورت BuiltIn پشتیبانی میکنه مشکل فقط برای تاریخ شمسی پیش میاد که پشتیبانی نمیشه. البته تاریخ شمسی هم در Visual Studio Whidbey به صورت درونی و به نام تاریخ جلالی پشتیبانی میشه.


چطور می تونم درباره NET FrameWork اطلاعات بیشتر کسب کنم

فکر کنم اول یکی از زبانهای تحت .NET رو کامل یاد بگیری بهتر باشه اینجوری کم کم .NET Framework رو هم به اندازه کافی یاد بگیری ولی خوب راجع به این زمینه به نظر من بهترین راه کتاب Applied .NET Framework Programming از MSPress باشه
من کتاب مهندس جعفرنژاد رو خوندم و به نظر شما من مبتدی می توانم تا اخر ترم این پروژه را بنویسم


من کتاب مهندس جعفرنژاد رو خوندم و به نظر شما من مبتدی می توانم تا اخر ترم این پروژه را بنویسم

فکر نکنم با خواندن فقط اون کتاب نوشتن اون برنامه کار راحتی باشه ولی امیدوارم از پسش بر بیای :wise1: :موفق:

hassan_kahrizy
شنبه 13 فروردین 1384, 17:51 عصر
فکر نکنم با خواندن فقط اون کتاب نوشتن اون برنامه کار راحتی باشه ولی امیدوارم از پسش بر بیای :wise1: :موفق

:flower:
پس شما چه راه هایی رو پیشنهاد می کنید منظورم خوندن کتاب یا چیز دیگری ؟
از چه راه هایی می تونم مهارتم رو بیشتر کنم
راستی سورس های سی شار÷ی که کمک کنه هم وجود داره منظورم به صورت سی دی در بازار و یا سایتی در اینترنت

Peyman_Ranjbar
یک شنبه 14 فروردین 1384, 03:41 صبح
می شه لطف کنید چطوری آیا باز بان اسمبلی می شه یا اینکه خود سی شارپ امکان استفاده از کدهای اسمبلی را می دهد

هر برنامه ای که اجرا میشه در حافظه مقیم هست(فکر اسمبلی و داس رو از سرت بیرون کن- اینجا ویندوزه و سیستم عامل multi task) کافیه که فرم رو hide کنی. :wink:


من کتاب مهندس جعفرنژاد رو خوندم و به نظر شما من مبتدی می توانم تا اخر ترم این پروژه را بنویسم
فکر این کتابها رو نکن و پولت رو حروم نکن توی اینترنت هم که tutorial ریخته و فراوونه سورسها رو داونلود کن و باهاشون ور برو تا راه بیفتی :موفق:

این برنامه ای که می خواهی بنویسی آنچنان سخت نیست که بخواهی حتی یه ترم براش وقت بذاری (البته من نمی دونم که تا چه حد در برنامه نویسی ویندوز مهارت داری یا می تونی مهارت پیدا کنی)

hassan_kahrizy
شنبه 20 فروردین 1384, 10:57 صبح
بسمه تعالی
سلام علیکم :flower:
کسی از دوستان ایده ای درباره قرار دادن تقویم و یک سری اطلاعات روی عکس ندارد
با تشکر :)

omid_Ahmadi
شنبه 20 فروردین 1384, 11:22 صبح
سوالتو یک مقدار واضحتر بیان کن.
منظورت از قرار دادن تقویم و اطلاعات روی یک عکس چیه؟ :گیج:

hassan_kahrizy
شنبه 20 فروردین 1384, 22:44 عصر
بسمه تعالی
سلام علیکم :flower:
ببینید برنامه نگار یا web shotتقویم هر ماه که روز آن تعیین شده بر روی عکس حک می کند یعنی هر عکس که انتخاب می شود بر پس زمینه روی آن تقویم و اوقت شرعی حک می شود چگونه؟
با تشکر فراوان :flower:

hassan_kahrizy
پنج شنبه 08 اردیبهشت 1384, 03:02 صبح
هوالعلیم
سلام خدمت تمامی دوستان
با تشکر از دوستان که تا به حال به من کمک کردند
این تصویر رو ببینید
این رو نگار ساخته
می خوام یک چیزی مثل این بسازم
ممنون

یاشار
پنج شنبه 08 اردیبهشت 1384, 06:19 صبح
مستندات اینترفیس +GDI رو مطالعه کنید. برنامه نویسی گرافیکی به نظر من یکی از شیرین‌تری قسمت‌های برنامه نویسیه. با این کلاس به راحتی میتونین روی تصاویر نوشته بندازید، سایه بندازید، شفافیت رو تغییر بدید.

همچنین کلاس‌های Drawing و Drawing2D و Graphics

مرکز همه اینها کلاس Graphics محسوب میشه که در NameSpace زیر میتونین پیدا کنید:



System.Drawing.Graphics


NameSpace هایی که برای این کار باید بهشون بیشتر توجه داشته باشید:





using System.Drawing;
using System.Drawing.Graphics;
using System.Drawing.Drawing2D;



روش کار به این صورته که یک شیی از نوع Graphics ایجاد میکنین و تصویری رو که از هارد ( یا هر جای دیگه ) باز کردید بهش نسبت میدین. بعد تازه قسمت جالب شروع میشه که میتونید با یه کم مختصات بازی هر کاری که میخواهید با عکس بکنید.

با فرض اینکه یک PictureBox روی فرمتون داشته باشید:



Bitmap img = new Bitmap("C:\BadSanta.jpg");
//I guess ...

PB1.Image = img;

Graphics G = PB1.CreateGraphics();

myFont = new Font("Tahoma",10);
myBrush = new SolidBrush(Color.green);
myPoint = new PointF(10,10);

G.DrawString("هرچی که دلت میخواد",myFont,MyBrush,MyPoint);
G.DrawLine(...)
G.DrawRectangle(...)
G.DrawPolygon(...)
.
.
.




تا جایی که وقت داشته باشین هم می‌تونین وارد جزییات بشین. چرخوندن دور محور عمودی و افقی و سیاه و سفید کردن تغییر Hue و Saturation و نوشتن به صورت اریب و خیلی کارهای دیگه.

hassan_kahrizy
جمعه 09 اردیبهشت 1384, 02:37 صبح
هوالعلیم
سلام
عالی بود
خیلی ممنون
:flower: :flower: :)

hassan_kahrizy
چهارشنبه 29 تیر 1384, 13:05 عصر
بسمه تعالی
با سلام خدمت تمامی دوستان
و با تشکر از کمک های شما
الحمدالله پروژه ما تمام شد و خوب از آب در اومد
ان شا الله اگر وقت شد توضیحات اون رو روی سایت قرار می دم

hassan_kahrizy
سه شنبه 28 اسفند 1386, 11:39 صبح
بسمه تعالی
با سلام
دوستان سورسش رو می گذارم ولی نهاییش نیست چون حجیم بود احتمال وجود باگ رو هم داره


لینک فایل اجراییش هم در زیر آمده است:
موذن http://www.sharemation.com/kahrizi_h/Exe.rar