1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát triển PMHDT ngôn ngữ lập trình c

63 6 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát Triển PMHDT Ngôn Ngữ Lập Trình C#
Thể loại Graduation Project
Định dạng
Số trang 63
Dung lượng 1,04 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Câu lệnh • Các câu lệnh được viết trong thân của phương thức ở đây là phương thức Main • Thực hiện một công việc nào đó • Kết thúc bởi dấu chấm phẩy ; namespace HelloWorld { class Pro

Trang 2

Ngôn ngữ lập trình C#

• Là sự kết hợp C++ và Java

• Hướng đối tượng

• Hỗ trợ kiểm soát và xử lý ngoại lệ (exception) tốt

• Các loại ứng dụng: Console, Windows Forms, Web Forms, Windows Services, Web Services

Hello.exe hoặc Hello.dll

CLR trên Windows

CLR trên Linux

CLR trên MacOS MSIL

Trang 3

Giới thiệu Net Framework

• Có các ngôn ngữ lập trình cơ bản: C#, VB.Net, C++

• Tất cả các chương trình phát triển trên NET sẽ được chuyển về mã trung gian - Microsoft Intermediate Language (MSIL)

– Bước 1: Dịch mã nguồn  MSIL

– Bước 2: MSIL  mã CLR thực thi

• CLR: Common Language Runtime

• FCL: Framework Class Library

Trang 4

Tạo ứng dụng Console

Trang 5

Cấu trúc chương trình C#

• Phần chú thích (option)

• Phần khai báo dùng namespace (option)

• Phần định nghĩa namespace, lớp và các phương thức

// Ch ương trình C# đầu tiên

static void Main(string[] args){ {

Console Write( "Hello World!" );

Console ReadLine();

}

}

}

Trang 6

• Namespace System chứa nhiều lớp giao tiếp với hệ thống

• Từ khóa using dùng để khai báo namespace

VD: using System.Data.OleDb;

Trang 7

Câu lệnh

• Các câu lệnh được viết trong thân của phương thức (ở đây là phương

thức Main)

• Thực hiện một công việc nào đó

• Kết thúc bởi dấu chấm phẩy (;)

namespace HelloWorld {

class Program {

static void Main( string [] args) {

Console.Write( "Hello World!" );

Console.ReadLine();

} } }

Các câu lệnh

Phương thức Main

Trang 8

Chú thích

• Chú thích (comment) được dùng để giải thích về chương trình và các câu lệnh

• Giúp cho chương trình dễ hiểu hơn

• Được bỏ qua khi biên dịch

• Không ảnh hưởng tới kết quả thực thi của chương trình

• Gõ phần chú thích sau cặp ký tự //

• Gõ phần chú thích giữa cặp ký tự /**/

/* Ch ương trình C# đầu tiên

In ra câu chào "Hello World" */

using System;

namespace HelloWorld {

class Program {

static void Main(string[] args) {

Console.Write("Hello World!"); // Xuất ra câu chào

Console.ReadLine(); // Chờ nhấn Enter }

} }

Trang 9

Kiểu dữ liệu số nguyên

sbyte System.SByte 8-bit signed integer -128:127 (-27:27-1)

short System.Int16 16-bit signed integer -32,768:32,767 (-215:215-1)

int System.Int32 32-bit signed integer

2,147,483,648:2,147,483,6

-47 (-231:231-1)

long System.Int64 64-bit signed integer

9,223,372,036,854,775,808

-: 9,223,372,036,854,775,807

(-263:263-1) byte System.Byte 8-bit signed integer 0:255 (0:28-1)

ushort System.UInt16 16-bit signed integer 0:65,535 (0:216-1)

uint System.UInt32 32-bit signed integer 0:4,294,967,295 (0:232-1) ulong System.UInt64 64-bit signed integer 0:18,446,744,073,709,551,

615(0:264-1)

Trang 10

Kiểu dữ liệu số thập phân

Name Common Type System Description Range (approximate)

float System.Single 32-bit ±1.5 × 10-45 to ±3.4 × 1038

double System.Double 64-bit ±5.0 × 10-324 to ±1.7 × 10308

decimal System.Decimal 128-bit ±1.0 × 10-28 to ±7.9 × 1028

Kiểu Boolean

Kiểu Ký tự, Chuỗi

char System.Char 16-bit (Unicode) character

string System.String Unicode character string

Kiểu đối tượng

object System.Object The root type, from which all other

types in the CTS derive

Trang 12

Chuyển đổi kiểu dữ liệu

Trang 13

Khai báo biến, hằng

• Cú pháp khai báo biến: < kiểu dữ liệu> tên_biến;

Trang 14

Câu lệnh điều kiện

Trang 16

• Lệnh break: dùng câu lệnh break khi muốn thoát khỏi vòng lặp

for (int i = 0; i < 10; i++)

Trang 17

Các lệnh điều khiển

• Lệnh continue: được dùng trong vòng lặp khi muốn thi hành tiếp vòng lặp nhưng không thi hành các lệnh còn lại trong vòng lặp, các lệnh sau lệnh continue

for (int i = 0; i < 10; i++)

• Lệnh return: dùng để thoát khỏi một hàm, nếu hàm có một kiểu dữ liệu trả

về thì return phải trả về một kiểu dữ liệu này

Trang 18

Một số hàm thông dụng

• Thông qua lớp Math

– Lấy giá trị tuyệt đối

int x = Math.Abs(-10); // kết quả x = 10

Trang 19

Một số hàm thông dụng (tt)

• Lớp ký tự - char

– bool char.IsDigit(char c) : có phải là ký số

– bool char.IsLetter(char c) : có phải là ký tự

– bool char.IsLetterOrDigit(char c) : có phải là ký tự hoặc ký số

– bool char.IsLower(char c) : có phải là ký tự thường

– bool char.IsUpper(char c) : có phải là ký tự hoa

– char char.ToUpper(char c) : trả về ký tự hoa

– char char.ToLower(char c) : trả về ký tự thường

Trang 21

Một số hàm thông dụng (tt)

• Lớp chuỗi – string

– Length : Chiều dài chuỗi (số ký tự)

– IndexOf(): Vị trí xuất hiện đầu tiên của một chuỗi con trong chuỗi

– LastIndexOf(): Vị trí xuất hiện cuối cùng của một chuỗi con trong

chuỗi

– ToUpper(): Trả về chuỗi chữ hoa

– ToLower(): Trả về chuỗi chữ thường

– Replace(): Thay thế chuỗi con trong chuỗi bằng một chuỗi con khác

– Split(): Cắt một chuỗi thành nhiều chuỗi con

– SubString(): Lấy một chuỗi con

Trang 22

str2 = str1.Replace(“w”, “W”); // str2=”Hello World”

str2 = str1.ToLower(); // str2 = “hello world”

str2 = str1.ToUpper(); // str2 = “HELLO WORLD”

Trang 23

Một số hàm thông dụng (tt)

• Ví dụ 2:

int a = 1, b = 2, tong = a+b;

string str = "Tong " + a.ToString() + " va " + b.ToString() + " la " + tong.ToString();

string[] arrStr = str.Split(',') ;

for (int i=0; i<arrStr.Length;i++)

{

sum += Convert.ToInt32(arrStr[i]);

}

Trang 24

Một số hàm thông dụng (tt)

• Ví dụ 3: Hàm kiểm tra MSSV có phải là 7 ký tự số không?

private bool KiemTraMSSV(string mssv) {

// Kiem tra mssv chi co 7 ky tu

if (mssv.Length != 7) return false;

// Kiem tra cac ky tu phai la chu so

for (int i = 0; i < mssv.Length; i++)

Trang 25

Bài tập – dữ liệu kiểu chuỗi

• Viết hàm tách tên Tham số truyền vào là họ và tên, hàm sẽ trả về tên

• Viết hàm tách họ Tham số truyền vào là họ và tên, hàm sẽ trả về họ và chữ lót

• Viết hàm chuẩn hóa chuỗi họ tên:

– Không có khoảng trắng trước và sau tên

– Không có hơn 1 ký tự khoảng trắng giữa các ký tự

– Ký tự đầu của các từ phải viết hoa

– Ví dụ: “Nguyen Y Van” là hợp lệ

• Viết hàm đếm số từ trong chuỗi

– Ví dụ: “Truong Dai hoc Dong Thap”  5

• Viết hàm chuyển đổi số thành chữ

– Ví dụ: 12345  Mười hai nghìn ba trăm bốn mươi lăm

Trang 26

Mảng 1 chiều

• Cú pháp:

type [ ] array_name;

• Ví dụ:

int [ ] arrInt; // mảng kiểu số nguyên

arrInt = new int[20]; // tạo mảng có 20 phần tử

int [ ] arrInt = new int[20];

arrInt[0] = 30; // phần tử đầu tiên có giá trị 30

string[] arrStr = {"Hồng", "Lan", "Cúc"};

int Ien = arrStr.Length; // len = 3

Trang 27

Array.Reverse (mang); // sắp xếp giảm dần

Console.WriteLine (“Sap xep giam dan: “);

hienthi(mang);

Console.ReadLine();

}

static void hienthi(int [] a) {

for (int i = 0; i < a.Length; i++)

Console.Write (“ “ + a[i]);

}

}

Trang 29

Mảng 2 chiều

• Cú pháp:

type [ , ] array_name;

• Ví dụ:

int[,] m = new int[2,3]; // mảng m có 2 dòng, 3 cột

int[,] m = new int[,] { {1,2}, {3,4}, {5,6}, {7,8} };

Một loại thứ 2 của mảng nhiều chiều trong C# là Jagged array

Jagged là một mảng mà mỗi phần tử là một mảng với kích thước khác nhau Những mảng con này phải đuợc khai báo từng mảng con một

int[][] a = new int[3][];

a[0] = new int[4];

a[1] = new int[3];

a[2] = new int[1];

Trang 30

Mảng ArrayList

• Một số thao tác

– Add(): Thêm phần tử vào cuối mảng

– Toán tử []: Lấy phần tử trong mảng

Trang 31

Kiểm tra dữ liệu nhập

int so1, so2, tong;

if (int.TryParse(txtSo1.Text, out so1) == false) {

MessageBox.Show("So 1 khong hop le", "Thong bao");

txtSo1.Focus();

} else if (int.TryParse(txtSo2.Text, out so2) == false) {

MessageBox.Show("So 2 khong hop le", "Thong bao");

txtSo2.Focus();

} else {

tong = so1 + so2;

txtTong.Text = tong.ToString();

}

// Hãy viết bằng cách tách ra từng lệnh if riêng

Trang 32

Kiểm tra dữ liệu nhập (tt)

if (KiemTraMSSV(txtMSSV.Text) == false) {

MessageBox.Show("MSSV khong hop le", "Thong bao");

txtMSSV.Focus();

} else if (KiemTraHoTen(txtHoTen.Text) == false) {

MessageBox.Show("Ho ten khong hop le", "Thong bao");

Trang 33

Kiểm tra dữ liệu nhập (tt)

private bool KiemTraMSSV(string mssv)

{

// Kiem tra mssv chi co 7 ky tu

if (mssv.Length != 7) return false;

// Kiem tra cac ky tu phai la chu so

for (int i = 0; i < mssv.Length; i++)

Trang 35

Tạo ứng dụng Windows Form

Tạo project: Windows App

Trang 36

Windows control - Form

• Tất cả các thành phần trên form đều là đối tượng

Trang 37

Giao diện làm việc – Windows Form

Windows App do Visual Studio khởi tạo

Trang 38

Windows control - Form

Lớp Form cơ sở

Control kiểu Label

Chạy ứng dụng với Form1 làm form chính

Thiết kế form & control Add control vào form

Form1.cs

Trang 39

Windows control - Form

this.BackgroundImage = new Bitmap("background.jpg");

– Text (Tiêu đề của Form)

this.Text = “Quan ly Hoc sinh”;

• Phương thức: Close, Hide, Show

• Sự kiện: Load (xảy ra trước khi hiển thị)

Trang 40

Thuộc tính của Form

Trang 41

Cửa sổ viết code

• Phần xử lý của Form1 khi button click

– Lấy giá trị của 2 textbox, cộng kết quả và xuất ra MeesageBox

Trang 42

Label control

• Cung cấp thông tin chỉ dẫn (nhãn), chỉ đọc

Label1 Text = “Nhập họ tên: ”;

Thuộc tính thường dùng

Trang 43

TextBox control

Thuộc tính thường dùng

AcceptsReturn Nếu true: nhấn enter tạo thành dòng mới trong chế độ multiline

Multiline Nếu true: textbox ở chế độ nhiều dòng, mặc định là false

PasswordChar Chỉ hiển thị ký tự đại diện cho text

ReadOnly Nếu true: textbox hiển thị nền xám, và không cho phép nhập dữ

liệu, mặc định là false ScrollBars Thanh cuộn cho chế độ multiline

Event thường dùng

TextChanged Kích hoạt khi text bị thay đổi, trình xử lý được khởi tạo mặc định khi

kích đúp vào textbox trong màn hình design view

Trang 44

TextBox control

• Demo TextBox

Chuyển thành chữ hoa

Double click vào

textbox để tạo event

handler cho event

TextChanged

Trang 46

Text Chuỗi hiển thị trên bề mặt button

Image Chèn hình vào button

button1 Image = Image FromFile("D:\\hinh.jpg");

ImageAlign Vị trí hình hiển thị trong nút lệnh

button1 ImageAlign = ContentAlignment.MiddleLeft ; Event thường dùng

Click Kích hoạt khi user kích vào button, khai báo mặc định khi người lập

trình kích đúp vào button trong màn hình Design View của Form.

Trang 47

ListBox control

• Cung cấp một danh sách các item cho phép người dùng chọn

• Hiển thị thanh scroll nếu các item vượt quá vùng thể hiện của ListBox

Thuộc tính thường dùng

Items Thêm một Item vào ListBox

listBox1.Items.Add (" Chủ nhật");

Multicomlumn Nếu thiết lập true thì ListBox hiển thị nhiều cột

SelectedItem Trả về đối tượng item đã chọn

Sorted true: sắp xếp tăng dần

Text Lấy giá trị của một item đã chọn trong ListBox

string txt; txt = listBox1.Text;

Method & Event

ClearSelected Bỏ chọn các item

Trang 49

ListBox control

Hiển thị nhiều cột

Trang 50

ListBox control

Kiểm tra xem chuỗi nhập có trong list box?

- Nếu có: select item đó

- Ngược lại: thêm chuỗi mới vào list box

Trang 52

Checked ListBox control

• Thêm các đối tượng dùng phương thức AddRange

Dim days As String() = {"Sunday", "Monday", "Tuesday"};

checkedListBox1.Items.AddRange(days);

• Thiết lập các tùy chọn của các đối tượng

checkedListBox1.Items.Add (“Sunday", CheckState Checked);

checkedListBox1.Items.Add (“Monday", CheckState Unchecked);

checkedListBox1.Items.Add ("Tuesday", CheckState.Indeterminate);

Trang 53

ComboBox control

• Cho phép người dùng chọn item trong danh sách DropDown

• Thêm item vào ComboBox

comboBox1.Items.Add("Sunday");

• Xóa item trong ComboBox

comboBox1.Items.RemoveAt (1); //xóa item tại vị trí chỉ định

comboBox1.Items.Remove ("Thứ sáu"); //xóa item theo tên

• Kiểu hiển thị item dùng thuộc tính DropDownStyle

Trang 54

ComboBox control

Bổ sung item trong màn hình design view

Trang 57

CheckBox control

• Cho phép chọn nhiều tùy chọn (option)

• Chọn giá trị: Checked = true, ngược lại là không chọn

• Chú thích thông tin của checkbox

checkBox1.Text = “Sunday";

Trang 58

RadioButton control

• Cho phép user chọn một option trong số nhóm option

• Các radio button chứa trong 1 container (form, GroupBox, Panel, TabControl) thuộc một nhóm

• Chọn giá trị: Checked = true

Trang 60

DateTimePicker control

• Cho phép hiển thị và lấy ngày giờ của hệ thống

• Thiết lập giá trị của dateTimePicker là ngày giờ hiện tại của hệ thống

dateTimePicker1 Value = DateTime.Today ;

• Lấy giá trị của dateTimePicker

DateTime Idate;

Idate = dateTimePicker1 Value ;

• Các định dạng hiển thị: Long, Short, Time, hoặc Tùy chọn (Custom)

dateTimePicker1 Format = DateTimePickerFormat.Short ;

Trang 61

ListView control

private void Form1_Load(object sender, EventArgs e) {

//Add items in the listview

string[] arr = new string[4];

string price = null;

string quantity = null;

Trang 62

Lập trình ADO.Net

• Xem demo minh họa

Trang 63

Lập trình kết xuất báo cáo

• Crystal Report

• Microsoft Office Excel

 Xem demo minh họa

Ngày đăng: 30/09/2022, 15:14

HÌNH ẢNH LIÊN QUAN

trong màn hình thiết kế - Phát triển PMHDT ngôn ngữ lập trình c
trong màn hình thiết kế (Trang 48)
màn hình design view - Phát triển PMHDT ngôn ngữ lập trình c
m àn hình design view (Trang 54)
• Dùng để hiển thị các hình dưới định dạng: bitmap, gif, jpg, icon hoặc jpeg. - Phát triển PMHDT ngôn ngữ lập trình c
ng để hiển thị các hình dưới định dạng: bitmap, gif, jpg, icon hoặc jpeg (Trang 59)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w