PDA

View Full Version : تاپیک کد اسنیپت های C#‎.Net



Netsky
جمعه 18 دی 1388, 22:24 عصر
سلام عرض میکنم خدمت تمامی کاربران گرامی سایت برنامه نویس .
بنده پس از مدتی فعالیت در بخش سی شارپ متوجه کمبودی در این بخش شدم و آن وجود یه تاپیک جامع و کامل در مورد کد اسنیپت ها بود . بنابراین تصمیم گرفتم که تاپیکی با این موضوع راه اندازی کنم تا از این امکان مفید هر چه بیشتر استفاده ببریم .
در ادامه چند سطری کوتاه در مورد کد اسنیپت ها صحبت خواهم کرد .

کد اسنیپت ها همانطور که از نامشان نیز معلوم است ، قطعه کدهای کوتاهی ( گاهی اوقات بلند ) هستند که یک برنامه نویس آن ها را نوشته و در دفعات بعدی استفاده خود آنها را براحتی و فقط با نوشتن کلمه کلیدی شان در برنامه اش تعریف میکند . بنابراین سرعت توسعه برنامه بیشتر شده و در زمان برنامه نویسی تاثیر بسزایی میگذارد . از دیگر مزایای این کدها دسترسی بسیار سربع به آنهاست . بدین صورت که فقط با نوشتن کلمه کلیدی یک کد اسنیپت و در نهایت فشردن دکمه TAB کد مورد نظر به صورت کامل وارد قسمت کد نویسی شده و کار نوشتن یک تکه کد را راحت میکند .

در ادامه خواهشمندم به نکات زیر جهت هرچه بهتر شدن و بهتر ماندن این تاپیک توجه کنید :
1- تاپیک پیش روی شما تاپیک کد اسنیپت های C#‎‎.Net است و شما باید در این تاپیک فقط و فقط کد اسنیپت های خود را قرار دهید.
2- کلمه کلیدی هر کد اسنیپت باید در انتهای پست مربوط به آن درج شده باشد .
3- در صورتی که سوالی در مورد یک کد اسنیپت داشتید ، سوال را به صورت پیام خصوصی با فرد ارائه دهنده در میان بگذارید و از سوال پرسیدن به صورت یک پست خودداری کنید . در ضمن درخواست های خود را نیز در تاپیک های جداگانه مطرح کنید .
4- به منظور تشکر از فرد ارائه دهنده کد اسنیپت فقط از دکمه تشکر استفاده کنید و از دادن پست های بیهوده به منظور تشکر که فقط باعث شلوغی تاپیک می شوند امتنا کنید .
5- ارائه ابزارها و مطالبی که صرفا مربوط به کد اسنیپت ها میشوند ، مانعی ندارد .
6- از مشاجره لفظی و بحث های بیهوده با دیگر کاربران خودداری کنید .
در پایان امیدوارم که در بهبود هرچه بیشتر این تایپک همکاری کنید .
با تشکر از کاربران و مدیریت محترم سایت برنامه نویس .

Netsky
جمعه 18 دی 1388, 22:25 عصر
روش استفاده از کد اسنیپت ها :
1- به منوی Tools رفته و گزینه Code Snippet Manager را انتخاب کنید .
2- در کادر باز شده ، از قسمت Language ، گزینه Visual C# را انتخاب کنید .
3- اکنون دکمه Import زده و در صفحه باز شده فولدری که کد اسنیپت ها را درون آن قرار دادید انتخاب کرده و دکمه Open را بزنید .
4- در پایان نیز دکمه OK را کلیک کنید .
نکته : اگر میخواهید کد اسنیپت ها را با صورت تک تک وارد محیط Visual Studio کنید ، مراحل یک و دو را انجام داده و سپس در مرحله 3 به جای دکمه Import دکمه Add را کلیک کنید و فایل کد اسنیپت را وارد محیط VS کنید .

وقتی که کار اضافه کردن کد اسنیپت ها تمام شد ، خیلی راحت و با نوشتن کلمه کلیدی مربوط به هر کد اسنیپت و فشار دادن دکمه TAB کد مورد نظر به محیط کد نویسی اضافه میشود .
در پایان اگر کسی مشکلی داشت یا چیزی واسش مبهم بود ، به صورت پیام خصوصی ازم بپرسه .
از پست بعدی کد اسنیپت های رو قرار میدم .

Netsky
جمعه 18 دی 1388, 22:36 عصر
با توکل به خدا و یاری شما دوستان اولین کد اسنیپت رو قرار میدم .
این کد اسنیپت برای شما یه خط قوس دار رسم میکنه . ( کار با تابع Draw Arc )
کلمه کلیدی : DA

Netsky
جمعه 18 دی 1388, 22:38 عصر
این یکی واسه رسم یه خط با قوس بیشتره . ( کار با تابع Draw Bezier )
کلمه کلیدی : DB

Netsky
جمعه 18 دی 1388, 22:44 عصر
اینم مثل کد قبلی یه خطر قوس دار رسم میکنه ، البته با شکستگی های بیشتر . ( Draw Beziers )
کلمه کلیدی : DBS

Netsky
جمعه 18 دی 1388, 22:46 عصر
خب . این یکی هم واسه رسم یه منحنی بسته هستش . ( Draw Closed Curve )
کلمه کلیدی : DCC

Netsky
جمعه 18 دی 1388, 23:19 عصر
یکی دیگه . با این یکی میتونید دایره یا بیضی رسم کنید . ( Draw Ellipse )
کلمه کلیدی : DE

Netsky
جمعه 18 دی 1388, 23:21 عصر
رسم منحنی هم با این کد انجام میشه . ( Draw Curve )
کلمه کلیدی : DC

Netsky
جمعه 18 دی 1388, 23:27 عصر
خب . حالا وقت معرفی یه ابزار در مورد کد اسنیپت ها رسیده . با این برنامه میتونید خیلی راحت واسه خودتون کد اسنیپت تولید کنید .
از این لینک میتونید بگیریدش .
دانلود از سایت مایکروسافت (http://go.microsoft.com/fwlink/?LinkId=46593)

Netsky
جمعه 18 دی 1388, 23:29 عصر
اگه میخاید رو فرمتون آیکون رسم کنید ، این کد اسنیپت بدردتون میخوره . ( Draw Icon )
کلمه کلیدی : DI

Netsky
شنبه 19 دی 1388, 07:27 صبح
سلام .
یه چندتایی کد اسنیپت دیگه هم آماده شده که در ادامه تقدیم میکنم .
اگه خواستید یه عکس روی روی فرمتون رسم کنید ، بهتره که از این کد اسنیپت استفاده کنید .
کلمه کلیدی : DIMG

Netsky
شنبه 19 دی 1388, 07:28 صبح
وظیفه این یکی هم کشیدن خطه .
کلمه کلیدی : DL

Netsky
شنبه 19 دی 1388, 07:30 صبح
بوسیله این یکی هم میتونید چند خط متصل به هم رو روی فرم بکشید .
کلمه کلیدی : DLS

Netsky
یک شنبه 20 دی 1388, 07:26 صبح
سلام .
یه چندتا کد اسنیپت دیگه واستون نوشتم که تقدیم میکنم .
خب این یکی واسه کشیدن یه چند ضلعی نامرتب روی فرم هستش . ( Draw Pie )
کلمه کلیدی : DP

Netsky
یک شنبه 20 دی 1388, 07:27 صبح
خب این یکی هم واستون یه چند ضلعی رسم میکنه . ( Draw Polygon )
کلمه کلیدی : DPLYG

Netsky
یک شنبه 20 دی 1388, 07:27 صبح
رسم یک مربع یا مستطیل هم با این اسنیپت انجام میشه . ( Draw Rectangle )
کلمه کلیدی : DR

Netsky
یک شنبه 20 دی 1388, 07:29 صبح
این یکی هم کار همون قبلی رو میکنه با این تفاوت که چندتا مربع و یا مستطیل رو با هم رسم میکنه . ( Draw Rectangles )
کلمه کلیدی : DRS

Netsky
یک شنبه 20 دی 1388, 07:29 صبح
اگه یه متن دارید که میخاید روی فرم بنویسیدش ، با این اسنیپت میتونید خیلی راحت این کار رو انجام بدید . ( Draw String )
کلمه کلیدی : DS

Netsky
دوشنبه 21 دی 1388, 07:32 صبح
رسم یک منحنی بسته که داخلش هم رنگ شده با این اسنیپت انجام میشه . ( Fill Closed Curve )
کلمه کلیدی : FCC

Netsky
دوشنبه 21 دی 1388, 07:32 صبح
رسم دایره رنگی . ( Fill Ellipse )
کلمه کلیدی : FE

Netsky
دوشنبه 21 دی 1388, 07:33 صبح
رسم چند ضلعی نامرتب رنگ شده . ( Fill Pie )
کلمه کلیدی : FP

Netsky
دوشنبه 21 دی 1388, 07:34 صبح
رسم چند ضلعی رنگ شده . ( Fill Polygon )
کلمه کلیدی : FPLYG

Netsky
دوشنبه 21 دی 1388, 07:35 صبح
رسم مربع رنگ شده . ( Fill Rectangle )
کلمه کلیدی : FR

Netsky
دوشنبه 21 دی 1388, 07:36 صبح
رسم چند مربع رنگ شده با هم . ( Fill Rectangles )
کلمه کلیدی : FRS

Netsky
پنج شنبه 24 دی 1388, 06:53 صبح
سلام .
خب چندتا کد اسنیپت دیگه نوشتم که منتظر این هستن که شما دوستای عزیز دانلودشون کنین و در برنامه نویسی بهتون کمک کنن.
این بار در مورد کار با فایل صوتی هستش .
کد اول : با این کد میتونید خیلی راحت یه فایل از نوع WAV رو در برنامتون اجرا کنید . توجه کنید این کد اسنیپت با اسنیپت قبلی که با همین مضمون ارائه شده بود فرق داره . ( استفاده از فضای نام System.Media (
قبل از شروع فضای نام System.Media رو در برنامتون تعریف کنید .
فقط یه نکته میمونه که باید بگم . در این پست و 3 پست بعدی ، هر جا این آدرس رو دیدید ( C:\Your_File.wav ) آدرس فایل خودتون رو جایگزین کنید .

کلمه کلیدی : SUNDPLY

Netsky
پنج شنبه 24 دی 1388, 06:54 صبح
کد دوم : با این کد میتونید موزیکی رو که با کد اسنیپت قبلی اجرا کرده بودید ، متوقف کنید .
کلمه کلیدی : SUNDSTP

Netsky
پنج شنبه 24 دی 1388, 06:55 صبح
کد سوم : بوسیله این کد میتونید فایل موزیکتون رو به صورت پشت سر هم تکرار کنید . مثل خاصیت Repeat در برنامه Media Player .
کلمه کلیدی : SUND_PLY_LOOP

Netsky
پنج شنبه 24 دی 1388, 06:56 صبح
کد چهارم : این کد هم میتونه فایل مویک شما رو قبل از بارگذاری فرم اجرا کنه و وقتی موزیک تمام شد ، فرم ظاهر بشه . بنابراین میتونید خیلی راحت یه موزیک کوتاه رو به عنوان موزیک خوش آمدگویی قرار بدید .
کلمه کلیدی : SUND_PLY_SYNC

Netsky
شنبه 26 دی 1388, 06:45 صبح
سلام .
بابا عجب اعضای فعالی داره این بخش سی شارپ !!! من دو روز توی این تاپیک پست ندادم ببینم کسی پست میده یا نه . انگار نه انگار . بدونید این کدا فردا به درد خودتون میخوره . بده کم حجمه و استفادش هم راحته .
بیخیال ..................
یه کد اسنیپت دیگه واستون نوشتم . با این کد اسنیپت میتونید نام سطل بازیافت ویندوز رو عوض کنید .
کلمه کلیدی : RRB

Netsky
یک شنبه 27 دی 1388, 07:50 صبح
سلام به همه دوستان عزیز .
یکی از دوستان بنده رو راهنمایی کرد و به من گفت که شاید کدهایی که مینویسم خیلی مورد نیاز برنامه نویسا نباشه . بنابراین از شما درخواست میکنم کد اسنیپت هایی که مورد نیازتون هست رو به صورت پیام خصوصی با بنده در جریان بگذارید تا من هم اونا رو درست کنم و در تاپیک قرار بدم .
با تشکر ..........................

Netsky
جمعه 09 بهمن 1388, 14:40 عصر
سلام .
بابا یه وقت خسته نشید این همه همکاری می کنید !!!!!!!!!
ولش کن بابا ، بیخیال .
خب یه کد اسنیپت واستون نوشتم تا حال کنید . فقط بگذاریدش توی Form_Load و تماشا کنید .
البته قبلش باید این Namespace رو در برنامتون تعریف کنید . پس کد زیر رو در قسمت General بنویسید :



using System.Drawing.Drawing2D;

کلمه کلیدی : FRMELPS

Netsky
جمعه 09 بهمن 1388, 22:18 عصر
سلام به همه دوستان عزیز .
اینم یه اسنیپت واسه نوشتن ساخت یک فایل تکست . نوشتن داخل اون .
کلمه کلیدی : CRTWRT

Netsky
جمعه 09 بهمن 1388, 22:19 عصر
این یکی واسه خوندن از یه فایل تکست بکار میره .
کلمه کلیدی : RDTXT

Netsky
شنبه 10 بهمن 1388, 14:14 عصر
سلام .
خب با این کد اسنیپت میتونید کامپیوترتون رو خاموش کنید .
کلمه کلیدی : SHTDWN
در صورتی که دیدید کامپیوترتون داره خاموش میشه Command Prompt رو باز کنید و دستور زیر رو وارد کنید :



shutdown -a

بای بای .........................

Netsky
یک شنبه 11 بهمن 1388, 19:56 عصر
سلام و عرض ادب .
خب یه دوتا اسنیپت دیگه آمده کردم که تقدیم شما دوستان عزیز ، میکنم .
شاید تابحال واستون پیش اومده باشه که بخاید یه فایل رو به حالت Super Hidden ( ابر مخفی ) ببرید . با کد اسنیپت اولی کار شما راه میفته .
کلمه کلیدی : SPRHIDN

کد اسنیپت دومی فایل شما رو به حالت معمولی بر میگردونه ( دوباره ظاهرش میکنه ) .
کلمه کلیدی : SHWFIL

Netsky
چهارشنبه 14 بهمن 1388, 08:17 صبح
بازم سلام .
خب مثل اینکه فقط خودم باید کد اسنیپت بزارم و دوستان تمایلی به همکاری ندارن . باشه اشکالی نداره .
خب ، این دفعه یه کد اسنیپت واستون نوشتم که کارتون رو خیلی راه میدازه .
مثلا شما میخاید نام تمامی فایل های داخل یه فولدر رو بدست بیارید . باید با کلی مکافات و تعریف حلقه و از اینجور چیزا کارتون رو انجام بدید . اما با استفاده از این کد اسنیپت دیگه نیاز به کار اضافی ندارید . وقتی کلمه کلیدی کد اسنیپت رو تعریف کردید و دکمه TAB رو زدید ، یه تابع در برنامه شما تعریف میشه . حالا در هرجای برنامتون که خواستید میتونید این تابع رو فراخوانی کنید و از اون استفاده لازم رو ببرید . این تابع فقط یه پارامتر میگیره . اونم آدرس فولدر منظور شماست . مثل کد زیر میتونید از این تابع استفاده کنید :



Get_Files(@"D:\Music");

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

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

کلمه کلیدی : GTFIL

Netsky
پنج شنبه 15 بهمن 1388, 07:47 صبح
سلامی دوباره به شما دوستان عزیز .
خب با یک کد اسنیپت دیگه در خدمت شما هستم . این کد اسنیپت مثل کد اسنیپت پست قبلی هستش ، با این تفاوت که بجای بدست آوردن نام فایل ها ، نام فولدرهای داخل یه فولدر یا درایو رو بدست میاره .
اگه خواستید نام فولدرهای داخل یه فولدر رو بدست بیارید ، مسیر کامل اون فولدر رو باید به این تابع بدید . مثل کد زیر :



Get_Folders(@"C:\Windows");

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



Get_Folders(@"C:\");

کلمه کلیدی : GTFLD

Netsky
جمعه 16 بهمن 1388, 12:09 عصر
سلام . امیدوارم تا به این لحظه روز جمعه خوبی رو سپری کرده باشید .
گفتم یه حالی بهتون بدم و یه کد اسنیپت جالب واستون بنویسم .
بوسیله این کد اسنیپت میتونید یه متن رو به صورت عمودی ( یا همون Vertical ) رو فرمتون بنویسید .
کلمه کلیدی : VRTCTXT

ali_autumnal
پنج شنبه 13 اسفند 1388, 23:35 عصر
سلام
واقعا خسته نباشی.:قلب::قلب::قلب::قلب::قلب ::قلب::قلب::قلب::قلب::قلب::قلب:: قلب::قلب::قلب::قلب::قلب::قلب::ق لب::قلب::قلب::قلب::قلب:
توهمه پست ها تشکر کردم اما دیدم کمه!!!!
عالی بود. من که سوپرایز شدم.
موفق و موئید باشی.

Amir 2010a
جمعه 14 اسفند 1388, 01:29 صبح
با تشکر از شما دوست عزیز به خاطر مطالب جالب و جدید
لطفا در مورد نحوه نوشتن Snipet ها توضیح بدین مثلا روش قرار دادن یک تابع در اسنیپت

Netsky
شنبه 22 اسفند 1388, 07:44 صبح
سلامی به تازگی بهار ......
خب ، باز هم بعد از مدت ها به این تاپیک سر زدم و دیدم تغییر و تحولی در اون ایجاد نشده و هیچکس حتی یه اسنیپت هم ارائه نداده . ولی بازم اشکالی نداره . بخاطر شما دوستای عزیز بازم اسنیپت مینویسیم و میزارم .
این کد اسنیپت میتونه TextBox شما رو فقط عدد پذیر کنه . یعنی هر کاراکتری که عدد نباشه رو قبول نمیکنه .
فقط کافیه این کد اسنیپت رو در رویداد Key_Press تکست باکستون وارد کنید .

کلمه کلیدی : NUMTXTBOX

Netsky
یک شنبه 23 اسفند 1388, 06:22 صبح
این یکی هم واسه Delete کردن فایلهای داخل یه فولدر ( یا درایو ) بکار میره . البته احتیاط کنید که روی فایل های کامپیوتر خودتون تستش نکنید و اگه خواستید روی فایل های خودتون تستش کنید ، حتما حتما روی فایل های بی استفاده این کار رو انجام بدید . چون این کد فایل ها رو از بیخ و بن پاک میکنه و دیگه قابل برگشت نیستن .
روش استفاده هم به این شکله :



Delete_Files (@”D:\Unemployed Files”);

فقط کافیه مسیر فولدر رو بهش بدید .
کلمه کلیدی : DELFIL

sjhosseini
جمعه 28 اسفند 1388, 02:29 صبح
با تشکر از Netsky
آموزش نحوه ساختن کد اسنیپ بطور کامل در MSDN داده شده است

To create a .snippet file
On the File menu, click New and then click File.

Click XML File and then click Open.

On the File menu, click Save <XMLFileName>.

In the Save as type box, select All Files (*.*).

In the File name box, enter a file name with the .snippet file name extension.

Click Save.


البته می تونید یکی از فایلهای قرار داده شده توسط Netsky رو دانلود کنید و با دات نت باز کنید و سپس ویرایش کنید

Netsky
جمعه 28 اسفند 1388, 12:14 عصر
ممنون از اسنيپت هاي باارزشي كه مدام دارين قرار ميدين
اي كاش يه توضيح كوچيكي هم درباره اين كه چطور ميشه اسنيپت نوشت ميدادين
سلام دوست عزیز .
برای آموزش میتونید از لینک زیر استفاده کنید :
لینک (http://barnamenevis.biz/forum/showthread.php?t=208545&highlight=%D8%A7%D8%B3%D9%86%DB%8C%D9%BE%D8%AA)
مشکلی بود در خدمتم .

Netsky
شنبه 29 اسفند 1388, 00:03 صبح
بازم سلام .
اینم یه کد اسنیپت باحال که بوسیله اون میتونید درایوهای Removable ( فلش – مموری کارت گوشی و ... ) رو بدست بیارید .
کلمه کلیدی : GTRMDRV

asmasm
دوشنبه 02 فروردین 1389, 22:28 عصر
سلام دوستان
دوست گرامی اقای Netsky انقدر اسنیپت تو این تاپیک گزاشتن و ما استفاده کردیم و ما...؟

والا من تازه دارم C#‎‎ را یاد میگیرم . یک قطعه کد از خود اقای Netsky را تبدیل کردم به اسنیپت می زارم شاید بدرد کسی بخوره :خجالت:

خروج از form به روشی جالب

کلمه کلیدی exform

Mahdi.Kiani
چهارشنبه 04 فروردین 1389, 12:34 عصر
سلام دوستان عزیز
این تاپیک ارتباطی با Code Snippet ها ندارد(!) و ا گر خوب دقت کنید تاپیک شبیه به این تاپیک (http://barnamenevis.org/forum/showthread.php?t=95001)می باشد.کدهای قرار گرفته درون Code Snippet ها متوانستند درون تاپیک مذکور با عنوان مناسب برای هر موضوع قرار بگیرند./ اصولا مورد استفاده Code Snippetها چیز دیگری است!
Code Snippet هااصولا برای مواردی نوشته می شوند که در تمام و یا بسیار ی از برنامه ها مورد نیاز می باشند. مثلا ایجاد حلقه ها، دستورات شرطی و .../. این دستورات در تمامی برنامه ها مورد استفاده قرار مگیرند و طبیعتا Snippet ها ی آن ها با قابلیت Surround دارای کاربرد بالایی میباشند.اما نوشتن متد های کلاس Graphic در داخل Snippet ها چقدر مورد نیاز است؟

این تاپیک میتوانست تنها دارای یک پست که شامل نحوه ایجاد Code Snippet ها بود، باشد(البته برای آن ها که حوصله خواندن مطالب مرجع (http://msdn.microsoft.com/en-us/library/f7d3wz0k.aspx) ان را ندارند!)

---------------------------------------
پیشنهاد می کنم که کدهای درون Code Snippetها رادر صورت تکراری نبودن و البته مفید بودن درون تاپیکی که در ابتدای پستم به آن لینک دادم قرار دهید. در این صورت از ایچاد تاپیک مشابه جلوگیری کرده و کمک شایانی در نظم بخشیدن به تالار میکنید. یا اینکه واقعا Code Snippet های کاربردی قرار دهید مثلا شاید مانند این (http://dotnet-snippets.de/dns/c-code-snippets-for-the-gang-for-four-gof-design-patterns-SID1285.aspx)
-----------------------------------------

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

موفق باشید/