امید رضایی هنجنی

امید رضایی هنجنی

در این وبلاگ سعی میکنم مطالبی رو که فکر میکنم مفید هست قرار بدم.
علاوه بر این تجربه های برنامه نویسی خودم رو هم به صورت خلاصه قرار میدم که اگر کسی در این موارد به مشکلی بر خورده بود یا سوالی داشت در خدمتم.

۸ مطلب در آذر ۱۳۹۲ ثبت شده است

۲۹
آذر
۹۲

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

The underlying connection was closed: An unexpected error occurred on a send.

  • امید ره
۲۹
آذر
۹۲

برای مشاهده آمار بازدیدکنندگان سایتهای مختلفی وجود دارد که من دو تا از اونها رو معرفی می کنم:

  • امید ره
۲۹
آذر
۹۲

ابتدا نسخه سرور را دانلود کرده و نصب می کنیم: (لینک دانلود Visual Svn Server)

در انتهای نصب در مورد اجرای برنامه پرسیده می شود و برنامه را اجرا می کنیم.

بر روی Repositories کلیک راست کرده و گزینه Create New Repositiry رو انتخاب می کنیم.

یک نام برای Repository انتخاب کرده (مثلا TestRepo) و با گزینه های پیش فرض تا انتها پیش می رویم.

خوب حالا سمت کلاینت!

برای مدیریت کد در کلاینت با SVN دو تا برنامه معرفی می کنم:

1. برنامه TortoiseSVN برای مدیریت فایل ها از اکسپلورر (دانلود TortoiseSVN)

2. برنامه AnkhSVN برای مدیریت کدها از VS (دانلود AnkhSVN)

* ضمنا پس از نصب این برنامه ها در تنظیمات VS باید در قسمت Tools\Options\Source Control گزینه مربوط به Current Source Control plug-in رو روی AnkhSVN تنطیم کنید.

(فقط شرمنده که خیلی خلاصه توضیح دادم. به هر حال اگر در نصب و راه اندازی و یا استفاده از این برنامه ها هر مشکلی داشتید در خدمتم.)

  • امید ره
۲۹
آذر
۹۲

برای اینکه بخواهیم فایل MP3 رو پخش کنیم می تونیم از wmp.dll استفاده کنیم. این dll رو می تونیم از پوشه "C:\Windows\System32" پیدا کنیم و به برنامه اضافه کنیم.

بعد از این می تونیم از این کد برای پخش و کنترل آهنگ استفاده کنیم.

(فرض میکنیم دو دکمه btnPlay و btnStop داریم که همونطور که از اسمشون پیداست برای پخش و توقف آهنگ هستند)

        private WMPLib.WindowsMediaPlayer wplayer;

        private void btnPlay_Click(object sender, System.EventArgs e)
        {
            wplayer = new WMPLib.WindowsMediaPlayer
            {
                URL = @"My Song.mp3"
            };
            wplayer.controls.play();
        }

        private void btnStop_Click(object sender, System.EventArgs e)
        {
            wplayer.controls.stop();
        }

  • امید ره
۲۹
آذر
۹۲

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

  • امید ره
۲۹
آذر
۹۲

الگوی Specification برای جلوگیری از تکرار queryهای linq و بردن آنها به سمت OOP به کار می رود.

ایشالا در یک فرصت مناسب خودم توضیح کاملش رو تو وبلاگ میذارم ولی فعلن دو تا لینک دانلود قرار میدم که اولی مربوط میشه به یک ویدئوی آموزشی که کامل الگو رو توضیح میده و دومین لینک کدهای پیاده سازی شده مربوطه به الگو هست.

لینک ویدئو

لینک کدها

  • امید ره
۲۹
آذر
۹۲

فرض کنیم ما میخواهیم از لیست اشخاص (personsList) اونایی که اسمشون "امید" هست رو پیدا کنیم و برای این کار از linq استفاده می کنیم:

  • امید ره
۲۹
آذر
۹۲

کلا توصیه می کنم برای این کار از Interop استفاده نکنید، چون دردسر زیاد داره و سمت سرور هم مطمئن نیست!

من از کامپوننتهای Aspose استفاده کردم خیلی خوب جواب داد.

من به طور مفصل با کامپوننت Aspose.Cells که مخصوص اکسل است کار کردم. البته قبلش در زمان جاهلیت مدت زیادی از Interop استفاده می کردم.

در مورد دردسرهای استفاده از Interop و همچنین نحوه کار با Aspose.Cells اگه خواستید نظر بگذارید تا براتون توضیح بدم.

  • امید ره