Ghi các File Text

Một phần của tài liệu Ebook kỹ thuật và thủ thuật lập trình visual basic 2010 2011 tập 2 phần 1 xuân thịnh, nam thuận (Trang 62 - 64)

D i» fta ndAr rệ jt(ộ r© Aí lcoj?

Ghi các File Text

Để tạ o v à ghi sa n g m ột file te x t mới tr ê n dĩa b ằ n g việc sử dụng Visual Basic, b ạ n có th ể sử dụng nhiểu phương thức và từ k h ó a được sử dụng tro n g ví dụ vừa rồị Tạo các íìle mới tr ê n đĩa và lưu dữ liệu sa n g chúng th ì hữu dụng nếu b ạ n dự định tạ o các rep o rt (báo cáo) hoặc log (n h ậ t ký) tùy ý, lưu các p hép tín h hoặc giá trị quan trọ n g hoặc tạ o bộ xử lý từ hoặc bộ biên tập te x t chuyên dụng. Sau đây là m ột tổ n g quan về n h ữ n g bước m à bạn sẽ cần làm theo tro n g chương trìn h :

1. N h ậ n dữ liệu đầu vào từ người dùng hoặc thự c h iệ n các ph ép to án hoặc làm cả haị

2. G án k ế t quả xử lý vào m ột hoặc hoặc nhiều biến. Ví dụ, bạn có th ể gán nội dung của m ột hộp te x t vào m ột biến chuỗị

3. N h ắc n h ở người dùng về m ột dường d ẫn b ằn g việc sử dụng m ột control SavePileD ialog. B ạn sử dụng phương thức ShovvDialog để h iể n th ị hộp thoạị

4. Sử dụng đường đ ẫn n h ậ n được tro n g hộp th o ạ i để m ở fìle để xuất. 5. G hi m ộ t hoặc nhiều giá trị sa n g file mở.

6. Nếu cần th iế t, đóng file k h i b ạn hoàn tấ t.

Phương thức VVriteAllText

T rong ví dụ trước b ạn đã sử dụng đối tượng M y,C om puter.FileSystem với phương thức ReadAllText. K hông có gì ngạc n h iê n , đôl tư ợ ng n ày cũng

cổ phương thức W riteAllText. Phương thức W riteA llT ext ghi te x t sang m ột íllẹ N ếu m ộ t íile không tồ n tại, m ột íĩle mới được tạọ Sau đây là cú pháp m à b ạ n có th ể sử dụng nếu b ạn có m ột đối tượng hộp te x t tr ê n form có tên là tx tN o te (n h ư tro n g chương trìn h m ẫu vừa rồi) v à b ạ n dự đ ịn h sử dụng m ột đôl tượng hộp th o ại save fĩle có tê n là S aveP ileD ialogl để n h ậ n được tê n của folder te x t từ người dùng:

SaveFileDialog1.Filter = “ Text fi!es ( ’ .tx t) r .tx t"

lf SaveFileOialog1.ShowDialog{) = DialogResult.OK Then 'copy text to disk

MỵCompiiter.FileSysíem.WriteAIIText( _

SaveFiieDialog1.RleName, txtNotẹText, False) End lf

W riteA llT ex t đòi hỏi ba th a m số. T ham sô' th ứ n h â t xác đ ịn h file (trong

trư ờ ng hợp n à y người dùng xác đ ịn h íĩle sử dụng S aveP ileD ialogl). T ham số th ứ h a i xác đ ịn h te x t để ghi sa n g fìle (tro n g ví dụ n ày là nội dung của hộp te x t tx tN o te). T ham sô' cuôì cùng xác đ ịn h việc sẽ th ê m te x t hay là ghi đè te x t h iệ n có. M ột giá trị F alse cho th a m số cuối cùng r a lệ n h Visual B asic ghi đ è te x t h iệ n có.

Class StreamVVriter

T ư ơng tự n h ư b ạ n đ ồ n g h à n h với nó, c la s s S tre a m R e a d e r , class S tre a m W rite r tro n g th ư viện .NET F ram ew ork cho p h ép b ạn ghi te x t sang các file tro n g chương trìn h . Để làm cho dễ sử dụng class S tream W riter, bạn th ê m câu lệ n h Im p o rts sau đây vào p h ần tr ê n cùng của mã:

Im ports System ,10

Sau đó nếu chương tr ìn h chứa m ột đối tượng hộp te x t, b ạn có th ể ghi nội dung s a n g m ộ t file b ằn g việc sử dụng m ã chương tr ìn h sau đâỵ (File tex t tro n g ví dụ n à y là O utput.txt và m ã giả đ ịn h m ột đôl tượng có tê n là T ex tB o x l đ ã được tạ o tr ê n form).

Dim StreamToVVrite As StreamVVriter

StreamToVVrite = New Stream W riter(“C:\vb10sbs\chap13\outpưt.txt") StreamToW ritẹW rite(TextBox1 .Text)

StreamToVVritẹClose

T ro n g ví dụ S tre am W riter này, m ột biến đ ã được k h ai báo có tê n là S tre am T o W rite có kiểu S tream W riter và m ột đường d ẫn hợp lệ được xác

đ ịn h cho íìle m à b ạn m uôn ghi sang. Tiếp th eo b ạn ghi nội dung của file te x t sa n g file b ằ n g việc sử dụng phương thức W ritẹ Câu lệ n h cuối cùng đóng S tre am W riter. Việc đóng S tre am W riter có th ể quan trọ n g bởi vì nếu b ạ n cố đọc hoặc ghi lạ i sa n g file, có th ể b ạn n h ậ n được m ột ngoại lệ cho b iết rằ n g tiế n tr ìn h k h ô n g th ể xử lý fĩlẹ

B ạn cũng có th ể sử dụng k ế t hợp nam espce My v à class S tream W riter. Ví dụ sa u đ â y g h i s a n g m ộ t file te x t th e o từ n g d ò n g . P h ư ơ n g thứ c O penT extF ileW riter tro n g nam espace My mở m ột S tream W riter. Phương thức W riteL ine ghi m ột dòng s a n g filẹ K hi b ạn hoàn t ấ t m ộ t S tream W riter, b ạ n đóng nó lạ i b ằn g việc gọi phương thức C lo se .

Dim LineOíText As String =

Dim StreamToWrỉte As StreamVVriter

StreamToVVriíe = MỵComputer.FileSyst8m.0penTextFlleW riter( _ "C:\vb1 Ũsbs\chap13\output.txt” , False)

'get line of texí

LineOữext = lnputBox('‘Enter line") Do Until LineOíTexí =

‘w rite line to fiỉe

StreamToW ritẹW riteLine(LineOfText) LineO ữext = inputBox('‘ Enter line” ) Loop

StreamToW ritẹClose{)

Sử dụng phương thức VVriteAllText

Bài tậ p sau đây m in h h ọ a cách b ạn có th ể sử dụng các control TextBox v à S aveFileD ialog để tạ o m ột tiệ n ích ghi chú đơn giản. C hương trìn h sử dụng phương thức W riteA llT ext để ghi đừ liệu chuỗi sa n g m ộ t file, Bạn có th ể sử đụng chương tr ìn h n ày đ ể v iết các ghi chú ở n h à hoặc tạ i nơi làm việc v à sau đó đóng te m chúng b ằn g ngày th á n g và th ờ i g ia n h iệ n hành.

Một phần của tài liệu Ebook kỹ thuật và thủ thuật lập trình visual basic 2010 2011 tập 2 phần 1 xuân thịnh, nam thuận (Trang 62 - 64)