iran rules jazbe modir
snapphost mahak

جستجو در تالارهای گفتگو

در حال نمایش نتایج برای برچسب های 'Programming-Csharp'.



تنظیمات بیشتر جستجو

  • جستجو بر اساس برچسب

    برچسب ها را با , از یکدیگر جدا نمایید.
  • جستجو بر اساس نویسنده

نوع محتوا


تالارهای گفتگو

  • انجمن های اصلی تیم
    • قوانین و اساسنامه ی انجمن
    • آخرین خبرها
    • اطلاعیه ها
    • مدیران
    • دوره های آموزشی
    • انتقادات پیشنهادات
  • آموزش های تخصصی
    • برنامه نویسی
    • هکینگ
    • امنیت
    • شبکه
    • سخت افزار
    • متفرقه
  • پرسش و پاسخ (FAQ)
    • سوالات و مشکلات پیرامون برنامه نویسی
    • سوالات و مشکلات پیرامون هکینگ
    • سوالات و مشکلات پیرامون امنیت
    • سوالات و مشکلات پیرامون شبکه
    • سوالات و مشکلات پیرامون سخت افزار
    • سوالات و مشکلات پیرامون سیستم عامل
    • سوالات و درخواست های متفرقه
  • سیستم عامل
    • ویندوز
    • لینوکس
    • کالی لینوکس
    • اندروید
    • اپل
  • بخش ویژه (مخصوص اعضای ویژه)
    • هکینگ
    • امنیت
    • شبکه
    • متفرقه
  • پروژه های تیم
    • پروژه های نفوذ به سایت
    • پروژه های ساخت نرم افزار
    • پروژه های آسیب پذیری
    • پروژه های ساخت سایت
  • مسابقات
    • مسابقات امنیت و هکینگ
    • مسابقات برنامه نویسی
    • مسابقات کرکینگ
  • عمومی
    • توسعه دهندگان
    • ترفند های متفرقه
    • گرافیک
    • ربات تلگرام
  • بحث آزاد علمی
    • عمران و معماری
    • الکتروتکنیک
    • کتابخانه سراسری
  • بخش دریافت
    • دانلود نرم افزار
  • آرشیو
    • بایگانی

جستجو در ...

جستجو به صورت ...


تاریخ ایجاد

  • شروع

    پایان


آخرین به روز رسانی

  • شروع

    پایان


فیلتر بر اساس تعداد ...

تاریخ عضویت

  • شروع

    پایان


گروه


درباره من


جنسیت


محل سکونت

24 نتیجه پیدا شد

  1. Rednofozi

    Programming-Csharp

    استفاده از IDE ها مثل ویژوال استادیو استفاده از CMD با کمک NET freamwork. با استفاده از IDE ابتدا فایل را در ویژوال استادیو باز می کنیم.سپس به سربرگ Debug می روم و بر روی گزینه Start without debuging کلیلک میکنیم.سپس برنامه کامپایل می شود. با استفاده از CMD با کمک NET freamwork. ایتدا وارد پوشه برنامه خود می شود.فرض کنید در پوشه my project قرار دارد.پس باید دستورات زیر را بزنیم: cd my project سپس هنگامی که در پوشه برنامه خود قرار داردیم باید به مسیر کامپایلر #C به نام CSC برویم.که معمولا مسیری مانند مسیر زیر است اما امکان دارد با توجه به ورژن و …متفاوت باشد.اما ما در اینجا مثال میزنیم. سپس در همین دستور زیر فایل خود را بصورت یک آرگومان برای این کامپایلر می فرستادیم.بصور مثال با فرض بر اینکه نام فایل #c ما program.cs باشد، حاصل می شود دستو زیر: Windows\Microsoft .NET\Framework64\v2.0.50727\csc.exe program.cs با وارد کردن دستور فوق، program.exe در پوشه برنامه ما ایجاد می شود و تها کافیست که که برنامه را با زدن نام و پسوند یعنی program.exe در CMD اجرا کنید در لینوکس از کامپایلر GCC استفاده می شود.برای کامپایل کردن کافی است ابتدا عبارت gcc را بنویسید سپس نام نام فایل #C بعد O- و سپس نام فایل خروجی که دلخواه است.بصور مثال فرض کنید نام فایل #C ما program ااست و قصد داریم آن را کامپایل کرده و با نام pentestcore ذخیره کنیم. از دستور زیر در ترمینال استفاده می کنیم: gcc program.cs -o pentestcore برای اجرا برنامه هم /. و سپس نام فایل. امیدوارم از این آموزش لدت برده باشید.
  2. پکیج دوره اموزش مترو در سی شارپ از لرن فایلز 💰قیمت در سایت : 28,000 تومان ♻️حجم: حدود 600MB Metro In CSharp Ahwaz Hackerz.part1.rar - Telegram File Download Service Metro In CSharp Ahwaz Hackerz.part2.rar - Telegram File Download Service
  3. دوره آموزشی ساخت کرکر توسط ArashHc از تیم امنیتی سربازان سایبری Package Make Cracker By AhkanHC.zip - Telegram File Download Service
  4. Rednofozi

    Programming-Csharp

    دستور اول خیلی ساده و مهمه تعویض فرم (انتقال از فرم اول به دوم) Form2 frm = new Form2(); frm.Show(); this.Hide(); دستور بعدی هم مربوط میشه به تغییر اندازه ی فرم this.Size = new Size(830, 300); اندازه هاشونو دیگه خودتون تغییر بدید غییر مکان خب اینم کامند تغییر مکان یک دکمه // یا هر چیز دیگه btnlogin.Location = new Point(15, 213); نمایش زمان حال سیستم با این دستور زمان حال سیستم روی لیبل مشخص شده نشون داده میشه DateTime dtedate; dtedate = DateTime.Now; lbldtime.Text = dtedate.ToString(); visible & enable Visible // قابل نمایش و غیر قابل نمایش بودن btn_nextpage.Visible = true; btn_nextpage.Visible = false; Enable // فعال یا غیر فعال بودن txtb_guid.Enabled = true; txtb_guid.Enabled = false;
  5. با سلام خدمت علم آموزان عزیز با آموزش برنامه نویسی سی شارپ در محیط کنسول در خدمت شما هستم. از اسپم و سوال در این تاپیک جدا خود داری کنید. برای تشکر از دکمه like پایین هر پست استفاده کنید.
  6. armincloner021

    Programming-Csharp

    خب امروز هم با اموزش ساخت DDos attacker در خدمت شما هستیم با این اموزش میتونین دیداسر های های دلخواه خودتون رو بسازین و به هر سایتی که میخواین دیداس بزنین و اگه که نمیدونم دیداس زدن چیه که حتما برین تو سایت یه چرخی بزنین و پیدا میکنین خب اینم لینک اموزش : DDoser by armincloner اینم خود برنامه تو اموزش , منتهی بهترش : DDOS
  7. تو این بخش دوستان یاد میگیرن که چطوری با زبان قدرتمند c# یک برنامه ساخت پسورد برای حملات بروت فورس بنویسند جلسه ی بعدی ساخت کیلاگر رو یاد میگیرم با سی شارپ دوستان یه نکته رو ذکر کنم که باید با سی شارپ اشنایی داشته باشین و باهاش کار کرده باشین لینک دانلود : brute Force
  8. DOCTOR ROBOT

    Programming-Csharp

    مقدمه: C# یک زبان کارامد، (زبانی که از رخداد خطاهای مربوط به نوع داده ای جلوگیری می کند) type-safe و شی گرا است که برای توسعه دهنده این امکان را فراهم می آورد تا اپلیکیشن های قدرتمند با سطح ایمنی بالا که در بستر کاری Net Framework. قابل اجرا می باشند را توسعه دهند. توسعه دهندگان قادر هستند با استفاده از آموزش C# اپلیکیشن های کلاینت تحت ویندوز، سرویس های تحت وب مبتنی بر XML ، کامپوننت های توزیع شده، اپلیکیشن های کاربر-سرویس دهنده (Client-server)، اپلیکیشن های دیتابیسی و غیره .. را پیاده سازی کنند. Visual آموزش C# با ارائه ی ویرایشگر مناسب کد (code editor)، ابزار طراحی رابط کاربری و ظاهر اپلیکیشن، برنامه ی خطایابی و اشکال زدایی (debugging) درون ساخته و بسیاری از ابزار دیگر، ساخت اپلیکیشن های کاربردی مبتنی بر آموزش C# و چارچوب نرم افزاری NET Framework. را تسهیل بخشیده و زمینه را برای توسعه دهنده فراهم می کند تا برنامه های Net. را به صورت بهینه و سریع تر از گذشته پیاده سازی کنند.
  9. SoldierAnonymous

    Programming-Csharp

    با استفاده از کلید های « مکان نما + Shift » شما قادر هستید در ویژوال استادیو چند خط مثل هم را تایپ کنید. مکان نما : بالا و پایین
  10. SoldierAnonymous

    Programming-Csharp

    سلام اینم چند تا dll برای سی شارپ شامل : metro و material و flat و . . . دانلود : AnonySec.rar
  11. #MaHdI

    Programming-Csharp

    اموزش زبان برنامه نویسی Csharp به طور کامل : ) فایل به صورت pdf هست و با حجم 7 مگ Csharp
  12. Moeein Seven

    Programming-Csharp

    باسلام دوره آموزشی #c قوانین تاپیک : اسپم ممنوع پرسش و پاسخ ممنوع
  13. Moeein Seven

    Programming-Csharp

    دوره آموزشی سیشارپ در4 جلسه قوانین تاپیک : سوال و جواب ممنوع اسپم ممنوع
  14. DOCTOR ROBOT

    Programming-Csharp

    سلام دوستان عزیز در این تایپک سورس های سی شارپ C# قرار داده میشود بعد از گذاشتن سورس نرم افزار ان به این جا منتقل میشود...!پروژه های ساخت نرم افزار
  15. SoldierAnonymous

    Programming-Csharp

    آموزش اضافه کردن DLL در سی شارپ پسورد فایل : Anonysec.org DownLoad
  16. Moeein Seven

    Programming-Csharp

    باسلام. دوره آموزشی ویدیویی سی‌شارپ از امروز شروع خواهد شد. لطفا از ارسال در این مطلب خودداری فرمایید. باتشکر
  17. باسلام تنها برای این که در محاسبات اعداد اعشاری هم محاسبه شود کافیست در سورس کد سیشارپ به جای int دستور double رو بزاریم به همین راحتی هر گونه سوال داشتین در بخش سوالات بگین
  18. Moeein Seven

    Programming-Csharp

    باسلام بدینوسیله قصد دارم یک دوره اموزش برنامه نویسی سیشارپ برای شما دوستان عزیز بفرسم *از اسپم در بخش خودداری کنید* *باتشکر *
  19. DOCTOR ROBOT

    Programming-Csharp

    LINQ مخفف Language Integrated Query به معنای زبان پرس و جوی یکپارچه است که در دات نت نسخه 3.5 معرفی شد و به برنامه نویس اجازه می دهد داده ها را از هر نوع منبع داده ای بدون نیاز به دانستن یک زبان دیگر پرس و جو کند. پرس و جو فرایند به دست آوردن داده از منبع داده است. LINQ پرس و جوی داده از منابع داده ای مختلف را بسیار راحت کرده است. این زبان با زبانهای C# و VB آمیخته شده است و چندین کلمه کلیدی و دستور زبان برای استفاده از آن به دو زبان مذکور اضافه شده است. قبل از ورود LINQ، برنامه نویسان مجموعه کدهای مختلفی برای منابع داده ای مختلف می نوشتند. به عنوان مثال، برای پرس و جو در یک دیتابیس SQL از دستورات SQL یا برای فایل های XML از Xpath استفاده می کردند. اما اکنون با استفاده از قدرت LINQ فقط لازم است با کلمات کلیدی LINQ و متدهای آن که در دات نت 3.5 معرفی شدند آشنا باشید. چندین نوع LINQ به دلیل وجود provider های مختلف وجود دارد (شکل بالا). ویژوال استودیو دارای چندین provider مانند LINQ to Objects می باشد. در این قسمت تمرکز ما بر LINQ to Objects است که در پرس و جوی مجموعه ای از اشیاء در کد شما که رابط IEnumerable<T> را پیاده سازی می کنند مورد استفاده قرار می گیرد. مثال هایی از این اشیاء، آرایه ها و لیست ها یا یک مجموعه سقارشی می باشد که شما ایجاد کرده اید. LINQ to SQL هم مخصوصا طوری طراحی شده است که پرس و جوی دیتابیس های SQL Server را راحت می کند. برای پرس و جوی فایل های XML، می توان از LINQ to XML استفاده نمود. همچنین می توان LINQ را برای پرس و جوی انواع منابع داده ای دیگر بسط داد. تکنیک های پرس و جو به کار فته در درس های زیر می توانند در انواع مختلف LINQ مورد استفاده قرار بگیرند. شما می تونید با استفاده از متد های الحاقی که در رابط IEnumerable<T> تعریف شده اند از LINQ استفاده کنید. می توانید این متدها را مستقیما فراخوانی کنید، اما باید درباره عبارات لامبدا اطلاعاتی داشته باشید. همچنین می توان از عبارات پرس و جو که دستور زبانی شبیه به SQL دارند استفاده کرد. عبارات پرس و جو ابزار مهمی هستند. عبارت های پرس و جو ابزار اصلی برای دسترسی به داده ها با استفاده از LINQ به شمار می آیند گرچه شما می توانید از متدهای الحاقی و عبارات لامبدا هم برای پرس و جو استفاده کنید. زبان برنامه نویسی سی شارپ جز زبان های روالمند است به این معنی که شما برای حل یک مسئله باید قدم به قدم کد های آن را بنویسید ولی LINQ جز زبان های غبر روالمند است به این معنی که شما به کامپیوتر می گویید که چه چیزی را لازم دارید(صرف نظر از الگوریتم آن) و کامپیوتر آن را برای شما فراهم می کند. قبلا از LINQ ، شما فقط باید با استفاده از زبان های روالمند در بین نتایج پرس و جو می کردید . برای مثال فرض کنید که قصد دارید لیست تمامی اعداد زوج داخل یک آرایه را بدست آورید . برای نوشتن راه حل مسئله بالا با استفاده از زبان برنامه نویسی سی شارپ کد شما چیزی شبیه کد زیر می شود : List<int> evenNumbers = new List<int>(); int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; foreach(int num in numbers) { if (num % 2 == 0) evenNumbers.Add(num); } با استفاده از کد بالا شما به کامپیوتر دستور می دهید که تک تک مقادیر داخل آرایه را بررسی کند و مقادیری که با شرط داده شده مطابقت دارند را به لیست اضافه کند. حالا مثال بالا را با استفاده از زبان LINQ به شکل زیر بازنویسی کرده ایم int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; var evenNumbers = from n in numbers where n % 2 == 0 select n; فعلا به دستور زبان آن توجهی نکنید ، در قسمت های بعدی مفصل در این مورد توضیح می دهیم. اولین نکته ای که در کد بالا قابل توجه است اینست که کد بالا نسبت به کد قبلی ساده تر و قابل فهم تر است.
  20. DOCTOR ROBOT

    Programming-Csharp

    معرفی این مقاله مقدمه ای بر بیانیه ای با استفاده در C # است و همچنین برخی از بینش به اجرای واقعی از بیانیه فراهم می کند. کد هنگامی که شما با استفاده از یک شی است که کپسوله هر منبع، شما باید مطمئن شوید که زمانی که شما با جسم انجام می شود، متد Dispose جسم نامیده می شود. این می تواند به راحتی با استفاده از دستور با استفاده از در C # انجام می شود. در این بیانیه با استفاده از ساده کد که شما را مجبور به نوشتن برای ایجاد و سپس در نهایت پاک کردن جسم. در این بیانیه با استفاده از به دست آوردن منابع مشخص شده، اجرا اظهارات و در نهایت متد Dispose از جسم به تمیز کردن شی می نامد. قطعه زیر از کد استفاده از آن نشان می دهد using (TextWriter w = File.CreateText("log.txt")) { w.WriteLine("This is line one"); } حالا که سرد. اما قبل از ما می توانید شروع به استفاده از این کد، اجازه دهید ما سعی کنید بفهمید چه اتفاقی می افتد در پشت صفحه نمایش. اجازه می دهد تا یک نگاهی به کدهای IL برای بخش کد بالا. .locals init ([0] class [mscorlib]System.IO.TextWriter w) IL_0000: ldstr "log.txt" IL_0005: call class [mscorlib]System.IO.StreamWriter [mscorlib]System.IO.File::CreateText(string) IL_000a: stloc.0 .try { IL_000b: ldloc.0 IL_000c: ldstr "This is line one" IL_0011: callvirt instance void [mscorlib] System.IO.TextWriter::WriteLine(string) IL_0016: leave.s IL_0022 } // end .try finally { IL_0018: ldloc.0 IL_0019: brfalse.s IL_0021 IL_001b: ldloc.0 IL_001c: callvirt instance void [mscorlib] System.IDisposable::Dispose() IL_0021: endfinally } // end handle . خوب نظر نمی رسد این کد من است. دلیلش این است که من را امتحان کنید و یک دید در نهایت در کد IL (چیزی که من آن را اجرا نمی شود). یک دقیقه صبر کن. آن است کد من .... خب حقیقت این است، کسی رمز خود را تغییر دهید. از CLR. از CLR کد خود را تبدیل به MSIL. و استفاده از عبارات، می شود به را امتحان کنید ترجمه و در نهایت مسدود کند. این است که چگونه با استفاده از بیانیه در IL ارائه شده است. اکتساب، مصرف و دفع: در بیانیه ای که با استفاده از به سه بخش ترجمه شده است. این منبع اول به دست آورد، پس از آن استفاده از است که در بیانیه امتحان کنید با یک بند در نهایت محصور شده است. جسم پس از آن می شود در بند در نهایت دور انداخته شوند. به عنوان مثال کدهای زیر با استفاده از دستور با استفاده از، using (MyResource myRes = new MyResource()) { myRes.DoSomething(); } gets translated to, MyResource myRes= new MyResource(); try { myRes.DoSomething(); } finally { // Check for a null resource. if (myRes!= null) // Call the object's Dispose method. ((IDisposable)myRes).Dispose(); } کد بالا را که با استفاده از بیانیه ای با استفاده مربوط به یکی از دو بسط امکان پذیر است. هنگامی که MyResource یک نوع ارزش، گسترش در بلوک finally است خواهد بود finally<BR>{<BR>((IDisposable)myRes).Dispose();<BR>}<BR> اگر MyResource از نوع مرجع، گسترش می شود finally<BR>{<BR>if(myRes != null)<BR>((IDisposable)myRes).Dispose();<BR>} به این ترتیب، اگر یک منبع پوچ به دست آورد، پس از آن هیچ پاسخ خواهد شد به دور، بنابراین اجتناب از هر گونه استثنا رخ می دهد که. خوب، که همه چیز را توضیح می دهد. با استفاده از 'با استفاده از' یک سناریو معمول که در آن ما می تواند بیانیه ای با استفاده استفاده است: string connString = "Data Source=localhost;Integrated " + "Security=SSPI;Initial Catalog=Northwind;"; using (SqlConnection conn = new SqlConnection(connString)) { SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "SELECT ID, Name FROM Customers"; conn.Open(); using (SqlDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) Console.WriteLine("{0}\t{1}", dr.GetString(0), dr.GetString(1)); } } در این بیانیه با استفاده از فقط برای اشیاء را با یک عمر است که فراتر از روش که در آن اشیاء ساخته شده را گسترش دهید مفید است. به یاد داشته باشید که اشیاء شما نمونه باید رابط System.IDisposable پیاده سازی. هیچ معادل برای استفاده از عبارات، در vb.net وجود دارد ترجمه شده است
  21. DOCTOR ROBOT

    Programming-Csharp

    سوکت به دو رابط فایل مانند در دو سوی ارتباطهای شبکه ای گفته میشه که در برنامه نویسی از اونا استفاده میکنیم. یعنی فرض کن الف و ب میخوان با هم تماس بگیرن. خب فرضا ب درحال گوش دادن برای تماس هست (سرور) و الف باهاش توسط توابع مربوطه تماس میگیره، بعد از اینکه ب ارتباط رو پذیرفت، در هر دو طرف سوکت هایی برای ارتباط ایجاد میشن که توسط توابع و روشهایی شبیه به توابع و روشهایی که با اونها در فایلهای معمولی مینویسیم و میخونیم از اونها استفاده میکنیم. یعنی مثلا وقتی در سوکتی که در سمت ب ایجاد شده اطلاعاتی رو مینویسیم، اون اطلاعات به الف ارسال میشه. و وقتی الف اطلاعاتی رو به ب ارسال میکنه اینطور بنظر میرسه که این اطلاعات در سوکت ذخیره شده که بعد با توابع خواندن از سوکت اون اطلاعات رو از سوکت استخراج میکنیم. البته امروزه در کتابخانه های سوکت سطح بالا احتمالا شما جز یکسری متغییر به اسم سوکت چیزی نمیبینید، ولی بطور مثال در سیستمهای قدیمی تر یا یونیکسی ها، عملا فایلهایی مجازی روی سیستم فایل ایجاد میشن که نمایندهء اون سوکت ها هستن و میشه مثل فایل معمولی از اونها خوند یا در اونها نوشت (که نتیجتا این عملیات به شبکه منتقل میشه و به طرف دیگر میرسه). یعنی اصلا فکر میکنم در لینوکس میتونید این کار رو توسط توابع فایل معمولی انجام بدید و حتی داده ها رو از خط فرمان توسط ریدایرکشن معمولی به اونها بفرستید یا بخونید. یعنی با سوکت ها در لینوکس میتونید مثل فایلهای معمولی برخورد کنید. البته مسلما با این وجود سوکت ها با فایلهای معمولی تفاوتهای مهمی دارن. درواقع عملیات مربوط به سوکت ها در هستهء سیستم عامل لینوکس انجام میشه (عملا چیزی روی دیسک سخت نوشته و خونده نمیشه)؛ یعنی سوکت ها فایلهایی مجازی هستن. فرق دیگه مثلا اینه که در فایل معمولی وقتی اطلاعاتی نوشته میشه در همونجا باقی میمونه، ولی در سوکت این اطلاعات به طرف مقابل ارسال میشن و در سوکت باقی نمیمونن (که بعد خودتون بتونید بخونید)، یا وقتی اطلاعاتی رو از فایل معمولی میخونید اون اطلاعات از فایل پاک نمیشن ولی در سوکت خواندن اطلاعات باعث حذف اونها از سوکت میشه. سوکت یک رابط پایه ای در ارتبط بین دو برنامهء لوکال یا ریموت هست که پروتکل خاصی نداره. یعنی شما میتونید هر دیتایی رو به هر شکلی توسط سوکت ها ارسال و دریافت کنید. این قرارداد و کار دو طرف هست که از چه پروتکل و فرمتی برای ارسال و دریافت اطلاعات استفاده کنن. بطور مثال HTTP یک پروتکل هست که روی سوکت های زیرین که از نوع TCP هستن استفاده میشه. سوکت هایی که ما با اونها در شبکه و اینترنت سروکار و داریم عمدتا دو نوع هستن، یکی TCP و یکی UDP. سوکت های TCP برای ارسال و دریافت نیاز به اتصال اولیه دارن؛ یعنی نیاز هست دو طرف با هم اتصال اولیه و با توافق و تنظیم پارامترهای لازم برقرار کنن. و خاصیت دیگرش اینه که شما اطلاعات رو ارسال میکنید و بقیهء کارها رو خود سوکت و سرویسهای سطح پایینتر بصورت خودکار انجام میدن؛ یعنی تضمین میکنن که بسته های اطلاعاتی شما بصورت سالم و کامل طبق ترتیب به مقصد برسن. البته اگر مشکل جدی در ارتباط بوجود بیاد که اطلاعات به هیچ وجه نتونن بصورت سالم و کامل دریافت و ارسال بشن، این مشکل با استفاده از خطا و (مقدار برگشتی) توابع و Exception های مربوطه به اطلاع برنامه میرسه. در سوکت های UDP نیاز به هیچ اتصال و توافق دوطرفهء قبلی نیست و هر طرف میتونه هر زمان همینطوری هرچیزی رو که میخواد به آدرس و پورتی از ماشین مقصد که میخواد ارسال کنه. در اینصورت باید در اون زمان برنامهء مربوطه روی ماشین دیگر روی آدرس و پورت مورد نظر درحال انتظار باشه، وگرنه اطلاعات دریافتی نیست و نابود میشن. ضمنا این نوع سوکت ها هیچ تضمینی برای دریافت کامل و مرتب اطلاعات در سمت دیگه نمیدن و این موارد رو برنامه نویس باید خودش برنامه نویسی کنه. یعنی شما باید به طریقی از اینکه اطلاعات ارسالی به مقصد رسیدن مطمئن بشید و اگر نرسیدن اونها رو مجددا ارسال کنید تا وقتی که در سمت مقابل دریافت بشن. ضمنا اطلاعات در این روش ممکنه به ترتیب های نامعین به مقصد برسن که باید این رو هم خودتون هندل کنید. یعنی مثلا اگر اطلاعاتی رو (فرضا 1000 بایت اول از یک فایل تصویر رو) اول ارسال کنید و بعد بخش دوم اطلاعات رو (1000 بایت بعدی تصویر رو) ارسال کنید، هیچ تضمینی وجود نداره که 1000 بایت اول قبل از 1000 بایت دوم به مقصد برسه. ضمنا اطلاعات ارسال شده حتی ممکنه بصورت تکراری در سمت دیگر دریافت بشه؛ یعنی ممکنه 1000 بایت اول ارسالی، در طرف دوم دو بار یا بیشتر دریافت بشه. بنابراین برای دریافت صحیح فایل شما (یا هر نوع اطلاعات دیگری) در طرف دیگه، باید تمام این موارد رو درنظر گرفته و هندل کنید. یعنی مثلا روی بخشهای مختلف فایل که ارسال میکنید شماره بذارید و در طرف مقابل بر اساس اون شماره ها اطلاعات مرتب بشن. موقعی که مرورگر وب شما با سرور تماس میگیره درواقع اول یک ارتباط سوکتی TCP با اون سرور برقرار میکنه و بعد اطلاعات بر اساس فرمت و استاندارد و قراردادهای پروتکل HTTP با سرور مبادله میشن. اتصالهای Persistent که در بحث HTTP و سرورهای وب میشنوید درواقع به اون ارتباط سوکتی TCP زیرین مربوط میشن که اگر ارتباط TCP مورد نظر فقط برای یک درخواست و پاسخ HTTP استفاده بشه و بعدش ارتباط TCP بسته بشه، یک اتصال غیر Persistent رو داریم، و اگر سوکت های TCP با یک درخواست و پاسخ از بین نرن و ارتباط TCP همچنان باز بمونه و برای درخواست و پاسخهای دیگری هم استفاده بشه، بهش اتصال Persistent گفته میشه. اتصال Persistent برای HTTP در نسخهء 1.1 پروتکل HTTP برای استفادهء بهینه تر از منابع دو طرف و سرعت بیشتر در مرورگرها و سرورها طراحی شد. اگر برای هر درخواست یک اتصال TCP مجدد ایجاد کنیم، عملیات اتصال اولیهء سوکت ها (صحبت کردن و توافق و تنظیم پارامترهای اولیه) هر بار باید تکرار بشه و این نیاز به تعداد بیشتری رفت و برگشت اطلاعات بین کلاینت و سرور داره و در نتیجه در کل زمان و منابع بیشتری در هر دو طرف مصرف میشه. پروتکل هایی مثل HTTP, FTP و غیره همه چیزی نیستن جز قراردادهایی برای روش و فرمت و رفتارهای ارسال و دریافت اطلاعات بین دو طرف، و همهء این پروتکل ها برای ارسال واقعی اطلاعات خودشون از سوکت ها (معمولا از نوع TCP) استفاده میکنن.
  22. DOCTOR ROBOT

    Programming-Csharp

    کنترل Pointer : میتواند بر روی کنترلهای موجود در فرم اثر بگذارد و آنها را انتخاب کند. کنترل Button : کنترل دکمه فرمان را به فرم اضافه میکند. چنانچه کاربر روی این کنترل کلیک کند، میتواند بعضی فرمانها را اجرا کند. کنترل CheckBox : گزینه ای را به فرم اضافه میکند که انتخاب یا عدم انتخاب آن به عهده کاربر است. این کنترل معمولا در مواردی به کار میرود که دو حالت انتخاب وجود دارد. کنترل CheckedListBox: لیستی از چند کنترل CheckBox است که یک یا چند گزینه را میتوان انتخاب کرد. کنترل ComboBox : ترکیبی از یک کنترل TextBox و یک کادر ListBox است. در این کنترل میتوان متن جدیدی را وارد یا گزینه ای از لیست را انتخاب کرد. کنترل DateTimePicker : به کاربر اجازه میدهدتا تاریخ و زمان را انتخاب کرده با فرمت خاصی نمایش دهد. کنترل Label : برای نمایش متن غیر قابل ویرایش بکار میرود. کنترل LinkLabel : پیوندی به فرم اضافه میکند که برای اتصال به سایتهای اینترنت مورد استفاده قرار میگیرد. کنترل ListBox : کنترلی را به فرم اضافه میکند که برای نمایش چند گزینه و انتخاب یک یا چند گزینه بکار میرود. کنترل ListView : مجموعه ای از اقلام را نشان میدهدکه میتواند با استفاده از چهار نمای مختلف ظاهر شود. کنترل MaskedTextBox : برای دریافت اطلاعات با فرمت های خاص بکار میرود. کنترل MonthCalender : برای نمایش تقویم بکار میرود. کنترل NotifyIcon : برای ایجاد برنامه ای بکار میرود که در پس زمینه سیستم اجرا میشود، مثل برنامه های حفاظت در برابر ویروسها و کنترل درایوها. کنترل NumericUpDown : برای نمایش مقدار عددی با قابلیت افزایش و کاهش بکار میرود. برای افزایش یا کاهش دکمه هادر این کنترل نیز تعبیه شده است. کنترل PictureBox : کادری برای نمایش تصاویر اضافه میکند. کنترل ProgressBar : کنترلی است که درصد پیشرفت کار را بیان میکند. کنترل RadioButton : گزینه ای را به فرم اضافه میکند که کاربر میتواند آنرا انتخاب کند. اگر چند کنترل RadioButton در یک گروه قرار گیرند، فقط یک گزینه را میتوان انتخاب کرد. کنترل RichTextBox : این کنترل همانند MaskedTextBox عمل میکند. با این تفاوت که این کنترل قابلیت دریافت اطلاعات چند سطری را دارد. کنترل TextBox : برای دریافت و ویرایش متن بکار میرود. کنترل ToolTip : کنترلی است که راهنمای کوتاه را برای کنترلهای روی فرم تعیین میکند. کنترل TreeView : برای ایجاد و نمایش ساختار درختی بکار میرود. کنترل WebBrowser : برای نمایش صفحات وب بکار میرود.
  23. DOCTOR ROBOT

    Programming-Csharp

    خوب در این تایپیک میخوام اموزش سی شارپ دس نویس بدم هر روز یک مطلب یا دوتا میزارم که اول اصل اموزش ها معمولا از کنسول استفاده میشه
  24. سلام دوستان امروز براتون برنامه ای آماده کردم که شما مسیر یک Folder حاوی تصاویر رو بهش میدین و تمام تصاویر رو براتون به سایز دلخواه کوچک میکنه در این نمونه از چند نخی یا Thread با BackgroundWorker استفاده شده در قسمت اول کلید انتخاب تصاویر رو بررسی میکنیم در این کلید از کاربر خواسته میشه که فولدر حاوی تصاویر رو انتخاب کنه FolderBrowserDialog op = new FolderBrowserDialog(); if (op.ShowDialog() == DialogResult.OK) { path = op.SelectedPath; bgLoadImage.RunWorkerAsync(); } در اینجا بعد از انتخاب مسیر ، مسیر انتخاب شده را در متغیری در بالای فرم نگهداری میکنیم و بعد BackgroundWorker را با نام bgLoadImage فراخوانی میکنیم public partial class Form1 : Form { private string path = ""; خب کد ها به شرح ذیل است String searchFolder = path; var filters = new String[] { "jpg", "jpeg", "png", "gif", "tiff", "bmp" }; var files = GetFilesFrom(searchFolder, filters, false); progressBar1.Invoke(new Action(delegate { progressBar1.Maximum = files.Count(); })); for (int i = 0; i < files.Count(); i++) { string Name = System.IO.Path.GetFileName(files[i]); dataGridView1.Invoke(new Action(delegate { dataGridView1.Rows.Add(Name); })); bgLoadImage.ReportProgress(i+1); } در کد های بالا تصاویر را فیلتر کرده و در یک Grid نام آنها را نمایش میدهیم حالا در کلید تغییر سایز در این کلید در مرحله اول از کاربر میخواهیم که مسیر ذخیره تصاویر را انتخاب کند سپس یک BackgroundWorker دیگر با نام bgSaveImage را فراخوانی میکنیم FolderBrowserDialog op = new FolderBrowserDialog(); if (op.ShowDialog() == DialogResult.OK) { SavePath = op.SelectedPath; bgSaveImage.RunWorkerAsync(); } کد ها به شرح ذیل است int Count = dataGridView1.Rows.Count; progressBar1.Invoke(new Action(delegate { progressBar1.Value = 0; progressBar1.Maximum = Count; })); for (int i = 0; i < Count; i++) { pc1.Invoke(new Action(delegate { pc1.ImageLocation = path + @"\" + dataGridView1.Rows[i].Cells[0].Value; })); lblPC1Size.Invoke(new Action(delegate { System.Drawing.Image image = System.Drawing.Image.FromFile(path+@"\"+dataGridView1.Rows[i].Cells[0].Value); lblPC1Size.Text = "Height : " + image.Size.Height + " Width : " + image.Size.Width; })); if (!System.IO.Directory.Exists(SavePath + @"\thumb")) { System.IO.Directory.CreateDirectory(SavePath + @"\thumb"); } pc2.Invoke(new Action(delegate { ImageResizer img=new ImageResizer(); img.MaxX = int.Parse(txtWith.Text); img.MaxY = int.Parse(txtHeight.Text); img.TrimImage = true; img.Resize(path + @"\" + dataGridView1.Rows[i].Cells[0].Value, SavePath + @"\thumb\" + dataGridView1.Rows[i].Cells[0].Value); pc2.ImageLocation = SavePath + @"\thumb\" + dataGridView1.Rows[i].Cells[0].Value; })); lblPC1Size.Invoke(new Action(delegate { System.Drawing.Image image = System.Drawing.Image.FromFile(SavePath + @"\thumb\" + dataGridView1.Rows[i].Cells[0].Value); lblPC2Size.Text = "Height : " + image.Size.Height + " Width : " + image.Size.Width; })); System.Threading.Thread.Sleep(2000); bgSaveImage.ReportProgress(i+1); در این کدها تصاویر توسط کلاسی با نام ImageResizer.cs سایزشان تغییر میکند ImageResizer img=new ImageResizer(); img.MaxX = int.Parse(txtWith.Text); img.MaxY = int.Parse(txtHeight.Text); img.TrimImage = true; img.Resize(path + @"\" + dataGridView1.Rows[i].Cells[0].Value, SavePath + @"\thumb\" + dataGridView1.Rows[i].Cells[0].Value); سایز تصاویر از دو TextBox از روی فرم و توسط کاربر تعیین میشود و در زیر هر دو PicturBox دو Lable وجود دارد که سایز تصاویر را نشان میدهد lblPC1Size.Invoke(new Action(delegate { System.Drawing.Image image = System.Drawing.Image.FromFile(SavePath + @"\thumb\" + dataGridView1.Rows[i].Cells[0].Value); lblPC2Size.Text = "Height : " + image.Size.Height + " Width : " + image.Size.Width; })); امیدوارم خوشتون اومده باشه موفق و پیروز باشید