الحاق Collectionها به رشته‌ها در دات‌نت ۴.۵

تا پیش از ارائه دات‌نت ۴.۵ برای الحاق رشته با استفاده از کاما (comma-delimited) مجبور به استفاده از حلقه for یا foreach و استفاده از StringBuilder و... بودیم. برای مثال کلاس زیر را در نظر بگیرید:

public class Person
    {
        public int Id { get; set; }

        public string FirstName { get; set; }

        public string SureName { get; set; }

        public List<Person> CreatePeople()
        {
            return new List<Person>
            {
                new Person {Id = 0, FirstName = "Mohsen", SureName = "Aghamohammadi"},
                new Person {Id = 1, FirstName = "Ali", SureName = "Ahmadi"},
                new Person {Id = 2, FirstName = "Reza", SureName = "Saeidi"}
            };
        }
    }

تا پیش از دات‌نت ۴.۵ در صورتی که قصد داشتیم لیست نام افراد موجود در این لیست را با کاما از یکدیگر جداکنیم باید از روشی شبیه به روش زیر استفاده می‌کردیم:

 class Program
    {
        static void Main(string[] args)
        {
            var people = new Person().CreatePeople();
            var sb = new StringBuilder();
            foreach (var person in people)
            {
                if(sb.Length>0)
                    sb.Append(',');

                sb.Append(person.FirstName);
            }
        }
     }

با ارائه دات‌نت ۴.۵ و با استفاده از عبارت lambda و کلاس String.Join می‌توان این کار را ساده‌تر و بدون استفاده از کلاس StringBuilder و موارد مشابه نیز انجام داد:

class Program
    {
        static void Main(string[] args)
        {
            var people = new Person().CreatePeople();
            var res = String.Join(",", people.Select(c => c.FirstName));

            Console.WriteLine(res);
            Console.ReadKey();
        }
    }

در نهایت خروجی به‌ شکل زیر خواهد شد:

  • Book.mark.hu
  • co.mments
  • De.lirio.us
  • del.icio.us
  • Digg
  • DotNetKicks
  • E-Mail
  • Facebook
  • feedmelinks
  • Google
  • LinkedIn
  • msdn Social
  • MyShare
  • Slashdot
  • StumbleUpon
  • TwitThis
  • Tumblr
  • Yahoo! Buzz
  • Yahoo! MyWeb
  • Print

تغییر رفتار کلید CapsLock در ویژوال استادیو

بعضی از کلیدها کاربرد کمتری در برخی برنامه‌ها دارند. از نمونه‌ی این کلیدها می توان به CapsLock  در Visual Studio اشاره کرد. برنامه‌های زیادی برای تغییر رفتار کلید‌ها و تعریف HotKeys در وب وجود دارند.

نرم‌افزار AutoHotKey یکی از نرم‌افزارهاست که ضمن سرعت و سهولت در اجرا دارای سبک اسکریپت نویسی برای استفاده است.

برای استفاده از این نرم‌افزار ابتدا آن را از اینجا دانلود و نصب کنید.

پس از نصب، آیکن این نرم‌افزار در System Tray (کنار ساعت) قرار خواهد گرفت. بر روی آن کلیک راست کرده و گزینه‌ی Edit This Script را انتخاب کنید. با این کار فایل متنی حاوی تنظیمات آن ظاهر خواهد شد.

به طور پیش‌فرض کلید‌های Alt+Ctrl+n به notepad ویندوز و کلیدهای Logo+z به نمایش سایت نرم‌افزار Map شده‌اند. (اگر می‌خواهید با زدن کلید‌های خاصی سایت دلخواه‌تان باز شود، از این گزینه‌ استفاده کنید)

برای غیرفعال کردن کلید CapsLock کد زیر را در فایل متنی و پیش از دستور returnمی‌نویسیم:

Capslock::

با اینکار کلید CapsLock به‌طور کامل غیرفعال می‌شود، حتی LED آن نیز روشن نخواهد شد.

نگاشت کلید CapsLock به گزینه Build در Visual Studio :

برای اینکار، اسکریپت بالا را به شکل زیر تغییر می‌دهیم:

Capslock::F6

با این کار رفتار کلید CapsLock در همه‌جای ویندوز به کلید F6 تغییر حالت پیدا می‌کند. برای اینکه فقط در ویژوال استادیو این نگاشت صورت گیرد به صورت زیر عمل می‌کنیم:

SetTitleMatchMode, 2
#IfWinActive Microsoft Visual Studio
Capslock::F6
#IfWinActive

در این صورت تنها زمانی که در ویژوال استادیو هستیم یعنی زمانی که Microsoft Visual Studio بخشی از عنوان پنجره فعال باشد کلید CapsLock کار کلید F6 را انجام خواهد داد و در سایر حالات CapsLock وظیفه‌ی پیشین خود را انجام خواهد داد.

اسکریپت را تغییر داده و Save کردم ولی اتفاقی نمی‌افتد؟

پس از هربار تغییر اسکریپت یاد شده، لازم است اسکریپت Reload شود. برای اینکار از آیکن نرم‌افزار گزینه‌ی Reload This Script را انتخاب کنید.

اصلا ویژوال استادیو با F6 پروژه را Build نمی‌کند!

در صورتی که در حالت عادی در ویژوال استادیو کلید F6 شما عملیات Build پروژه را انجام نمی‌دهد، از منوی Tools ویژوال استادیو گزینه Options را انتخاب کنید. سپس در سربرگ Environment به دنبال زیرشاخه Keyboard بگردید.

در این بخش از قسمت Apply the following additional keyboard mapping scheme گزینه‌ی Visual C# 2005 را انتخاب کنید.

 

  • Book.mark.hu
  • co.mments
  • De.lirio.us
  • del.icio.us
  • Digg
  • DotNetKicks
  • E-Mail
  • Facebook
  • feedmelinks
  • Google
  • LinkedIn
  • msdn Social
  • MyShare
  • Slashdot
  • StumbleUpon
  • TwitThis
  • Tumblr
  • Yahoo! Buzz
  • Yahoo! MyWeb
  • Print

در ستایش مادر ...

 

همهٔ آنچه که اکنون هستم، و امیدوارم که بشوم، مدیونِ مادر فرشته‌ام هستم. (آبراهام لینکلن)

قدر مادر خود را بدانید. او عاقل تر از آنچه شما فکر می‌کنید و قوی تر از آنچه شما می‌دانید، می‌باشد. خدا را شکر گویید. (استیو مارابولی)

هیچ‌چیز به قدر دیدن یک مادر با بچه‌اش روح‌پرور نیست و هیچ‌چیز حس حرمت و تقدیس ما را هنگام تماشای مادری که بچه‌هایش وی را احاطه کرده‌اند، بیدار نمی‌کند. (یوهان ولفگانگ گوته)

هیچ‌گاه در زندگی نمی‌توانید محبتی بهتر، بی‌پیرایه‌تر و واقعی‌تر از محبت مادر خود بیابید. (انوره دو بالزاک)

 

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

می‌توان از استرس شب‌های امتحان و سختی درس‌ها گفت، تا تو را آرام کند...

می‌توان از ترس قبول نشدن در کنکور گفت، تا تو را آرام کند...

می‌توان از ترس پیدا نکردن کار گفت، تا تو را آرام کند...

می‌توان از رنج زمانه گفت، تا تو را آرام کند...

می‌توان از برخورد ناپسند همکارت گفت، تا تو را آرام کند...

می‌توان از فشار بی‌دلیل و غیرمنطقی مدیرت گفت، تا تو را آرام کند...

می‌توان از بی‌حوصلگی همسرت گفت، تا تو را آرام کند...

می‌توان از نگرانی بیماری کودک‌ات گفت، تا تو را آرام کند...

می‌توان ...

می‌توان حتی از ترس، از دست دادنش گفت، تا تو را آرام کند...

ضمن تبریک روز مادر به همه‌ی مادران مهربان و با آرزوی سلامتی برای‌ایشان و بودن سایه‌ی همیشگی‌ایشان بر سر فرزندانشان.

 پ.ن : تصویر از وب.

 

  • Book.mark.hu
  • co.mments
  • De.lirio.us
  • del.icio.us
  • Digg
  • DotNetKicks
  • E-Mail
  • Facebook
  • feedmelinks
  • Google
  • LinkedIn
  • msdn Social
  • MyShare
  • Slashdot
  • StumbleUpon
  • TwitThis
  • Tumblr
  • Yahoo! Buzz
  • Yahoo! MyWeb
  • Print

مشکل نصب Microsoft SQL SERVER 2014 بر روی ویندوز ۸.۱

در حین نصب موتور اصلی MSSQL SERVER 2014 و Agent آن بر روی ویندوز ۸.۱ همه چیز به خوبی پیش رفت ولی در بخش آخر نصب یک خطا به شرح زیر دریافت شد:

Microsoft SQL Server 2014 Setup ------------------------------ The following error has occurred: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes. For help, click: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft%20SQL%20Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=12.0.2000.8&EvtType=0xD15B4EB2%25400x4BDAF9BA%25401306%254026

سپس با نمایش اطلاعات پس از نصب به شکل زیر، از موفقیت آمیز نبودن نصب موتور اصلی و Start نشدن آن خبر داد:

 با مراجعه به Log تهیه شده در هنگام نصب نیز اطلاعات خاصی بدست نیامد:

Feature:                       Database Engine Services
Status:                        Failed: see logs for details
Reason for failure:            An error occurred during the setup process of the feature.
Next Step:                     Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name:                SQL Server Database Engine Services Instance Features
Component error code:          0x851A001A
Error description:             Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Error help link:               http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=12.0.2000.8&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026

با جستجوی انجام شده، مشخص شد که مشکل در نوع Log On سرویس‌های مختلف Sql Server است که به صورت پیش‌فرض در هنگام نصب برروی اکانت غیر Local ساخته شده توسط ویندوز 8 قرار گرفته است و مجوز Log On را برای سرویس‌ها فراهم نمی‌کند!

برای رفع مشکل یاد شده کافی است به صفحه‌ی تنظیمات Sql Server Configuration Manager در Start Menu مراجعه نموده و سپس از بخش Sql Server Services بر روی Instance مربوطه راست کلیک کرده و گزینه Properties را انتخاب کنیم.

سپس برگه Log On و بعد از آن، در بخش Log on as با انتخاب گزینه‌ی Built-in account و انتخاب Network Service از Drop Down نمایش داده شده، نوع سرویس رو به سرویس توکار تغییر نوع می‌دهیم.

با این کار مشکل عدم Start سرویس‌های اصلی Sql Server حل خواهد شد و می‌توان به از طریق Management Studio و با login تعریف شده در نصب به آن وارد شد.

نکته:

اگر با اکانت غیر Local ویندوز 8 را نصب کرده‌اید( یعنی با اکانت مایکروسافت لاگین نموده‌اید)، بهتر است در حین نصب Sql Server از بخش Authentication Mode گزینه‌ی Mixed Mode را انتخاب و سپس برای لاگین sa رمزی را مشخص کنید.

در غیر اینصورت پس از Start‌ شدن سرویس‌ها برای لاگین به Sql Server با خطای عدم شناسایی یوزر ویندوزی خواهید بود که با آن به ویندوز لاگین کرده‌اید.

  • Book.mark.hu
  • co.mments
  • De.lirio.us
  • del.icio.us
  • Digg
  • DotNetKicks
  • E-Mail
  • Facebook
  • feedmelinks
  • Google
  • LinkedIn
  • msdn Social
  • MyShare
  • Slashdot
  • StumbleUpon
  • TwitThis
  • Tumblr
  • Yahoo! Buzz
  • Yahoo! MyWeb
  • Print

سال نو مبارک !

 

با سلام خدمت شما

بالاخره پس از مدت‌ها بدقولی به خودم موفق شدم این وبلاگ رو در امروز یعنی چهارشنبه، سیزدهم فروردین ۱۳۹۳ راه‌اندازی کنم.

هدف من از راه‌اندازی این وبلاگ بیشتر از آموزش، یادگیری است! چرا که آموزش نیاز به داشتن دانش کامل از بحث دارد.

آرزو می‌کنم بتوانم تجربیات و آموخته‌های ناچیزم را در این وبلاگ برای همه به اشتراک بگذارم و امیدوارم خداوند بزرگ در این راه نیز همواره یاری‌ام نماید.

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

با آرزوی سالی خوش، توام با سلامتی (که به حق بزرگترین نعمت خداوند است) برای همه‌ی شما عزیزان.

 

 

  • Book.mark.hu
  • co.mments
  • De.lirio.us
  • del.icio.us
  • Digg
  • DotNetKicks
  • E-Mail
  • Facebook
  • feedmelinks
  • Google
  • LinkedIn
  • msdn Social
  • MyShare
  • Slashdot
  • StumbleUpon
  • TwitThis
  • Tumblr
  • Yahoo! Buzz
  • Yahoo! MyWeb
  • Print