Toàn tập giáo trình Microsoft .NET (C#)
Lập trình .NET (C#)
Cấu trúc lập trình C# căn bản
Tiếp cận C#
Hiện thực khái niệm hướng đối tượng trong C#
Cơ sở dữ liệu
Lập trình dành cho công việc
Tóm tắt nội dung Toàn tập giáo trình Microsoft .NET (C#), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
HQW
Regular Expressions
Regular Expression là mӛWFKXәLQKӱQJNêWӳGQJÿӅELӅXGLӇQWKD\WKӁFKRPӛW
chuәL QjR ÿy 5HJXODU ([SUHVVLRQ Oj PӛW Nӹ WKXүW NKy Vӯ GӧQJ SKѬѪQJ SKiS VR
sánh. BҥQJVDXWKӅKLӉQQKӱQJELӅXWKӫFWKѬӟQJVӯGӧQJQKҧW
Mô tҥNLӅP
tra
Công thӫF
Mô tҥ
Ví dӧ
MӛW WүS
hӥSNêWӳ
[ ]
ĈѬӥF Vӯ GӧQJ ÿӅ VR
sánh bҧWNǤPӛWNêWӳ
nҳPWURQJ>@&yWKӅ
ÿѬӥF Vӯ GӧQJ ÿӅ [iF
ÿӍQK PӛW FKXәL Nê Wӳ
bұW ÿҩX Yà kӁW WK~F
bҳQJviӉFVӯGӧQJGҧX
gңFKQJDQJQKѬ>D-z]
“P[0-5]”
KiӅPWUDPã sҥQSKҫPEұWÿҩXYӝL
ký tӳ3Yà theo sau bӡLQKӱQJVӓ
trong khoҥQJÿӁQ
\w
ĈѬӥF Vӯ GӧQJ ÿӅ VR
sánh tӭ Vӓ Nê Wӳ
gңFKGѬӝL
“\w{8,20}”
kiӅPWUDPүWNKҫXYӝLÿӛGài nhӑ
nhҧWOà 8 ký tӳYà lӝQQKҧWOà 20
ký tӳ
PROFESSIONAL PROGRAMMING FOR REAL LIFE
PhɞP7XɢQ$QK - C͕QJ&1779LʄW1DP 118
Mô tҥNLӅP
tra
Công thӫF
Mô tҥ
Ví dӧ
KhoҥQJ
{n}
ĈѬӥF Vӯ GӧQJ ÿӅ VR
sánh mӛW ELӅX WKӫF
lүSOңLQOҩQ
“P[0-9] {4}”
kiӅPWUDPӛWPã sҥQSKҫPEұWÿҩX
bҳQJNêWӳ3Yà theo sau bӡLVӓ
nҳPWURQJNKRҥQJÿӁQ
Ký tӳ EҧW
ký
.
ĈѬӥF Vӯ GӧQJ ÿӅ NLӅP
tra mӛWNêWӳEҧWNǤ
ngoңLWUӭNêWӳ[XӓQJ
dòng.
“2.12.2008”
kiӅP WUD ÿӍQK GңQJ Gӱ OLӉX Fy
dңQJ-12-2008, 2 12
2008 và cҥ
MӛW Nê Wӳ
không phҥL
ký tӳ
khoҥQJ
trұQJ
\S
ĈѬӥFGQJÿӅNLӅPWUD
mӛW Nê Wӳ EҧW NǤ
ngoңL WUӭ NKRҥQJ
trұQJWDEVYà ký tӳ
xuӓng dòng.
“http://\S\S\S\S\S\S.\S\S\S.\S\S”
kiӅPWUDÿӍDFKӋZHEFyÿѬӥFQKүS
ÿ~QJQKѬKWWSLWJDWHYQFRPYQ
MӛW KRҹF
nhiӃX Nê
tӳ
+
Sӯ GӧQJ ÿӅ NLӅP WUD
có ít nhҧW PӛW Vӳ
xuҧW KLӉQ WURQJ ELӅX
thӫFWUѬӝFQy
“\S+@\S+\. S+”
KiӅP WUD PӛW ÿӍD FKӋ PDLO QKѬ
pta30000@gmail.com
BҧWNêPӛW
ký tӳÿѪQ
?
ĈѬӥF Vӯ GӧQJ ÿӅ NLӅP
tra bҧWNǤPӛWNêWӳ
ÿѪQQjRWUѬӝFQy
“programs? “
[iF ÿӍQK Nê Wӳ V WURQJ FKӱ
programs có thӅFyKRҹFNK{QJFy
MӛW Nê Wӳ
trұQJ EҧW
kǤ
\s
ÿѬӥF Vӯ GӧQJ ÿӅ NLӅP
tra mӛWNêWӳEҧWNǤ
bao gӕP NKRҥQJ
trұQJWDEVYà ký tӳ
xuӓQJGòng.
“\smore”
kiӅP WUD NKRҥQJ WUұQJ WUѬӝF PӛW
tӭ
MӛWVӓEҧW
kǤ
\d
ĈѬӥF Vӯ GӧQJ ÿӅ NLӅP
tra mӛW Vӓ WURQJ
khoҥQJÿӁQ
“\d{5}
KiӅPWUDPӛWVӓFyQăPFKӱVӓQKѬ
11101
Ký tӳ
Escape
\
ĈѬӥF Vӯ GӧQJ ÿӅ NLӅP
tra mӛW Nê Wӳ WKHR
sau dҧX JңFK FKpR
QJѬӥF
“\~”
kiӅPWUDQJѬӟLGQJÿã nhүSNêWӳ
aYjRFKѬD
Không có
hoҹF Fy
nhiӃXFKӱ
*
ĈѬӥF Vӯ GӧQJ ÿӅ NLӅP
tra không có hoҹF Fy
nhiӃX Nê Wӳ WURQJ
biӅXWKӫF
“P*\d{3}”
kiӅ WUD ÿҩX Yào cөD PӛW Pã sҥQ
phҫP EұW ÿҩX EҳQJ ký tӳ 3 QKѬ
P333,P777
Regular Expression giúp kiӅPWUDGӱOLӉXGRQJѬӟLGùng nhүSYào tӭӫQJGӧQJÿӅ
tránh nhӱQJOәL[XҧWSKiWWӭYLӉFQKүSGӱOLӉXFөDFKѬѪQJWUình.
PROFESSIONAL PROGRAMMING FOR REAL LIFE
PhɞP7XɢQ$QK - C͕QJ&1779LʄW1DP 119
MӛWVӓӫQJGӧQJFөD5HJXODU([SUHVVLRQV
Hàm ki͌m tra tính hͬp l͐ cͰa email.
public static bool IsValidEmail(string email)
{
return System.Text.RegularExpressions.Regex.IsMatch(email,
@"^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$");
}
Hàm ki͌PWUD[HPÿ˳ͦng d̴Qÿ͔a ch͒ web có hͬp l͐ hay không
public static bool IsValidURL(string url)
{
return System.Text.RegularExpressions.Regex.IsMatch(url,
@"^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-
Z0-9\-\._\?\,\'/\\\+&%\$#\=~])*[^\.\,\)\(\s]$");
}
HjPVDXGQJÿ͌ ki͌m tra m͢t chu͠i có d̪ng là s͚ interger hay không.
public static bool IsValidInt(string val)
{
return System.Text.RegularExpressions.Regex.IsMatch(val, @"^[1-
9]\d*\.?[0]*$");
}
MӛWVӓEjLÿӏFNKiF
ĈӍQKGңQJKLӅQWKӍFKRNLӅXGӱOLӉX'RXEOH)ORDWWURQJ&
Nhӱng ví dӧVDXFKӋFKREңQFiFKWKӫFÿӍQKGңQJQKӱQJVӓNLӅXIORDGVDQJNLӅXNê
tӳWURQJ&6EҳQJFiFKVӯGӧQJKàm static cөDOӝS6WULQJOà String.Format.
SӓVDXGҧXFKҧP
Ví dӧÿӍQKGңQJQày chuyӅQÿӗLPӛWVӓGRXEOHVDQJVWULQJYӝLNӁWWK~Oà 2 chӱVӓ
thүSSKkQÿҳQJVDX ĈӍQKGңQJ sӯGӧQJOà: „0.00".
String.Format("{0:0.00}", 123.4567); // "123.46"
String.Format("{0:0.00}", 123.4); // "123.40"
String.Format("{0:0.00}", 123.0); // "123.00"
Ví dӧWLӁSWKHRFKRSKpSEңQU~WJӏQQKӱQJVӓWKүSSKkQWKӭDÿҳQJ sau dҧXFKҧP
sӯGӧQJÿӍQKGңQJ „0.##".
String.Format("{0:0.##}", 123.4567); // "123.46"
String.Format("{0:0.##}", 123.4); // "123.4"
String.Format("{0:0.##}", 123.0); // "123"
SӓWUѬӝFGҧXFKҧPWKүSSKkQ
SӯGӧQJÿӍQKGңQJÄFK~QJ ta sҿ ÿѬӥFNӁWTXҥOà sӓWUѬӝFGҧXFKҧPO~FQào
cNJQJOӝQKѪQKRҹFEăQJYà sau nó là mӛWFKӱVӓ
PROFESSIONAL PROGRAMMING FOR REAL LIFE
PhɞP7XɢQ$QK - C͕QJ&1779LʄW1DP 120
String.Format("{0:00.0}", 123.4567); // "123.5"
String.Format("{0:00.0}", 23.4567); // "23.5"
String.Format("{0:00.0}", 3.4567); // "03.5"
String.Format("{0:00.0}", -3.4567); // "-03.5"
Cách phҩQQJàn
SӯGӧQJÿӍQKGңQJPҭXÄ
String.Format("{0:0,0.0}", 12345.67); // "12,345.7"
String.Format("{0:0,0}", 12345.67); // "12,346"
Sӓ
String.Format("{0:0.0}", 0.0); // "0.0"
String.Format("{0:0.#}", 0.0); // "0"
String.Format("{0:#.0}", 0.0); // ".0"
String.Format("{0:#.#}", 0.0); // ""
9jVDXÿk\OjPӛWVӓYtGӧYXL
String.Format("{0:my number is 0.0}", 12.3); // "my number is 12.3"
String.Format("{0:0aaa.bbb0}", 12.3); // "12aaa.bbb3"
GӡL(PDLO tӭPӛWWUDQJ$631(7
GӡLHPDLOOà mӛW\êu cҩXFҩQSKҥLWKӳFKLӉQÿӓLYӝLPӛWӫQJGӧQJZHEFKҵQJKңQ
QKѬQJѬӟLVӯGӧQJÿăQJNêWKành viên cөDWUDQJZHEFөDEңQEңQVҿJӡLPӛWHPDLO
ÿӅ[iFQKүQYLӉFÿăQJNêQày. ASP.NET cung cҧSFKREңQWKѬYLӉQÿӅOàm viӉFYӝL
email thông qua namespace System.Web.Mail.
ĈRңQPã lӉQKVDXÿk\FKRSKpSJӡLPӛW+70/(PDLO
MailMessage msg = new MailMessage();
StringWriter strwriter = new StringWriter();
HtmlTextWriter htmltxtwriter = new HtmlTextWriter(strwriter);
htmltxtwriter.RenderBeginTag("html");
htmltxtwriter.RenderBeginTag("head");
htmltxtwriter.RenderBeginTag("title");
htmltxtwriter.Write("Thank You!");
htmltxtwriter.RenderEndTag();
htmltxtwriter.RenderEndTag();
htmltxtwriter.RenderBeginTag("body");
htmltxtwriter.Write("Thank you for registering with Itgatevn.com.vn");
htmltxtwriter.RenderEndTag();
htmltxtwriter.RenderEndTag();
msg.From = "ITGATEVN.COM.VN";
msg.To = this.TextBox1.Text.Trim();
msg.Bcc = "pta30000@gmail.com";
msg.Subject = "Thanks for registering";
msg.Body = strwriter.ToString();
msg.BodyFormat = MailFormat.Html;
SmtpMail.Send(msg);
PROFESSIONAL PROGRAMMING FOR REAL LIFE
PhɞP7XɢQ$QK - C͕QJ&1779LʄW1DP 121
Upload file hình ҥQKYjRFѪVӡGӱOLӉX64/
ASP.NET cung cҧSPӛWFiFKWKӫFÿѪQJLҥQÿӅFүSQKүWKình ҥQKYjRFѪVӡGӱOLӉX
SQL Server. Hình ҥQKFyWKӅÿѬӥFOѬXWUӱWURQJPӛWFѪVӡGӱOLӉXYӝLWKXӛFWtQK
cөDEҥQJOà kiӅXLPDJH
BңQFyWKӅVӯGӧQJFkXOӉQK64/VDXÿӅWңR mӛWEҥQJFKRSKpSOѬXWUӱKình ҥQK
CREATE TABLE [dbo].[_image](
[Img _id] [int] identity(1,1) CONSTRAINT [pk_image] PRIMARY KEY NOT
NULL,
[Img _name] [varchar] (30) not NULL,
[Img _file] [IMAGE] NULL,
[Img _type] [varchar] (30) NULL
)
ON [PRIMARY] Textimage_on [PRIMARY]
7URQJÿy
,PJBLGOѬXWUӱLGFөDKình và là khóa chính cөDEҥQJ
,PJBQDPHOѬXWUӱWên cөDKình ҥQK
,PJBILOHOѬXWUӱKình ҥQK
,PJBW\SHOѬXWUӱNLӅXQӛLGXQJFөDKình ҥQK
Bây giӟFK~QJWDWLӁQKành thӳFKLӉQFiFEѬӝFÿӅXSORDG hình vào cѪVӡGӱOLӉX
1. TңRPӛW:HEIRUPÿӅXSORDGILOHKình
2. Upload hình vào cѪVӡGӱOLӉX
TңR:HEIRUPÿӅWҥLILOHKình ҥQK
BңQWңRIRUPXSORDGKình nhѬVDX
<table id="table1" border="0" cellpadding="0" style="border-collapse:
collapse"
width="100%">
Image Name
<asp:TextBox ID="txtname"
runat="server">
File to Upload
PROFESSIONAL PROGRAMMING FOR REAL LIFE
PhɞP7XɢQ$QK - C͕QJ&1779LʄW1DP 122
<asp:Button ID="btupload" runat="server" Text="Upload"
OnClick="btupload_Click" />
TҥLILOHKình vào cѪVӡGӱOLӉX
.KLQJѬӟLGùng nhҧQYào nút Upload, sӳNLӉQbtupload_Click ÿѬӥFJӏL%ңQFyWKӅ
FRS\ÿRңQPã lӉQKVDXYào sӳNLӉQbtupload_Click
protected void btupload_Click(object sender, EventArgs e)
{
// tңRÿӓLWѬӥQJ6WUHDP
System.IO.Stream img_strm = fileimage.PostedFile.InputStream;
// nhүQNtFKWKѬӝFFөDKình
int img_len = fileimage.PostedFile.ContentLength;
// nhүQNLӅXKình
string strType = fileimage.PostedFile.ContentType;
string strName = txtname.Text;
// tңRPҥQJNLӅXE\WHFөDILOHÿã ÿѬӥFXSORDG
byte[] imgData = new byte[img_len];
int n = img_strm.Read(imgData, 0, img_len);
int result = SaveToDB(strName, imgData, strType);
}
// Hàm SaveToDB()
int SaveToDB(string imgName, byte[] imgbin, string imgcontenttype)
{
OleDbConnection con = new
OleDbConnection("Provider=SQLOLEDB;server=(local);database=_NET;uid=_net;pwd=");
OleDbCommand cmd = new OleDbCommand("INSERT INTO _image values(?,?,?)",
con);
OleDbParameter param0 = new
OleDbParameter("@imgName",OleDbType.VarWChar, 30);
param0.Value = imgName;
cmd.Parameters.Add(param0);
OleDbParameter param1 = new OleDbParameter("@imgName",
OleDbType.Binary);
param1.Value = imgbin;
cmd.Parameters.Add(param1);
OleDbParameter param2 = new OleDbParameter("@imgType",
OleDbType.VarWChar, 30);
PROFESSIONAL PROGRAMMING FOR REAL LIFE
PhɞP7XɢQ$QK - C͕QJ&1779LʄW1DP 123
param2.Value = imgcontenttype;
cmd.Parameters.Add(param2);
con.Open();
int numofwsAffected = cmd.ExecuteNonQuery();
con.Close();
return numofwsAffected;
}
Và bây giӟ, file hình ÿã ÿѬӥFOѬXWUӱWURQJFѪVӡGӱOLӉXFөDEңQ
THAM KHҤ2
Các bңQFyWKӅWKDPNKҥRWKêm kiӁQWKӫFWңLPӛWVӓÿӍDFKӋVDXÿk\
- 7KѬYLӉQEài viӁWF{QJQJKӉ ITGATEVN -
- 7KѬYLӉQ06'1
File đính kèm:
Toàn tập giáo trình Microsoft .NET (C#).pdf

