chapter1_Intro-to-C

Download Report

Transcript chapter1_Intro-to-C

แนะนำภำษำ Visual C#

ทำควำมรู ้จกั กับภำษำ Visual C#
 Sharp Develop เครื่ องมือพัฒนำแอพพลิเคชัน
 .NET Framework อ่ำนว่ำ ด็อตเน็ตเฟรมเวิร์ค
 Visual Basic.NET
 Visual C++.NET
 Visual C#.NET
 ASP.NET
 Visual C# (อ่ำนว่ำ วิชวลชีชำร์ ป) มีลกั ษณะกำรทำงำนแบบ OOP
Microsoft .NET คืออะไร
Microsoft .NET Framework หรื อ เรี ยกสั้นๆ ว่ำ Microsoft.net คือ
Platform ที่ไมโครซอฟต์ออกแบบ และพัฒนำขึ้นเพื่อรองรับกำร
ทำงำนของโลกอินเทอร์เน็ต
 .Net จะใช้พ้น
ื ฐำน XML ในกำรรับส่ งข้อมูล ทำให้โปรแกรมประยุกต์
ใหม่และที่มีอยูส่ ำมำรถเชื่อมต่อกับซอฟต์แวร์และบริ กำรในหลำย
ระบบปฏิบตั ิกำร ดังนั้นไม่วำ่ จะเป็ นระบบวินโดวส์หรื อไม่กต็ ำม .Net
จะสำมำรถรับส่ งข้อมูลได้อย่ำงเข้ำใจ
 ตัวอย่ าง ถ้ำเรำใช้ Microsoft Office เรำสำมำรถติดต่อกับโปรแกรมอื่น
ในระบบปฏิบตั ิกำรอื่นได้โดยผ่ำนตัว .Net

สถำปัตยกรรม .NET Framework

สถำปัตยกรรม .NET Framework คืออะไร
 Platform ที่ใช้รันโค้ด
 ใช้ในการรัน .Net แอพพลิเคชัน
 สามารถคอมไพล์ได้หลายภาษา โดยมี Common Language Runtime
(CLR)ในการจัดเตรี ยมบริ การต่างๆ ที่เกี่ยวข้องเพื่อให้โปรแกรมที่ขอ
ใช้บริ การสามารถทางานได้
 มีคลาสไลบราลีที่ใช้ได้ทุกภาษา
โครงสร้ ำงภำยในของ .Net Framework
จะต้องมีไฟล์ Source Code ที่เขียนด้วยภาษาใดภาษาหนึ่งก่อนเช่น C# ,
VB.Net , C++
 คอมไพเลอร์ จะแปล Source code ให้เป็ นภาษามาตรฐาน เรี ยกว่า
Microsoft Intermediate Language (MSIL เรียกสั้ นๆ ว่ ำ IL)
 ส่ วนของ Common Language Runtime (CLR) คือ ตัวกลางระหว่าง
ไฟล์นามสกุล .exe (ที่เก็บ IL) กับระบบปฏิบตั ิการ เช่น Windows
 Common Language Runtime หรื อ CLR มีหน้าที่ในการจัดเตรี ยม
บริ การต่างๆ ที่เกี่ยวข้องเพื่อให้โปรแกรมที่ขอใช้บริ การสามารถทางาน
ได้

โครงสร้ ำงภำยในของ .Net Framework

คอมไพเลอร์จะเข้าไปอ่านใน code ว่ามีการเรี ยกใช้ Object หรื อ Control
อะไร ซึ่ง .Net ได้เตรี ยม Control แบ่งเป็ น 5 กลุ่มคือ






Web service
Web Form
Windows Forms
Database Class
Base Class
.Net Framework Class Library คือไฟล์องค์ประกอบที่ทาหน้าที่ในการ
จัดเก็บและรวบรวมข้อมูลที่จาเป็ นต้องเรี ยกใช้งาน ในการพัฒนา
โปรแกรม
IL (ไฟล์ .exe)
ข้ อดีของ .Net Framework
 สามารถใช้ภาษาคอมพิวเตอร์ ใดก็ได้ในการเขียนโค้ด
 มีออบเจ็คกลาง หรื อไลบรารี กลาง ที่ทุกภาษาคอมพิวเตอร์
สามารถนาไปใช้ได้สามารถนาเอาโค้ดภาษาหนึ่งที่ผา่ นการ
คอมไพล์เป็ น IL แล้ว ไปใช้งานหรื อพัฒนาต่อยอดในอีกภาษา
หนึ่งได้
 CRL จะแปลได้เร็ วกว่า JVM
Procedural VS Event-Driven Programming
Procedural Programming

การเขียนโปรแกรมแบบโครงสร้าง จะเป็ นการเขียนคาสัง่ ที่เป็ นไป
ตามลาดับ ต่อเนื่องกันไป ถ้าเป็ นโปรแกรมที่ทางานสลับซับซ้อน จะมี
จานวนคาสัง่ ทัดหลายพันจนถึงหลายหมื่นบรรทัด เวลาเกิดข้อผิดพลาด
จะค้นหาลาบาก การปรับปรุ งแก้ไขมักเกิดความยุง่ ยากและเสี ยเวลามาก
เพราะ เมื่อแก้ไขจุดหนึ่งจุดใด จะต้องตามไปแก้เพิ่มอีกหลายจุด
Procedural Programming
Main Program
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------END
FunctionA
----------FunctionB
-------------------End---------End
Event-Driven Programming
FORM
Function
Sub
Events
Users
Controls
Messages
เหตุกำรณ์ ทเี่ กิดขึน้ กับวัตถุควบคุม
เหตุกำรณ์
โปรแกรมย่ อย
Sub1
Event1
Event2
Event3
Object
Sub2
Sub3
แนะนำภำษำ Visual C#
High-Level Languages




Procedural Language





Fortran
Cobol
Basic
C
Pascal



C++
Java
C#

Lisp

Prolog
Object-Oriented Language
Functional Language
Logic Language
15
แนะนำภำษำ Visual C#

ทำควำมรู้จักกับภำษำ Visual C#
VC# เป็ นภาษาที่ถูกออกแบบมาเพื่อรองรับการทางานในยุค
.NET โดยมีแนวภาษาเป็ นแบบการเขียนโปรแกรมเชิงวัตถุสมัยใหม่
OOP
มีความสามารถเชิงวัตถุใกล้เคียงกับ C++ แต่มีความง่ายในการ
เขียนโปรแกรมเหมือนกับ Visual Basic
ง่าย
VB.NET
ยาก
VC#.NET
VC++.NET
C# เป็ นภาษาใหม่ที่ทางไมโครซอฟต์ได้พฒั นาขึ้นมาพร้อมกับ
โปรแกรมชุด Visual Studio.NET เป็ นภาษาที่พฒั นาขึ้นมาเพื่อ
รองรับการทางานบน .NET Platform โดยมีแนวทางของ การเขียน
โปรแกรมเชิงวัตถุสมัยใหม่หรื อเรี ยกสั้นๆ ว่า Modern OOP
(Modern Objected Oriented Programming)
1. สามารถเขียนโปรแกรมในรู ปแบบของคลาสและโปรแกรม
หรื อวัตถุการสื บทอดฟังก์ชนั่ เสมือน
2. สามารถรองรับการสร้าง XML Documentation
3. สามารถจัดการในหน่วยความจาได้ เช่น C# จะมี Automatic
Garbage Collector ซึ่ งเป็ นตัวช่วยคืนพื้นที่ในหน่วยความจาที่
ไม่ได้ถูกใช้งานในรู ปแบบให้กบั ระบบ
4. สามารถใช้งานร่ วมกับภาษาอื่นได้ เช่นขณะที่สร้างโปรแกรม
จาก C# จะสามารถใช้ Classes Library ของ VB.NET ได้
5. สามารถสร้างแอปพลิเคชัน่ แบบ Console เป็ นการสร้าง
แอปพลิเคชัน่ แบบไม่มี GUI โดยการทางานไม่วา่ จะเป็ นการรับ
ค่าหรื อแสดงค่าจะทางานผ่านหน้าจอ Command Prompt
Window
6. สามารถรองรับเทคโนโลยี ASP.NET เพื่อรองรับ
แอปพลิเคชัน่ ที่ถูกสร้างโดยเทคโนโลยี .NET
7. สามารถสร้างแอปพลิเคชัน่ สาหรับอุปกรณ์ไร้สายได้ ด้วยการ
เขียนโค้ดคาสัง่ เพียงครั้งเดียว
ในการเขียนโปรแกรมด้วย ภาษา C# นั้นได้รับอิทธิ พลมาจากภาษา
C++ จึงมีรูปแบบคาสัง่ ที่คล้ายคลึงกัน และคล้ายกับ JAVA เพราะ
JAVA ได้รับอิทธิพลมาจากภาษา C++ โดยที่คาสัง่ นั้น ถูกกาหนด
โดยบล็อก ที่ครอบด้วยเครื่ องหมาย { กับ }
ภายในบล็อกจะประกอบด้วยคาสัง่ ซึ่งแต่ละคาสัง่ แยกกัน หรื อ
สิ้ นสุ ดลง ด้วยเครื่ องหมาย ; ซึ่งคาสัง่ หนึ่งๆ ไม่จาเป็ นต้องเขียนจบ
ในบรรทัดเดียวกันก็ได้ เช่น
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(textBox1.Text,"สวัสดีครับ");
}
private void button2_Click(object sender, EventArgs e)
{
DialogResult dr;
dr = MessageBox.Show("คุณต้องการจบการทางานหรื อไม่", "Exit ?", MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
MessageBox.Show("จบการทางานครับ", "End", MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.Close();
}
else
MessageBox.Show("คุณยังคงทางานต่อไป", "Continue", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
การการสร้างแบบ Windows Application
สร้ างฟอร์ ม, วางคอนโทรล และกาหนด Properties
ชนิดคอนโทรล
Form
Label
Text Box
Button
Button
Properties
Name
Text
Name
Text
Name
Text
Name
Text
Name
Text
ค่าที่กาหนด
Form1
Form1
Label1
กรุณากรอกระบุชื่อ
TextBox1
Button1
ทักทาย
Button2
ออก
คีย์จำนวนเงิน
User
Interface
เริม่
เลิก
กำหนดวัตถุควบคุม
1 กำหนดแบบฟอร์ ม
2 กำหนดวัตถุสำหรับรับข้ อมูล คือ
จำนวนเงิน (TextBox)
คีย์จำนวนเงิน
3 กำหนดข้ อควำมอธิบำยกำรนำ
ข้ อมูลเข้ ำ (Label)
เริม่
เลิก
4 กำหนดวัตุสำหรับแสดงผล
(ListBox)
5 กำหนดปุ่ มควบคุมกำรทำงำน
(Command Button)
6 กำหนดปุ่ มควบคุมให้ หยุดทำงำน
(Command Button)
แนะนำ Visual Studio 2005
เครื่ องมือที่ดีที่สุดสาหรับสร้าง .NET เว็บไซต์ ซึ่งก็คือ Visual
Studio 2005 โดย Visual Studio 2005 เป็ นสภาพแวดล้อมในการใช้งาน
(IDE: Integrated Development Environment) ที่เหมาะกับการสร้าง
เว็บไซต์ขนาดใหญ่ และซับซ้อน มีสภาพแวดล้อมในการทางาน ที่
ช่วยเหลือในการเขียนโค้ดที่ฉลาด และใช้งานง่ายหลายทั้งยังสามารถ
ตรวจสอบจุดผิดพลาด โดยการดีบกั การออกแบบคลาส และการ
ตรวจสอบคุณภาพของโค้ดที่เขียน ทาได้อย่างสะดวกรวดเร็ ว
Visual Studio 2005 Product Edition
ภำพ
รำยละเอียด
Visual Studio 2005 Team System
รุ่ นที่ใหญ่ที่สุด อนุญาตให้ ผูจ้ ดั การโปรเจค สถาปนิกซอฟแวร์ นักพัฒนา
โปรแกรม และผูท้ ดสอบระบบ เข้ามาใช้งานโปรเจคร่ วมกันได้ ซึ่งผูร้ ่ วม
พัฒนาในแต่ละบทบาท มีสภาพแวดล้อในการทางานที่เหมาะสมกับบทบาท
ของแต่ละคน ผูร้ ่ วมพัฒนาสามารถทางานร่ วมกันผ่านสภาพแวดล้อมของ
Visual Studio 2005 ได้
Visual Studio 2005 Professional Edition
ชุดมืออาชีพ มีสภาพแวดล้อมในการทางานที่สามารถสร้างแอพพลิเคชัน่
ขนาดใหญ่ หรื อแอพพลิเคชัน่ แบบ Multi-tier ได้ คุณสามารถสร้าง
แอพพลิเคชัน่ ได้ท้ งั เว็บ วินโดว์ส อุปกรณ์พกพา และ Office-base บริ ษทั
พัฒนาซอฟต์แวร์ทวั่ ไปมักซื้ อรุ่ นนี้ไปใช้ เพราะค่าไลเซนส์จะถูกกว่ารุ่ น Team
System หลายเท่า
Visual Studio 2005 Product Edition
ภำพ
รำยละเอียด
Visual Studio 2005
Tools for Microsoft Office System
ชุดสาหรับพัฒนาโปรแกรมฝั่งไคลเอนต์ ที่ทางานร่ วมกับไมโครซอฟต์
ออฟฟิ ศ
Visual Studio Standard Edition
ชุดมาตรฐานคล้ายกับรุ่ น Professional แต่การปรับตัวเลือกต่างๆ ใน IDE ทา
ได้ไม่ละเอียด และขาด SQL Server 2005 Integration ซึ่งจะสามารถสร้างโปร
เจคที่เข้าไปจัดการกับอ็อปเจ็กต์ต่างใน SQL Server 2005 เหมาะกับการพัฒนา
โดยโปรแกรมเมอร์กลุ่มเล็ก สามารถสร้างแอพพลิเคชัน่ ได้ท้ งั วินโดว์สและ
เว็บ
Visual Studio 2005 Product Edition
ภำพ
รำยละเอียด
Visual Studio Express Edition
ชุดสาหรับผูเ้ ริ่ มต้น เป็ นชุดขนาดเล็กที่สามารถสร้างแอพพลิเคชัน่ ที่เป็ นทั้ง
วินโดว์สและเว็บ แต่ถูกตัดความสามารถบางส่ วนออกจากชุดมาตรฐาน
เหมาะกับนักเรี ยน ผูเ้ ริ่ มต้นศึกษา หรื อผูเ้ ขียนโปรแกรมเป็ นงานอดิเรก
ปัจจุบนั ไมโครซอฟต์เปิ ดให้ดาวน์โหลดรุ่ นนี้ได้ฟรี พร้อมกับ SQL Server
2005 Express ที่http://msdn.microsoft.com/vstudio/express/vwd/download/
Subscription
ชุดสาหรับบริ ษทั พัฒนาที่ใช้รูปแบบการพัฒนาซอฟต์แวร์ของไมโครซอฟต์
และจ่ายค่า Subscription เป็ นรายปี บริ ษทั ที่สมัครชุดนี้จะได้รับผลิตภัณฑ์ของ
ไมโครซอฟต์ชุดอัปเดตทุกตัวทั้งซอฟต์แวร์สาหรับการพัฒนา และซอฟต์แวร์
สาหรับเซิร์ฟเวอร์
แบบฝึ กหัดท้ ำยบท
ให้นกั ศึกษาเขียนโปรแกรม โดยกาหนดให้ขอ้ ความที่กรอกใน TextBox
ไปแสดงที่ Label
 ให้นก
ั ศึกษาเขียนโปรแกรมเพื่อคานวณเลข 2 จานวนที่รับจาก TextBox
โดยมีการคานวณ บวก (+) และ ลบ (-)
 ศึ ก ษาถึ ง การ ก าหนดคุ ณ สมบัติ เ พิ่ ม เติ ม ของ Control ต่ อ ไปนี้ Form
TextBox Label Button
 ส่ งท้ายชัว่ โมง

คู่มอื visual C# 2005 ฉบับสมบูรณ์ .นนทบุรีไอดีซีฯ ,2550
http://www.thai-programmer.com/?DPage=90100100
http://cpe.rsu.ac.th/forum/archive/index.php?t-76.htm
http://th.wikipedia.org/wiki/%E0%B8%A0%E0%B8%B2%E0
%B8%A9%E0%B8%B2%E0%B8%8B%E0%B8%B5%E0%B
8%8A%E0%B8%B2%E0%B8%A3%E0%B9%8C%E0%B8%
9B