مهدی ولی خانی (ولیخانی) هستم .متولد دوم خرداد سال 63 . فارغ التحصیل رشته نرم افزار کامپیوتر ، مقطع کاردانی ، دانشگاه جامع علمی - کاربردی واحد داده پردازی. در حال حاضر حرفه ی من طراحی و برنامه نویسی وب می باشد . هدف اصلی من از انتخاب رشته نرم افزار کامپیوتر فقط ورود به دنیای طراحی و برنامه نویسی تحت وب بود . در واقع بزرگترین سرگرمی من طراحی و برنامه نویسی می باشد .(چه بهتر که تحت وب باشه!) ساعات زیادی از وقت روزانه من پشت یک کامپیوتر در اتاقم میگذره . به موسیقی زیاد علاقه دارم . دو سبک موسیقی را بسیار می پسندم . موسیقی اصیل ایرانی و موسیقی راک . رنگ مورد علاقه آبی و تیم مورد علاقه پرسپولیسه .

<October 2008>
SunMonTueWedThuFriSat
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
RSS 2.0 | Atom 1.0 | CDF
Google Reader
del.icio.us blog.mehdiVK.net latest Posts
Add to my Yahoo!
Subscribe with Bloglines
Subscribe in NewsGator Online

my Feedster
Add to my AOL
Furl blog.mehdiVK.net latest Posts
Subscribe to Rojo


Total Posts: 152
This Year: 61
This Month: 13
This Week: 7
Comments: 107
newtelligence dasBlog 1.9.6264.0


وبلاگ مهدی ولیخانی
وبلاگ مهدی ولیخانی در رابطه با تکنولوژی دات نت
Wednesday, November 28, 2007
دسترسی به مقدار خروجی یک Stored Procedure توسط T-SQL

اگر بخواهیم تو برنامه نویسی سمت Database هم یک نوعی مرتب برنامه نویسی کنیم استفاده از SP و ... چیزی دور از ذهن نخواهد بود ، تو کد نویسی ها هم بخش هائی هستند که باید بصورت مجزا نوشته شوند . یه مثال ساده ، همین تبدیل تاریخ ، تو سی شارپ میائیم کلاس براش تعریف می کنیم و یک سری Property و متد و ... همه کارها تو این کلاس انجام میشه و کلاس های دیگه کار فراخوانی متدها را انجام میدهند ، همین مثال تو T-SQL هم هست فرض کنید یک جائی قرار باشه که تاریخ رو به شمسی تبدیل کنید و مجبور باشید حتما اون بالا رو SQL Server این کار انجام بشه خوب تعریف یک SP برای این کار خیلی خوبه ، SP تعریف می کنیم یک ورودی که تاریخ میلادیه و یه خروجی که تاریخ شمسی است .

CREATE STORED PROCEDURE TestSP
                 @Input int,
                 @Output int output
AS
SET @Output = @Input + 1;
GO

خوب با نسبت دادن output به Output@ در واقع نوع این پارامتر را خروجی تعریف می کنیم و می توانیم به مقدار ان در کد فرخوان دسترسی داشته باشیم. حال SP فوق را به شکل زیر صدا می زنیم :
DECLARE @result int;
EXEC TestSP 1,@result OUT
SELECT @result
همانطور که مشاهده کردید با نسبت دادن OUT به result@ می توانیم به مقدار خروجی این SP دسترسی داشته باشیم.
  (  )  ( Comments [0] | Trackback )
Monday, November 26, 2007
بومی سازی در ASP.net - وب سايت چند زبانه - بخش اول

یکی از امکاناتی که در ASP.net به آن توجه خاصی شده است چند زبانه سازی یک وب سايت است ، با استفاده از این امکان در ASP.net قادر خواهید بود که براحتی یک وب سايت چند زبانه داشته باشید . در این مطلب سعی دارم مطالب مقدماتی در رابطه با چگونگی پیاده سازی این امکان در برنامه های تحت وب را بیان کنم.

مرحله اول : ایجاد فولدرهای موردنیاز و نکاتی پیرامون آنها
برای شروع کار کافیست یک پروژه جدید وب ایجاد کرده و سپس جهت اضافه کردن فولدر App_LocalResources که محل قرارگیری فایل های resx. (فایل های بومی سازی) می باشد مراحل زیر را انجام دهید:

کلیک راست بر روی پروژه>Add>Add ASP.NET Folder>انتخاب App_LocalResources

توجه 1 - فولدر App_LocalResources همانطور که از نامش پیداست محل قرارگیری فایل های resx. مربوط به صفحات aspx. و ... خاص می باشد ، فایل هائی که در این فولدر قرار میگیرند بصورت اختصاصی مربوط به صفحات و کنترل های هم نام خودشان هستند و قابل استفاده بصورت اشتراکی نیستند .

توجه 2 - فولدر App_GlobalResources فولدری است جهت قرارگرفتن فایل های resx. اشتراکی ، آن دسته از فایل های resouce که قرار است در بین چند صفحه و یا کنترل بصورت اشتراکی استفاده شوند در این فولدر قرار می گیرند.

توجه 3 -  فولدر App_LocalResources مربوط به فایل های شاخه جاری می باشد و نه همه شاخه های برنامه شما ، به طور مثال در صورتیکه شما یک شاخه با نام UserControls داشته باشید و در آن تعدادی کنترل که بخواهید برای آنها امکان چند زبانه سازی را فعال کنید پوشه App_LocalResources را باید در این شاخه هم ایجاد کنید ، فایل های صفحات و کنترلهایی که در شاخه UserControls هستند در این شاخه قرار میگیرند نه در شاخه های هم نام در Root و یا جای دیگر.

مرحله دوم : ایجاد فایل های resx. و نکات پیرامون آن
بعد از ایجاد فولدرهای مربوطه نوبت به ایجاد فایل های resx. می باشد ، این فایل ها باید هم نام با صفحات و UserControl ها بوده و به تعداد زبان های وب سايت شما. الگوی نام این فایل ها باید به شکل زیر باشد.

نام زبان + نام صغحه و یا کنترل بهمراه پسوند مربوطه + .resx
بطور مثال برای صفحه Default.aspx که در Root سايت قرار دارد و برای یک وب سايت دو زبانه فارسی انگلیسی نامگذاری فایل های resource مربوط به صفحه Default.aspx به شکل زیر می باشد:
Default.aspx.resx (فایل پیشفرض)
Default.aspx.fa-IR.resx (برای فارسی کشور ایران)

جهت ایجاد این فایل ها کافیست بر روی فولدر مربوطه راست کلیک کرده و Add و سپس Add New Item را انتخاب کنید ، فایل Resources File فایلی است که شما باید انتخاب کنید ، نحوه نامگذاری هم که در چند خط بالاتر ذکر شد.

مرحله سوم : تعریف زوج های کلید و مقدار در فایل های resx و نکات پیرامون آن
حال که فولدر و فایل های مربوطه ساخته شد نوبت پر کردن رشته های مربوطه می باشد . کافیست که فایل resx مربوطه را با استفاده از Designer ابزار Visual Studio.net باز کرده در قسمت Name مربوط به هر سطر نام کلید و سپس یک نقطه و سپس نام Property  را قراردهید و در قسمت Value هم مقدار را . بطور مثال اگر ما یک کنترل Label در صفحه به شکل زیر داشته باشیم که قرار باشد این کنترل Label عبارت Welcome را نمایش دهد به شکل زیر عمل می کنیم :

<asp:Label ID="lblWelcomeMsg" runat="server"></asp:Label>

برای بومی سازی این کنترل کافیست عبارت meta:resourceKey="WelcomeMessage" را به این کنترل اضافه کنیم ، با این کار در فایل مربوطه مشخصه های WelcomeMessage به این کنترل نسبت داده می شوند .
<asp:Label ID="lblWelcomeMsg" runat="server" meta:
resourceKey="WelcomeMessage"></asp:Label>

حال کافیست به مانند تصویر زیر  در فایل مربوطه سطر زیر را تعریف کنیم .
 Localization1
این کار را برای ساير فایل های مربوط به زبان های فارسی و ... هم انجام دهید .

مرحله چهارم: معرفی Culture  و UICulture در Directive صفحات
در بالای هر صفحه و در بخش Directive  می توان دو مشخصه Culture و UICulture وجود دارند ، اولی برای بومی سازی رشته های ارقام و تاریخ و ... استفاده می شود و دومی هم مربوط به ظاهر کنترل ها می باشد ، در واقع فایل های resx مربوط به UICulture هستند.با نسبت دادن Auto به این دو مشخصه موتور ASP.net اطلاعات را بر اساس زبان مرورگر نمایش می دهد .

مرحله پنجم : تعریف زبان صفحه از طریق Code Behnid
اما اگر بخواهیم از طریق Code behind اطلاعات مربوط به UICulture و Culture را تنظیم کنیم چه باید کنیم ، راه حل بسیار ساده است . کد زیر را نگاه کنید :

System.Threading.Thread.CurrentThread.CurrentUICulture = 
new System.Globalization.CultureInfo("fa-IR"); System.Threading.Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture("fa-IR");
این دو خط مربوط به تعریف Culture و UICulture برای صفحه می باشد کافیست این کد را در رویداد InitializeCulture قرار دهید تا در هنگام درخواست صفحه زبان فارسی باشد ، این روشی است که بسیاری از سايت های چند زبانه از آن استفاده می کنند ، معمولا در اینگونه سايت ها در فرم عضویت آیتمی مربوط به زبان پیش فرض وجود دارد و یا در خود سايت می توان از طریق یک ListBox زبان را انتخاب کرد!

البته این بومی سازی مختص عبارت نمی باشد ، شما می توانید جهت نوشته ها ، رنگ ، مسیر عکس و خیلی چیزهای دیگر را نیز به این روش مقداردهی کنید .با ادغام css و بومی سازی ASP.net براحتی می توان وب سايت های با n  زبان مختلف و پشتیبانی راحت از زبان های rtl و ltr ساخت .

در بخش های بعدی این سری مقاله به نحوه تعریف و استفاده از Global Resources و دستیابی به محتویات فایل های resx از طریق Code Behind خواهم پرداخت .
  (  )  ( Comments [3] | Trackback )
Thursday, November 22, 2007
Visual Studio 2008 و Microsoft.net Framework 3.5 نسخه نهائی ارائه شد.

 VS2008Final نسخه نهائی Visual Studio 2008 بهمراه Microsoft.net Framework 3.5 ارائه شد . نسخه Visual Studio 2008 در حال حاضر برای مشترکین MSDN قابل دانلود می باشد . برای کسانیکه مشترک MSDN نیستند نسخه 90 روزه Visual Studio 2008 Team Suite آماده دانلود می باشد ، جهت دریافت این نسخه به این صفحه مراجعه نمائید .  نسخه 90 روزه مربوط به Visual Studio 2008 Professional هم بزودی جهت دانلود بر روی سايت مایکروسافت قرار خواهد گرفت . نسخه Visual Studio 2008 Express edition هم که کاملا رايگان می باشد را می توانید اینجا دانلود کنید . جهت دانلود نسخه نهائی Microsoft .net Framework 3.5 هم از این لینک استفاده نمائید .

آقای ScottGu در مطلبی به معرفی امکانات جدید این نسخه پرداخته که می توانید در اینجا این مطلب را مطالعه نمائید . همچنین ایشان در پستی دیگر مطلبی را در مورد نحوه پاک کردن Orcas Beta 2 جهت نصب نسخه نهائی VS2008 نوشته که آن را نیز در اینجا می توانید مطالعه بفرمائید .


  (  |  )  ( Comments [0] | Trackback )