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