تبليغاتX
برنامه نویسی کامپیوتر و PLC

برنامه نویسی کامپیوتر و PLC

آموزش برنامه نویسی در C#

با سلام خدمت تمام بازدید کنده های محترم .

بنده مهرداد سلامت متولد شهر سمنان هستم . یه برنامه نویسم !

رشته کامپیوتر رو در هنرستان شروع کردم و در حال حاضر مشغول تحصیل در مقتع کارشناسی ارشد هستم .

برنامه های مختلفی رو نوشتم و از جمله اونها ارتباط PLC با کامپیوتر  با استفاده از برنامه C# هستش . 

در این وب نوشته قصد دارم تا آموزش مطالب C# و نکته های مفید رو براتون بنویسم . همچنین اگر سفارشی برای برنامه نویسی بود(به خصوص ارتباط کامپیوتر با PLC)  با کمال میل قبول میکنم .

کسانی که کمک در برنامه نویسی می خوان و همچنین می خوان سفارش برنامه ای رو بدن با شماره 09363649773 و یا با ایمیل mehrdad.salamat@gmail.com تماس بگیرن .

نظرات و پیشنهادات و انتقادات خودتون رو برام بفرستین .


با تشکر

مهرداد

+ نوشته شده در  شنبه دهم دی 1390ساعت 0:11  توسط مهرداد سلامت  | 

برای خواندن از فایل Excel  در C# علاوه بر NameSpace هایی که لازم دارید سه NameSpace  زیر را هم به برنامه تان اضافه نمایید:

using Excel = Microsoft.Office.Interop.Excel;

using Microsoft.Office.Core;

using Microsoft.Office.Interop.Excel;

 

البته در Refrence ها ابتدا  Microsoft.Office.Interop.Excelو Microsoft Office Library را اضافه نمایید.

        System.Threading.Thread thisThread = System.Threading.Thread.CurrentThread;

        System.Globalization.CultureInfo originalCulture = thisThread.CurrentCulture;

        // Use an exception block to switch back in case of a run-time error.

        try

        {

            thisThread.CurrentCulture = new System.Globalization.CultureInfo(

                "en-US");

            Excel.ApplicationClass app = new ApplicationClass();

            Excel.Workbook workBook = app.Workbooks.Open(Path, 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, false, false);

            Excel.Worksheet workSheet = (Excel.Worksheet)workBook.ActiveSheet;

            int index = 1;

            object rowIndex = 1;

            object colIndex1 = 1;

            object colIndex2 = 2;

            object colIndex3 = 3;

            try

            {

                while (((Excel.Range)workSheet.Cells[rowIndex, colIndex1]).Value2 != null)

                {

                    // Read the Cells to get the required value.

                    string firstName = ((Excel.Range)workSheet.Cells[rowIndex, colIndex1]).Value2.ToString();

                    string lastName = ((Excel.Range)workSheet.Cells[rowIndex, colIndex2]).Value2.ToString();

                    string PhonNumber = ((Excel.Range)workSheet.Cells[rowIndex, colIndex3]).Value2.ToString();

                    Console.WriteLine("Name : {0},{1} ", firstName, lastName);

                    index++;

                    rowIndex = index;

                }

            }

            catch (Exception ex)

            {

                Console.WriteLine(ex.Message);

            }

        }

        finally

        {

            // Restore the culture information for the thread after the

            // Excel calls have completed.

            thisThread.CurrentCulture = originalCulture;

        }

 

 

 

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

Normal 0 false false false EN-US X-NONE FA

        string connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\Book1.xls;Extended Properties='Excel 8.0;HDR=NO'";

        OleDbConnection conn = new OleDbConnection(connstr);

        string strSQL = "SELECT * FROM [Sheet1$]";

 

        OleDbCommand cmd = new OleDbCommand(strSQL, conn);

        DataSet ds = new DataSet();

        OleDbDataAdapter da = new OleDbDataAdapter(cmd);

        da.Fill(ds);

        GridView1.DataSource = ds;           

        GridView1.DataBind();

__________________________________________________

گپی برداری از برنامه نویسی مثل آب خوردن 

+ نوشته شده در  سه شنبه شانزدهم اسفند 1390ساعت 4:29  توسط مهرداد سلامت  | 

دوباره سلام به همه عزیزان .

مطلب امروز می خوام بنویسم تبدیل کد نامبریک به کاراکتر معادل مثلا 65 مساوی A هستش . حال می خواهیم کد های بین 0 تا 3000 را به کاراکتر تبدیل کنیم و نمایش بدیم .

for (int i = 0; i < 3000; i++)
            {
                textBox1.Text += char.ConvertFromUtf32(i);
            }

البته یه راه که همین جوری بشه کد های معادل رو دید گرفتن ( Alt+عدد ) مورد نظر است .

+ نوشته شده در  شنبه بیست و چهارم دی 1390ساعت 14:26  توسط مهرداد سلامت  | 

سلام به همه دوستان

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

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

این کد برای بالا بردن آیتم به کار میره

if (listBox1.SelectedItems.Count > 0)
            {
                object selected = listBox1.SelectedItem;
                int indx = listBox1.Items.IndexOf(selected);
                int totl = listBox1.Items.Count;

                if (indx == 0)
                {
                    listBox1.Items.Remove(selected);
                    listBox1.Items.Insert(totl - 1, selected);
                    listBox1.SetSelected(totl - 1, true);
                }
                else
                {
                    listBox1.Items.Remove(selected);
                    listBox1.Items.Insert(indx - 1, selected);
                    listBox1.SetSelected(indx - 1, true);
                }
            }


این کد هم برای پایین بردن آیتم استفاده میشه .

if (listBox1.SelectedItems.Count > 0)
            {
                object selected = listBox1.SelectedItem;
                int indx = listBox1.Items.IndexOf(selected);
                int totl = listBox1.Items.Count;

                if (indx == totl - 1)
                {
                    listBox1.Items.Remove(selected);
                    listBox1.Items.Insert(0, selected);
                    listBox1.SetSelected(0, true);
                }
                else
                {
                    listBox1.Items.Remove(selected);
                    listBox1.Items.Insert(indx + 1, selected);
                    listBox1.SetSelected(indx + 1, true);
                }
            }

در توضیحات کد هم باید بگم که اول ایتم سلکت شده رو میگیریم. بعد شماره اون آیتم و سپس تعداد کل آیتم ها رو میگیریم . اون if هم مشخص می کنه آیتم بالا لیست هست یا نه که در آن صورت اون رو به پایین ترین جا انتقال میده . Items.Remove() آیتم رو پاک میکنه و سپس در جای مورد نظر اون آیتم رو قرار میده (Insert) و در آخر دوباره اون آیتم رو انتخاب میکنه (به صورتی که به رنگ آبی در میاد SetSelected )

+ نوشته شده در  یکشنبه هجدهم دی 1390ساعت 0:51  توسط مهرداد سلامت  | 

با سلام به همه دوستان عزیز

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

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

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar);
}


+ نوشته شده در  جمعه شانزدهم دی 1390ساعت 10:13  توسط مهرداد سلامت  | 

باز هم سلام دوستان

امروز میخوام پیدا کردن زمان اجرای الگوریتم (زمان شروع – زمان پایان) را آموزش بدم .

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

//C# code

/*خواندن زمان شروع */

DateTime startTime = DateTime.Now;

/*الگوریتم اصلی*/

/* خواندن زمان پایان */
DateTime stopTime = DateTime.Now;

/* محاسبه مدت زمان مابین. */
TimeSpan duration = stopTime - startTime;


دوستان تا آموزشی دیگر بدرود .

+ نوشته شده در  شنبه دهم دی 1390ساعت 15:38  توسط مهرداد سلامت  | 

یکی از مواردی که در رابطه با برنامه نویسی سخت افزار هست اینه که بتونین کد های Decimal(ده دهی) رو به کد های Hex( بر پایه 16) تبدیل کرد .

یه مقدمه کوچیک در مورد دسیمال و هگز براتون میدم و بعد میرم سراغ آموزش تبدیل کد ها به یک دیگر .

دسیمال یا ده دهی اعداد 0 1 2 3 4 5 6 7 8 9 هستند که به صورت روز مره ما ازشون استفاده میکنیم .

هگز که بر مبنای 16 هستش اعداد 0 1 2 3 4 5 6 7 8 9 A B C D E F تشکیل میدهن . که الان معادل اون ها رو براتون میگیم .(مبنای16=مبنای10)

0=0 ; 1=1 ; 2=2 ; 3=3 ; ..... ; 9=9 ; 10=A ; 11=B ; 12=C ; 13=D ; 14=E ; 15=F;

که الان مثلا برای تبدیل عدد 16 و 17 به هگز باید بنویسیم

16=10 ; 17=11 ;

و برای تبدیل عدد 5796 در مبنای 10 به مبنای 16 (هگز) باید این جور بنویسیم .

5796=16A4

البته یه راه راحت تبدیل مبنی ها در برنامه ماشین حساب ویندوز هست .

حال بهتره بریم سر اصل مطلب که تبدیل کد ها به هم دیگه


string hexValue = decValue.ToString("X"); //که برای تبدیل دسیمال به هگز هستش
int decValue = Convert.ToInt32(hexValue, 16);//که تبدیل هگز به دسیمال هست
امید وارم که مطلب به دردتون خورده باشه .
تا آموزش های دیگه بدرود .

+ نوشته شده در  شنبه دهم دی 1390ساعت 1:18  توسط مهرداد سلامت  | 

دوباره سلام به همه دوستان

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

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

بهتره بریم به سراغ آموزش C# .

آرشیو کتاب های C# رو از ایجا میتونین بگیرین .

آرشیو فیلم های C# رو هم میتونین از اینجا بگیرین .

همچنین میتونین سوالات و مشکلاتتون رو در مورد برنامه نویسی در سایت برنامه نویس بپرسین .

+ نوشته شده در  شنبه دهم دی 1390ساعت 0:37  توسط مهرداد سلامت  |