Sự phát triển của công nghệ thông tin chủ yếu dựa trên các phát triển về công nghệ phần cứng và phân mềm . Trong những năm gần đây , các linh kiện máy tính ngày càng mạnh , tốc độ xử lý ngày càng cao , giá thành ngày càng rẽ. Công nghệ phần mềm đáp ứng các phát triển đó một cách tích cực , các trình ứng dụng cung cấp nhiều tính năng mới , đặc biệt là tính tin cậy , tính dễ sử dụng và năng lực xử lý cao .
Sự phát triển phần mềm dựa trên nền tảng ngôn ngữ lập trình . Lập trình hướng đối tượng là một trong những hướng phát triển mới , bao quát các trình ứng dụng thực tiển trên máy tính và trên mạng . Nhiều khái niệm , kỹ thuật và tính năng mới xuất hiện trong ngôn ngữ lập trình hướng đối tượng .
Một trong những ngôn ngữ lập trình hướng đối tượng hiện nay là Visual Basic .NET của Microsoft . Đặc điểm nổi bậc của ngôn ngữ lập trình này là khả năng xây dựng các đối tượng có tính tương thích cao . Đối tượng được xây dựng trong VB.NET có thể được dùng một cách dễ dàng trong mọi ngôn ngữ hướng đối tượng khác và ngược lại . Đối tượng không chỉ được dùng cho trình ứng dụng tại chổ mà còn có thể được dùng trên mạng một cách rộng rãi . Các đối tượng được xây dựng dựa trên các đơn vị mã tiêu chuẩn , được viết sẳn . Các đơn vị mã đó sắp xếp theo module . Với các module bạn có thể lắp ghép và chỉnh sửa để có trình ứng dụng theo các yêu cầu cụ thể . Bạn có thể lắp ráp máy tính cá nhân từ các linh kiện rời và với OOP bạn có thể viết trình ứng dụng từ các module rời .
Với phiên bản của Visual Basic.NET , bạn có thể sử dụng các hàm , thuộc tính và các công cụ khi tạo một ứng dụng , ngay cả khi bạn đã sử dụng Visual Basic 5 hoặc Visual Basic 6 thì phiên bản Visual Basic mới cũng có khá nhiều khác biệt nhỏ . Tuy nhiên , Microsoft đã tăng thêm cho bạn nhiều điều khiển , thêm vào một vài lệnh mới và giới thiệu mô hình thiết kế mới tạo các chương trình ứng dụng trên Web hoặc Windows từ ngay trong môi trường Visual Basic.NET
102 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1149 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Đề tài Xây dựng chương trình thi trắc nghiệm bằng visual basic.net, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
PHAÀN I. TÌM HIEÅU NGOÂN NGÖÕ
CHÖÔNG 1 : TÌM HIEÅU NGOÂN NGÖÕ VISUAL BASIC.NET
TOÅNG QUAN VEÀ VISUAL BASIC.NET :
Giôùi thieäu VISUAL BASIC.NET :
Söï phaùt trieån cuûa coâng ngheä thoâng tin chuû yeáu döïa treân caùc phaùt trieån veà coâng ngheä phaàn cöùng vaø phaân meàm . Trong nhöõng naêm gaàn ñaây , caùc linh kieän maùy tính ngaøy caøng maïnh , toác ñoä xöû lyù ngaøy caøng cao , giaù thaønh ngaøy caøng reõ. Coâng ngheä phaàn meàm ñaùp öùng caùc phaùt trieån ñoù moät caùch tích cöïc , caùc trình öùng duïng cung caáp nhieàu tính naêng môùi , ñaëc bieät laø tính tin caäy , tính deã söû duïng vaø naêng löïc xöû lyù cao .
Söï phaùt trieån phaàn meàm döïa treân neàn taûng ngoân ngöõ laäp trình . Laäp trình höôùng ñoái töôïng laø moät trong nhöõng höôùng phaùt trieån môùi , bao quaùt caùc trình öùng duïng thöïc tieån treân maùy tính vaø treân maïng . Nhieàu khaùi nieäm , kyõ thuaät vaø tính naêng môùi xuaát hieän trong ngoân ngöõ laäp trình höôùng ñoái töôïng .
Moät trong nhöõng ngoân ngöõ laäp trình höôùng ñoái töôïng hieän nay laø Visual Basic .NET cuûa Microsoft . Ñaëc ñieåm noåi baäc cuûa ngoân ngöõ laäp trình naøy laø khaû naêng xaây döïng caùc ñoái töôïng coù tính töông thích cao . Ñoái töôïng ñöôïc xaây döïng trong VB.NET coù theå ñöôïc duøng moät caùch deã daøng trong moïi ngoân ngöõ höôùng ñoái töôïng khaùc vaø ngöôïc laïi . Ñoái töôïng khoâng chæ ñöôïc duøng cho trình öùng duïng taïi choå maø coøn coù theå ñöôïc duøng treân maïng moät caùch roäng raõi . Caùc ñoái töôïng ñöôïc xaây döïng döïa treân caùc ñôn vò maõ tieâu chuaån , ñöôïc vieát saún . Caùc ñôn vò maõ ñoù saép xeáp theo module . Vôùi caùc module baïn coù theå laép gheùp vaø chænh söûa ñeå coù trình öùng duïng theo caùc yeâu caàu cuï theå . Baïn coù theå laép raùp maùy tính caù nhaân töø caùc linh kieän rôøi vaø vôùi OOP baïn coù theå vieát trình öùng duïng töø caùc module rôøi .
Vôùi phieân baûn cuûa Visual Basic.NET , baïn coù theå söû duïng caùc haøm , thuoäc tính vaø caùc coâng cuï khi taïo moät öùng duïng , ngay caû khi baïn ñaõ söû duïng Visual Basic 5 hoaëc Visual Basic 6 thì phieân baûn Visual Basic môùi cuõng coù khaù nhieàu khaùc bieät nhoû . Tuy nhieân , Microsoft ñaõ taêng theâm cho baïn nhieàu ñieàu khieån , theâm vaøo moät vaøi leänh môùi vaø giôùi thieäu moâ hình thieát keá môùi taïo caùc chöông trình öùng duïng treân Web hoaëc Windows töø ngay trong moâi tröôøng Visual Basic.NET
Thay ñoåi lôùn nhaát dieãn ra chuû yeáu trong lónh vöïc truy caäp treân Web vaø khaû naêng chuyeån öùng duïng treân Windows sang Internet . Baïn coù theå laøm ñieàu naøy baèng caùch söû duïng cô caáu .NET. Visual Basic.NET cung caáp cho baïn nhieàu coâng cuï ñeå taïo nhöõng öùng duïng coù theå chaïy ñöôïc treân Web cuøng vôùi xaây döïng nhöõng öùng duïng chuaån cuõ cuûa Windows .
Cöù moãi phieân baûn môùi cuûa Visual Basic ta laïi phaùt hieän ra ñöôïc nhöõng caùch môùi vaø toát hôn cuûa vieäc theå hieän caùc phöông thöùc caên baûn hoaëc theâm nhöõng phöông thöùc môùi vaøo öùng duïng . Visual Basic.NET coù nhieàu thuoäc tính hôn , thaäm chí coù theå phaùt trieån öùng duïng deã daøng hôn . Moät thay ñoåi laø vieäc hoå trôï thieát keá form . Baïn coù theå söû duïng hai loaïi form khaùc nhau : moät form cho öùng duïng caên baûn treân windows vaø moät form cho öùng duïng cô baûn treân web. Thay ñoåi chuû yeáu khaùc cuûa ngoân ngöõ Visual Basic laø khaû naêng taïo ñieàu khieån xöû lyù loãi , söû duïng phöông thöùc môùi ñeå kieåm tra loãi .
Nhöõng neùt môùi trong VISUAL BASIC.NET
Visual Basic.NET laø phieân baûn môùi tieáp cuûa Visual Basic . Microsoft ñaõ thieát keá laïi caùc saûn phaåm nhaèm taïo söï deã daøng hôn tröôùc ñaây trong vieäc vieát caùc öùng duïng phaân taùn , nhö Web . Visual Basic.NET coù hai phaàn hoå trôï cho vieäc taïo form ( Windows forms vaø Web form) vaø moät phieân baûn môùi cuûa ADO veà truy caäp nguoàn döõ lieäu . Hôn nöõa , noùù theå hieän ña ngoân ngöõ laäp trình , loaïi boû nhöõng caùi cuõ , voâ hieäu hoùa caùc töø khoùa khoâng höõu ích cuøng vôùi raát nhieàu nhöõng thay ñoåi khaùc .
Caùc thuoäc tính môùi naøy seõ cho pheùp baïn taïo caû öùng duïng Client/Sever vaø öùng duïng Internet . Vôùi Web Form vaø ADO.NET , baây giôø baïn coù theå nhanh choùng phaùt trieån caùc Web Site . Vôùi vieäc theâm vaøo caùc khaû naêng keá thöøa , ngoân ngöõ Visual Basic giôø ñaây laø moâi tröôøng laäp trình höôùng ñoái töôïng : Caùc giao dieän treân Windows hoã trôï caùc khaû naêng truy caäp vaø keá thöøa raát hieäu quaû . Cuoái cuøng vieäc caøi ñaët vaø thöïc thi khoâng caàn phaûi ñaêng kyù vôùi Registry gì caû .
Visual Basic.NET tích hôïp ñaày ñuû vôùi nhöõng ngoân ngöõ Microsoft Visual Studio .NET . Baïn khoâng chæ coù theå phaùt trieån caùc thaønh phaàn cuûa öùng duïng baèng caùc ngoân ngöõ laäp trình khaùc , caùc lôùp cuûa baïn cuõng coù theå thöøa höôûng töø caùc lôùp ñöôïc vieát baèng caùc ngoân ngöõ khaùc söû duïng tính naêng keá thöøa ña ngoân ngöõ . Vôùi trình baét loãi , baïn coù theå baét loãi nhieàu öùng duïng vôùi caùc ngoân ngöõ khaùc nhau cho chöông trình ñang thi haønh cuïc boä hoaëc töø caùc maùy truy caäp töø xa . Baát cöù ngoân ngöõ naøo baïn söû duïng , cô caáu Microsoft .NET cuõng cung caáp moät taäp hôïp API cho vieäc söû duïng treân Windows vaø caû treân Internet .
Nhöõng thay ñoåi vôùi baûn thaân ngoân ngöõ Visual Basic :
Nhöõng phieân baûn tröôùc ñaây cuûa Visual Basic höôùng ñeán nhöõng öùng duïng Client chuaån , troïng taâm cuûa Visual Basic.NET vôùi vieäc taïo caùc öùng duïng dòch vuï Web cuõng toát nhö caùc öùng duïng Client chuaån treân Windows . Vieäc naøy ñöôïc thöïc hieän bôûi caùc chöông trình quaûn lyù maõ chung cho cô caáu .NET Framework vaø boä dieãn dòch ngoân ngöõ thoâng duïng – Common Language Runtime . Ñöông nhieân , noù yeâu caàu phaûi coù nhöõng thay ñoåi lôùn ñoái vôùi ngoân ngöõ Visual Basic.
Vôùi nhöõng thay ñoåi chính ñoøi hoûi phaûi taïo ra moät boä khung .NET Framework vaø thö vieän Runtime môùi , Microsoft nghó raèng ñaây cuõng chính laø cô hoäi toát ñeå xoùa saïch nhöõng khía caïnh loãi thôøi cuûa ngoân ngöõ Visual Basic . Microsoft coù yù ñònh thay ñoåi ñeå thöïc hieän nhöõng ñieàu sau ñaây :
+ Ñôn giaûn hoùa ngoân ngöõ vaø laøm cho chuùng phuø hôïp hôn .
+ Theâm vaøo nhöõng tính naêng môùi theo yeâu caàu .
+ Taïo ra nhöõng chöông trình nguoàn deã ñoïc vaø deã baûo veä hôn .
+ Phaùt trieån nhöõng tieán trình xöû lyù loãi .
+ Taïo caùc öùng duïng deã baét vaø gôõ loãi .
Giao dieän Windows Forms môùi :
Windows Forms laø moät phaàn cuûa cô caáu .NET Framework vôùi nhieàu kyõ thuaät môùi bao goàm moät cô caáu öùng duïng thöôøng , quaûn lyù moâi tröôøng thöïc thi , baûo maät vaø höôùng ñoái töôïng . Windows Forms cuõng ñöa ra ñaày ñuû nhöõng hoå trôï cho vieäc nhanh choùng vaø deã daøng ñeå keát noái vôùi dòch vuï Web XML , xaây döïng neân nhöõng öùng duïng nhaän bieát döõ lieäu ñöôïc taïo cô baûn treân ADO.NET . Vôùi moâi tröôøng phaùt trieån chia xeû vôùi Visual Studio , caùc nhaø phaùt trieån coù theå taïo ra caùc öùng duïng Windows Forms baèng baát kyø ngoân ngöõ naøo coù hoå trôï neàn .NET .
Baïn coù theå taïo moät öùng duïng Windows Forms nhö caùch baïn ñaõ laøm trong phieân baûn tröôùc cuûa Visual Basic : Ñaët caùc ñieàu khieån ôû moät vò trí treân form thay ñoåi thuoäc tính cho chuùng vaø nhaáp ñuùp vaøo ñieàu khieån ñeå môû Source Editor .
Visual Inheritance :
Visual Inheritance laø moät tính naêng môùi cuûa Windows Forms seõ thuùc ñaåy caùc nhaø phaùt trieån hoaøn thaønh saûn phaåm vaø deã daøng söû duïng laïi caùc chöông trình nguoàn ( source code ) cuõ . Chaúng haïn , baïn coù theå ñònh nghóa moät giao dieän chuaån coù chöùa caùc phaàn töû nhö trình ñôn ( menu ) hay laø thanh coâng cuï (toolbar) Baïn coù theå söû duïng form naøy trong nhöõng öùng duïng khaùc thoâng qua keá thöøa vaø môû roäng noù ñaùp öùng caùc yeâu caàu cuûa nhöõng öùng duïng ñaëc bieät , haõy chuù troïng ñeán giao dieän cho ngöôøi duøng thoâng thöôøng vaø giaûm bôùt coâng söùc laøm vieäc khoâng phaûi taïo laïi caùc form töông töï .
Thieát keá moät form chính xaùc :
Vôùi Windows Forms môùi , nhöõng tính naêng nhö Menu Designer , Anchoring , Docking vaø nhieàu ñieàu khieån khaùc coù theå maïnh hôn vaø hôïp cho caùc nhaø phaùt trieån xaây döïng giao dieän ngöôøi duøng treân Windows hôn . Windows Forms cung caáp cho baïn taäp hôïp caùc kyõ thuaät xaây döïng öùng duïng cô baûn treân Windows . Coù nhöõng ñieàu khieån vaø thuoäc tính môùi toát cho vieäc hoøa hôïp caùc giao dieän ngöôøi duøng ; Windows Forms cuõng cung caáp thuoäc tính baûo maät .
Giao dieän Web ( Web form ) :
Web Form ñöôïc taïo ñeå chæ ñònh söï khaùc bieät giöõa nhöõng kyõ thuaät ñöôïc söû duïng ñeå xaây döïng moät öùng duïng treân Windows vaø chuùng ñöôïc söû duïng ñeå taïo moät öùng duïng treân Web . Vôùi Visual Basic .NET , baïn coù theå nhanh choùng phaùt trieån öùng duïng ñeå chaïy ñöôïc treân Internet baèng nhöõng kyõ thuaät töông töï maø baïn ñaõ ñöôïc hoïc ôû Visual Basic . Ñeå taïo moät öùng duïng treân Web , baïn theâm moät Web Form vaøo döï aùn , keùo thaû caùc ñieàu khieån (control) caàn thieát vaøo trang . Daáu maõ chöông trình taùch bieät khoûi maõ HTML.
Caùc phieân baûn tröôùc ñaây cuûa coâng cuï Visual Studio ñaõ coá gaéng ñôn giaûn hoùa coâng vieäc phaùt trieån treân Web . Ví duï , Visual Basic ñaõ cung caáp hoã trôï cho DHTML Client vaø WebClasses ; Visual InterDev phuïc vuï cho phaùt trieån ASP (Active Server Pages ). Web Form ñöa ra nhöõng giaûi phaùp laøm vieäc höõu duïng hôn ñeå xaây döïng öùng duïng Web vôùi Visual Basic .NET . Web Form moâ taû söï bieán ñoåi cuûa ASP vaø Web Classes , cung caáp caùch toát nhaát cho caû hai moâ hình .
Chuyeån bieán töø Visual Basic 6 :
Teân thì gaàn guõi vôùi Visual Basic 6.0 (VB6.0), nhöng Visual Basic.NET (VB.NET) laïi laø phieân baûn coù nhieàu thieát keá môùi veà kieåu döõ lieäu , phöông thöùc truy caäp döõ lieäu , tính höôùng ñoái töôïng …
Taïi sao laïi phaûi thay ñoåi thieát keá cuûa ngoân ngöõ Visual Basic – moät trong nhöõng ngoân ngöõ ñöôïc söû duïng roäng raõi nhaát hieän nay ? VB 6.0 ñöôïc haøng trieäu thaûo chöông vieân treân khaép theá giôùi söû duïng nhôø cuù phaùp deã hieåu vaø khaû naêng phaùt trieån nhanh . VB 6.0 vaø caùc coâng cuï khaùc cuûa Microsoft tích hôïp trong phieân baûn ñaàu tieân cuûa boä Visual Studio ñaõ ñöôïc thieát keá khoâng tính ñeán Web . Do chaäm chaân trong lónh vöïc coâng ngheä Internet vaø öùng duïng phaân taùn , Microsoft ñaõ phaûi boå sung”chaép vaù” cho boä coâng cuï Visual Studio ñeå hoå trôï moâi tröôøng phaùt trieån môùi . Khaû naêng phaùt trieån öùng duïng Web cuûa caùc coâng cuï Visual Studio raát haïn cheá , phaûi duøng nhieàu kyõ thuaät khaùc nhau ñeå taïo öùng duïng phaân taùn , khoâng toái öu cho moâi tröôøng Web.
VB.NET giaûi quyeát taát caû caùc vaán ñeà treân . Boä coâng cuï naøy ñaõ ñöôïc thieát keá laïi töø ñaàu ñeå hoå trôï phaùt trieån deã daøng öùng duïng Web vaø Client/Server trong moâi tröôøng phaân taùn vaø khoâng keát noái . Khaùc bieät giöõa VB 6.0 vaø VB.NET coù theå phaân thaønh hai nhoùm ( nhö baûng 1 ) :
+ Thay ñoåi veà kyõ thuaät caûi thieän hieäu suaát öùng duïng .
+ Thay ñoåi trong cuù phaùp vaø caùch thöùc laäp trình.
Baûng 1
VB 6.0 > < VB. NET
Tính naêng
VB 6.0
VB.NET
Tính keá thöøa ñaày ñuû
Thöïc hieän phöông phaùp keá thöøa giaû .
Thöïc hieän keá thöøa ñaày ñuû caùc lôùp con rieâng daãn xuaát caùc thuoäc tính vaø phöông thöùc töø lôùp cô baûn ñöôïc vieát baèng ngoân ngöõ .NET C++ hay C#.
Khaû naêng töông taùc
Duøng caùc bieán khaùc vôùi C++ vaø Java , laøm cho caùc öùng duïng vieát baèng VB vaø C++ khoù töông taùc vôùi nhau
Caùc kieåu bieán nhaát quaùn vôùi C++ vaø C# treân neàn CLR.
Taïo öùng duïng
Taïo taäp tin .EXE nhöng leä thuoäc vaøo caùc thö vieän DLL hoã trôï . Vieäc trieån khai khoù khaên vì phaûi phaân phoái khoâng chæ taäp tin .EXE maø caû caùc thö vieän DLL.
Taïo taäp tin .EXE coù theå chaïy khoâng caàn ñeán caùc thö vieän DLL hoã trôï .
Phaân luoàng
Khoâng theå taän duïng heát caùc tính naêng phaân luoàng coù trong .COM
Cho pheùp phaân luoàng linh ñoäng , taêng tính khaû môû cho öùng duïng .
Thay ñoåi veà kyõ thuaät :
Thay ñoåi kyõ thuaät trong VB.NET laø yeáu toá daãn ñeán thay ñoåi cuù phaùp vaø caùch thöùc laäp trình ; xuaát phaùt töø muïc tieâu kyõ thuaät maø Microsoft höôùng ñeán trong phieân baûn cuûa VB . Ñeå VB thoáng nhaát veà maët kyõ thuaät vôùi C++ vaø C# , Microsoft ñaõ phaùt trieån CLR (Common Language Runtime) thaønh neàn taûng chung . VB khoâng coøn laø coâng cuï sinh maõ giaû nöõa , CLR laøm cho noù trôû thaønh ngoân ngöõ höôùng ñoái töôïng thöïc söï vaø ñaët noù ngang caáp vôùi C++ vaø C# . Veà maët kyõ thuaät , moät öùng duïng ñöôïc taïo bôûi VB.NET khoâng coù gì khaùc bieät so vôùi öùng duïng taïo baèng C++ vaø C#.
Thay ñoåi veà cuù phaùp :
Tuy nhöõng thay ñoåi veà maët kyõ thuaät trong VB.NET cöïc kyø quan troïng ( vaø raát ñöôïc hoan ngheânh ) nhöng laïi khoâng deã nhaän bieát nhö nhöõng thay ñoåi trong cuù phaùp vaø caùch thöùc laäp trình . Chuùng aûnh höôûng nhieàu ñeán khaû naêng chuyeån ñoåi öùng duïng VB 6.0 sang VB.NET . Trong boä coâng cuï Studio.NET , Microsoft coù cung caáp tieän ích Upgrade Winzard ñeå chuyeån ñoåi öùng duïng VB 6.0 sang VB.NET.
Thay ñoåi veà kieåu döõ lieäu :
VB.NET ñaõ noùi lôøi chia tay vôùi kieåu döõ lieäu Variant , Short vaø Long . VB.NET keát hôïp kieåu döõ lieäu Object vaø Variant thaønh kieåu döõ lieäu Object duy nhaát . Variant laø kieåu döõ lieäu maëc ñònh cuûa VB 6.0 ñöôïc gaùn cho taát caû caùc bieán khoâng ñöôïc khai baùo kieåu döõ lieäu . Kieåu Variant coøn ñöôïc gaùn cho caùc bieán ngoaøi bieán ñaàu tieân treân cuøng moät doøng khai baùo . Khai baùo bieán ipCount laø Integer vaø ipNumber laø Variant . Khai baùo döõ lieäu Integer giôø ñaây laø Short (16 bit) vaø kieåu döõ lieäu Long laø Integer (32 bit) . Kieåu Long giôø ñaây laø soá 64 bit . Tieän ích Upgrade Winzard thöïc hieän raát toát vieäc thay caùc döõ lieäu naøy .
Cuù phaùp cuõ bò loaïi boû :
Ñeå ñaûm baûo tính töông thích ngöôïc , caùc phieân baûn VB tröôùc ñaây coù chöùa cuù phaùp cuõ theå hieän caùc kyõ thuaät laäp trình xa xöa . Caùc töø khoùa trong baûng 2 ñaõ bò loaïi boû khoûi VB.NET.
Def ( DefInt , DefBool , DefByte , … )
GoTo
GoSub
Option Base 0 | 1
VarPtr , ObjPtr , StrPtr
Lset
Baûng 2 : Caùc töø khoùa VB 6.0 khoâng coøn ñöôïc hoã trôï trong VB.NET.
Chuyeån bieán töø Visual Basic 6 :
Visual Basic .NET laø neàn taûng cô baûn , töø vieäc phaùt trieån öùng duïng Windows ñeán vieäc xaây döïng öùng treân Web . Vì lyù do naøy , chöông trình cuûa baïn caàn ñöôïc naâng caáp ñeå khai thaùc heát nhöõng thuaän lôïi cuûa Visual Basic .NET . Microsoft cung caáp coâng cuï Upgrade Winzard ( naâng caáp theo söï höôùng daãn töøng böôùc ) ñeå giuùp baïn thi haønh taùc vuï naøy . Khi baïn môû moät döï aùn cuûa Visual Basic 6 trong Visual Basic .NET , Upgrade Wizard seõ chaïy töï ñoäng vaø taïo ra moät döï aùn môùi cuûa Visual Basic .NET ñöôïc laáy töø döï aùn ñang coù cuûa baïn . Khi döï aùn cuûa baïn ñaõ naâng caáp , ngoân ngöõ ñöôïc chænh söûa laïi vì nhöõng thay ñoåi cuù phaùp vaø caùc form Visual Basic 6 ñöôïc chuyeån thaønh Windows Forms . Trong haàu heát caùc tröôøng hôïp baïn seõ phaûi töï laøm moät soá thay ñoåi trong maõ cuûa baïn moãi khi naâng caáp vì caùc ñoái töôïng vaø caùc thuoäc tính ngoân ngöõ hoaëc khoâng coù söï töông ñöông trong Visual Basic .NET . Sau khi naâng caáp , coù theå baïn cuõng muoán hieäu chænh öùng duïng cuûa mình ñeå khai thaùc caùc maët thuaän lôïi cuûa moät soá tính naêng môùi hôn trong Visual Basic .NET . Upgrade Wizard baét ñaàu khi baïn môû moät öùng duïng VB 6 . Noù seõ hoûi baïn veà kieåu cuûa döï aùn vaø taäp hôïp caùc choïn löïa cho öùng duïng .
Böôùc tieáp theo laø chæ ra nôi baïn muoán löu tröõ döï aùn .NET môùi . Neân nhôù raèng döï aùn nguyeân baûn cuûa baïn seõ khoâng ñöôïc hieäu chænh . Moãi laàn hoaøn thaønh , döï aùn môùi seõ ñöôïc môû laïi trong cöûa soå Solution Explorer . Baïn coù theå cho hieån thò Upgrade Report ñeå xem nhöõng gì höõu duïng maø baïn caàn trong quaù trình naâng caáp döï aùn .
Laøm vieäc vôùi caùc boä xöû lyù loãi :
Khoâng coù gì toát ñeïp maõi maõi , chöông trình cuûa baïn seõ ñeán luùc phaùt sinh loãi chaúng haïn chöông trình bò treo , oã ñóa seõ ngöng hoaït ñoäng caùc taäp tin seõ bò xoùa … Nhöõng vaán ñeà nhö theá chính laø loãi khi chaïy chöông trình . Loãi trong luùc chaïy chöông trình ñöôïc chia laøm hai loaïi : moät laø nhöõng loãi ñöôïc nhaän daïng vaø söûa ngay tröôùc khi öùng duïng ñöôïc ñöa ñeán ngöôøi söû duïng vaø moät laø nhöõng loãi phaûi ñöôïc xöû lyù trong khi chöông trình ñang chaïy .
Tìm hieåu caùc kieåu loãi :
Toång quan veà loãi :
Loãi laø caùc vaán ñeà veà laäp trình xaûy ra trong khi thieát keá , taïo vaø kieåm tra qua töøng giai ñoaïn phaùt trieån öùng duïng . Coù boán kieåu loãi khaùc nhau :
Loãi cuù phaùp :
Loãi cuù phaùp ñöôïc giaûi quyeát trong trình soaïn thaûo (Code Editor) . Neáu ñoaïn maõ cuûa baïn coù moät doøng khoâng ñuùng , Code Editor seõ baùo cho baïn tröôùc khi baïn tieáp tuïc vaø sau ñoù thaäm chí seõ hieån thò cuù phaùp cuûa caâu leänh maø baïn ñang söû duïng vôùi caùc thuoäc tính , phöông thöùc hoaëc söï kieän giuùp baïn coù theå söû duïng treân doøng ñoù . Ñieàu naøy cho pheùp baïn taäp trung nhieàu vaøo tính logic cuûa öùng duïng hôn laø baïn phaûi töï nhôù vaø ñaùnh vaøo leänh . Tuy nhieân , khi baïn ñaõ söûa xong moät loãi cuù phaùp , thì noù seõ khoâng xuaát hieän nöõa .
Loãi bieân dòch :
Loãi naøy seõ xuaát hieän khi ñoaïn maõ cuûa baïn khoâng hôïp vôùi caáu truùc leänh chuaån cuûa VB. Hôn nöõa , loãi bieân dòch ñöôïc hieån thò khi baïn bieân dòch öùng duïng , cho pheùp baïn söûa chöõa vaø sau ñoù boû qua .
Loãi logic
Laø loãi khoù tìm nhaát trong öùng duïng vì khi öùng duïng thöïc thi seõ khoâng baùo loãi gì caû . Tuy nhieân , öùng duïng coù theå seõ khoâng xöû lyù vaø cho keát quaû nhö mong muoán .
Loãi khi chaïy chöông trình :
Thöôøng xuaát hieän rôi vaøo moät trong nhöõng vaán ñeà sau :
+ Loãi taäp tin : Loãi taäp tin thöôøng xaûy ra vì thoâng soá taäp tin khoâng thích hôïp khi ñöôïc xöû lyù bôûi öùng duïng . Thoâng thöôøng ngöôøi söû duïng coù theå söûa nhöõng loãi naøy vaø öùng duïng coù theå tieáp tuïc töø khi loãi ñöôïc söûa. Döôùi ñaây laø baûng maõ loãi veà taäp tin .
Maõ loãi Thoâng baùo loãi
52 Bad filename or number
53 File not found
54 Bad fiel mode
55 File already open
58 File already exists
59 Bad record length
61 Disk full
62 Input pas end of file
63 Bad record number
64 Bad filename
67 Too many files
74 Can’t rename with different drive
75 Path/File access error
Path not found
+ Loãi vaät lyù : Nhoùm loãi thoâng thöôøng naøy ñöôïc gaây ra bôûi moâi tröôøng vaät lyù hoaëc phaàn cöùng cuûa maùy tính . Ngöôøi duøng coù theå hoaëc khoâng theå söûa nhöõng loãi naøy moät caùch nhanh choùng .
+ Loãi ñoaïn maõ : Ngöôøi söû duïng khoâng theå söûa loãi cuûa ñoaïn maõ . Caùch toát nhaát ñeå giaûi quyeát nhöõng loãi naøy laø taïo moät thoâng baùo cho ngöôøi duøng vaø thoaùt khoûi chöông trình . Sau khi baïn coù thoâng tin naøy baïn phaûi tìm ra vaán ñeà trong ñoaïn maõ öùng duïng , söûa noù , bieân dòch laïi vaø sau ñoù thöïc thi laïi öùng duïng .
+ Loãi CSDL : Loãi naøy xaûy ra khi quan heä ñeán döõ lieäu , bao goàm nhöõng loãi coù quan heä ñeán kieåu döõ lieäu hoaëc kích thöôùc file : söï haïn cheá truy caäp baûng döõ lieäu, nhaân baûn hoaëc khoâng cho pheùp söûa döõ lieäu ñöôïc theâm vaøo CSDL . Nhöõng loãi lieân quan ñeán SQL hoaëc moät maåu tin traéng maø ñuùng ra laø khoâng ñöôïc roãng .
Tieán trình xöû lyù loãi :
Khi baïn baét ñaàu nghó veà vieäc taïo moät chöông trình xöû lyù loãi cho öùng duïng cuûa mình , haõy hieåu raèng caùc ñieàu khieån loãi trong VB khoâng deã hieåu nhö trong phieân baûn cuõ , ñöôïc vieát bôûi nhieàu ngoân ngöõ nhö COBOL , BASIC . Ñieàu ñoù ñuùng so vôùi moät soá nguyeân nhaân sau :
+ Visual Basic laø moâ hình höôùng söï kieän , nghóa laø moãi söï kieän xaûy ra seõ trieäu goïi moät taùc vuï thöïc thi naøo ñoù .
+ Visual Basic söû duïng ngaên xeáp ñeå theo doõi chöông trình ñang ñöôïc xöû lyù vaø ñeå taùch nhöõng bieán cuïc boä trong chöông trình . Khi öùng duïng cuûa baïn coù moät chöông trình con , noù coù theå laøm maát giaù trò cuûa bieán cuïc boä . Ñieàu naøy seõ laøm cho quaù trình thöïc thi raát khoù tieáp tuïc laïi sau khi loãi ñöôïc giaûi quyeát xong.
+ Taát caû caùc loãi ñeàu laø cuïc boä . Neáu moät loãi phaùt sinh , noù neân ñöôïc xöû lyù trong chöông trình con nôi maø loãi xaûy ra , nghóa laø baïn phaûi vieát moät ñieàu khieån loãi cho chöông trình xöû lyù maø baïn caàn theâm vaøo öùng duïng cuûa mình .
Quaù trình xöû lyù loãi khoâng caáu truùc :
Quaù trình xöû lyù loãi khoâng coù caáu truùc laø caùch goïi môùi cuûa tieán trình cuõ . Phöông phaùp cuõ cuûa vieäc kieåm tra loãi trong VB laø söû duïng caâu leänh On Error and Resume . Caâu leänh On Error baät cheá ñoä kieåm tra loãi cho moät procedure hoaëc moät module vaø sau ñoù chuyeån söï thöïc thi cuûa chöông trình ñeán ñoaïn loãi ñöôïc xaùc ñònh trong caâu leänh On Error . Ñoaïn loãi sau ñoù kieåm tra xem loãi gì xaûy ra ñeå xöû lyù cho phuø hôïp .
Caâu leänh On Error :
Vôùi caâu leänh On Error baïn coù theå kích hoaït vaø voâ hieäu hoùa caùc baãy loãi trong öùng duïng , chæ ñònh vò trí cuûa chöông trình xöû lyù loãi ñeå thöïc thi cho moät chöông trình hoaëc moät form ñaõ cho. Caâu leänh On Error bao goàm 3 phaân loaïi khaùc nhau :
+ On Error Goto (Label) kích hoaït chöông trình xöû lyù loãi taïi vò trí moät nhaõn (label) chæ ñònh trong caâu leänh . Neáu moät loãi xuaát hieän trong khi chöông trình xöû lyù loãi ñöôïc kích hoaït , ñieàu khieån seõ nhaûy ñeán doøng ñaàu tieân cuûa ñoaïn maõ trong chöông trình xöû lyù loãi . Ñaây laø caùch chung nhaát khi söû duïng caâu leänh On Error.
+ On Error Resume Next gôûi ñieàu khieån ñeán caâu leänh ngay choå xaûy ra loãi . Vôùi phöông phaùp naøy baïn coù theå baãy moät loãi vaø öùng duïng coù theå boû qua noù moät caùch ñôn giaûn .
+ On Error Goto 0 laøm maát hieäu löïc chöông trình ñieàu khieån loãi trong thuû tuïc procedure hieän haønh . Baïn coù theå söû duïng caâu leänh naøy ñeå taïm thôøi laøm cho chöông trình xöû lyù loãi trong procedure khoâng hoaït ñoäng . Sau ñoù baïn caàn phaûi thöïc thi baûn ñaàu tieân hoaëc thöù hai cuûa caâu leänh ñeå kích hoaït laïi chöông trình xöû lyù loãi . Khi baïn theâm moät chöông trình xöû lyù loãi vaøo moät procedure xöû lyù söï kieän hoaëc vaøo chöông trình con hoaëc function maø baïn taïo ra , noù neân ñöôïc ñaët vaøo cuoái cuûa chöông trình . Baïn cuõng caàn ñaët moät caâu leänh Exit Sub ñeå thoaùt khoûi chöông trình neáu ñieàu khieån thöïc thi ñeán doøng cuoái cuûa chöông trình .
Caâu leänh Resume :
Neáu coù moät loãi ñöôïc baãy baèng moät chöông trình xöû lyù loãi vaø ñieàu khieån ñöôïc gôûi ñeán chöông trình xöû lyù loãi , caùch duy nhaát ñeå laøm maát hoaït ñoäng vaø quay laïi töø chöông trình laø thöïc thi moät trong ba daïng caâu leänh Resume :
+ Resume (Label): xaùc ñònh vò trí nhaõn (label) nôi baïn muoán ñieàu khieån cuûa öùng duïng quay trôû laïi .
+ Resume Next: thöïc thi tieáp tuïc caâu leänh ngay sau caâu leänh xaûy ra loãi .
+ Resume(0): thöïc thi laïi caâu leänh coù loãi .
Neáu chöông trình xöû lyù loãi giaûi quyeát nguyeân nhaân loãi xaûy ra , baïn coù theå söû duïng Resume(0) ñeå xöû lyù laïi caùc thao taùc .
Caùc ñoái töôïng xöû lyù loãi ERR ñöôïc caøi ñaët saún :
Ñoái töôïng Err coù theå ñöôïc truy caäp baát kyø ôû ñaâu trong öùng duïng VB . Phöông thöùc vaø thuoäc tính cuûa ñoái töôïng Err :
Kieåu Dieãn giaûi
Number Maõ soá loãi.
Source Teân cuûa file Visual Basic ñang xaûy ra loãi .
Description Dieãn giaûi maõ soá loãi ñöôïc tìm thaáy trong thuoäc tính Number.
HelpFile Ñöôøng daãn vaø teân file ñaày ñuû cuûa file höôùng daãn hoã trôï thoâng baùo loãi .
HelpContext Chæ soá help trong file höôùng daãn Help.
LastDLLError Ñoaïn maõ loãi cuûa lôøi goïi thöïc thi cuoái cuøng ñeán DLL.
Clear Xoùa taát caû caùc thieát laäp thuoäc tính cuûa ñoái töôïng Err.
Ñoái töôïng Error vaø nhöõng taäp hôïp loãi lieân quan coù saún chæ khi öùng duïng ñang söû duïng moät trong nhöõng thö vieän DAO . Caùc ñoái töôïng Error laø lôùp con cuûa ñoái töôïng Connection ñöôïc söû duïng ñeå duy trì caùc thoâng tin veà loãi CSDL coù theå xaûy ra trong öùng duïng . Thuaän lôïi cuûa ñoái töôïng Error bao goàm caû ñoái töôïng Err laø noù chöùa nhieàu thuoäc tính coù quan heä tröïc tieáp vôùi CSDL , ñeå noù coù theå keát noái khi caàn . Ñoái töôïng Err chæ traû veà loãi xaûy ra cuoái cuøng .
Giôùi thieäu veà ñieàu khieån xöû lyù ngoaïi leä ( Exception) coù caáu truùc :
Ñieàu khieån ngoaïi leä (exception) coù caáu truùc cho pheùp baïn ñònh nghóa caùc khoái maõ ñöôïc taïo ôû daïng baûo veä . Moät ñoaïn maõ ôû daïng baûo veä laø moät phaàn hoaëc moät khoái ñang ñöôïc kieåm tra bôûi moät hoaëc nhieàu chöông trình ñieàu khieån loãi keát hôïp vôùi nhau . Moãi boä ñieàu khieån loãi xaùc ñònh nhöõng daïng ñieàu khieån