« Home « Kết quả tìm kiếm

Tự động hóa trong thiết kế cầu đường part 4


Tóm tắt Xem thử

- Lập trình xử lý tập tin.
- Ø Ø Kiểu của tập tin: là cách thức tổ chức dữ liệu trong tập tin đó.
- Hiện nay có vô số các định dạng cho tập tin bởi người dùng có thể tự do định nghĩa.
- Kiểu định dạng phổ biến nhất dùng để trao đổi dữ liệu là tập tin văn bản (thường có phần mở rộng là TXT, CSV).
- Với định dạng này ta có thể xem nội dung của tập tin bằng các chương trình soạn thảo đơn giản như Notepad.exe của Windows..
- Đọc dữ liệu (Input) từ tập tin vào trong chương trình..
- Ghi dữ liệu (Output) từ chương trình ra tập tin..
- Tìm kiếm dữ liệu trong tập tin: đọc dữ liệu có chọn lọc..
- Tạo mới tập tin: tạo ra tập tin trên đĩa để ghi dữ liệu lên nó..
- Xóa tập tin khi không còn dùng đến nó nữa..
- Di chuyển vị trí (Move) của tập tin từ nơi này đến nơi khác..
- Các hình thức truy cập tập tin.
- Truy cập tập tin bao gồm các thao tác đọc và ghi dữ liệu.
- Ø Ø Truy cập kiểu tuần tự (Sequential): Quá trình đọc và ghi dữ liệu với tập tin theo các khối dữ liệu liên tục từ đầu đến cuối tập tin.
- Các khối dữ liệu liên tục có thể là các ký tự, các số, mẩu tin, chuỗi, dòng văn bản,…Các khối này được phân cách nhau trong tập tin bằng kí tự dấu phẩy.
- Ví dụ, muốn đọc dòng dữ liệu thứ n trong một tập tin văn bản có m dòng (m>n), không thể ngay lập tức truy cập tới dòng thứ n mà phải lần lượt đọc từ dòng hiện tại (là dòng văn bản mà con trỏ đọc dữ liệu đang ở đó) tới dòng thứ n.
- Kiểu truy cập tuần tự thường áp dụng với các tập tin văn bản (text file)..
- Hình III-24: Truy cập kiểu tuần tự khi đọc tập tin văn bản..
- Quá trình truy cập ngẫu nhiên thường được áp dụng cho các tập tin trong đó dữ liệu được tổ chức theo các khối có cấu trúc (các mẩu tin)..
- Ø Ø Truy cập kiểu nhị phân (Binary): Quá trình đọc và ghi dữ liệu với tập tin được thực hiện theo các khối không giống nhau về kích thước.
- Quá trình truy cập nhị phân thường áp dụng cho các tập tin có cấu trúc không cố định và dữ liệu có thể được xác định thông qua các byte dữ liệu được đọc vào..
- Để việc thao tác với các tập tin được thuận lợi, VB cung cấp sẵn hai phương pháp cơ bản:.
- Ø Ø Sử dụng các hàm có sẵn để thao tác trực tiếp lên tập tin (dùng các hàm I/O)..
- Ø Ø Sử dụng một số điều khiển để thao tác gián tiếp lên tập tin (dùng đối tượng FSO)..
- Xử lý dữ liệu trong tập tin với các hàm I/O:.
- Mở tập tin: là yêu cầu bắt buộc phải thực hiện trước khi đọc hay ghi dữ liệu vào tập tin..
- Thực hiện các thao tác với tập tin: đọc hoặc ghi dữ liệu vào tập tin..
- Đóng tập tin: bắt buộc phải thực hiện khi kết thúc các thao tác với tập tin..
- Mở tập tin:.
- Ø Ø <đường dẫn>: là một giá trị kiểu String dùng để xác định đường dẫn của tập tin (vị trí của nó trên đĩa)..
- Input : đọc dữ liệu từ tập tin, để không gây lỗi thì tập tin này phải có sẵn trên đĩa..
- Output : ghi dữ liệu vào tập tin với hai điểm cần lưu ý:.
- Nếu tập tin là có sẵn thì toàn bộ dữ liệu bên trong nó sẽ bị xóa sạch trước khi dữ liệu mới được ghi vào (ghi đè lên những dữ liệu đã có).
- Append : ghi dữ liệu vào cuối tập tin đã có (ghi thêm, nối vào những dữ liệu đã có)..
- <filenumber>: là một giá trị kiểu Integer đại diện cho tập tin đó.
- Sau này, khi thao tác với tập tin này, thì giá trị này sẽ là đại diện.
- chỉ ra số ký tự trong vùng đệm khi sao chép dữ liệu giữa tập tin và chương trình.
- Ví dụ: Khi trên đĩa C không có tập tin File1.txt thì câu lệnh sau sẽ tạo mới và mở sẵn tập tin này để ghi dữ liệu:.
- Đọc dữ liệu từ tập tin:.
- Sau khi tập tin đã được mở bằng lệnh Open với kiểu là Input , nó đã sẵn sàng cho việc đọc dữ liệu bên trong nó.
- Khái niệm dòng dữ liệu trong tập tin khác so với khái niệm dòng chữ trên trang giấy.
- Cú pháp đọc một dòng từ tập tin như sau:.
- Câu lệnh này đọc dữ liệu từ dòng hiện tại của tập tin đã được mở (có chỉ số là <filenumber>.
- CHÚ Ý Ngay khi mở tập tin để đọc, con trỏ đọc dữ liệu sẽ được tự động đặt ở dòng đầu tiên trong tập tin..
- Ví dụ: Một tập tin văn bản có đường dẫn “C:\file1.txt” với nội dung như sau:.
- Mã lệnh sau sẽ đọc nội dung của 3 dòng dữ liệu đầu tiên trong tập tin:.
- Câu lệnh này đọc khối dữ liệu từ vị trí hiện tại của con trỏ đọc dữ liệu trong tập tin có chỉ số.
- CHÚ Ý Đọc dữ liệu bằng lệnh Input #n thường được dùng với tập tin mà dữ liệu của nó được tạo ra bởi lệnh Write #n.
- Ví dụ: Với tập tin văn bản “C:\file1.txt” như trên, với các mã lệnh sau:.
- Nếu lệnh đọc dữ liệu được gọi khi vị trí con trỏ đọc dữ liệu ở cuối tập tin thì sẽ xảy ra lỗi.
- Để tránh lỗi này cần phải kiểm tra vị trí của con trỏ đọc dữ liệu, xem nó có ở cuối tập tin hay không.
- Ví dụ sau sẽ đọc toàn bộ dữ liệu trong tập tin C:\File1.txt:.
- Ghi dữ liệu vào tập tin:.
- Với Output : toàn bộ nội dung ban đầu của tập tin sẽ bị xóa và con trỏ ghi dữ liệu sẽ được đặt ở vị trí đầu tiên.
- Nếu tập tin chưa có thì nó sẽ được tự động tạo ra theo tên và vị trí của đường dẫn trong lệnh Open .
- Ø Ø filenumber : chỉ số của tập tin..
- Ví dụ: chương trình sau sẽ ghi dữ liệu vào tập tin “C:\file1.txt” bằng lệnh Print # Sub FilePrint().
- Các thành phần dữ liệu trong outputlist sẽ được ghi liên tục vào tập tin và dấu phẩy.
- sẽ được tự động thêm vào giữa hai giá trị trong tập tin..
- Ví dụ: chương trình con sau sẽ ghi dữ liệu vào tập tin “C:\file2.txt”:.
- Đóng tập tin.
- Sau khi thao tác đọc/ghi dữ liệu lên tập tin ta cần phải đóng chúng lại bằng lệnh Close theo cú pháp sau:.
- CHÚ Ý Trong tất cả các ví dụ đọc và ghi dữ liệu trên đều có lệnh đóng tập tin sau khi kết thúc các thao tác đọc/ghi..
- Đây là một tập hợp các lớp đối tượng, mà nhiệm vụ của chúng là cung cấp cho người dùng hầu hết các công cụ thao tác với tập tin..
- Drive Đối tượng ổ đĩa Folder Đối tượng thư mục File Đối tượng tập tin.
- TextStream Đối tượng luồng dữ liệu (dạng text) phục vụ việc thao tác với dữ liệu trong tập tin.
- Ø Ø Các phương thức chính của lớp FileSystemObject phục vụ cho thao tác tập tin.
- CopyFile Sao chép tập tin.
- DeleteFile Xoá tập tin Tham khảo Object Browser.
- MoveFile Di chuyển tập tin Tham khảo Object Browser.
- FileExists Kiểm tra sự làm việc của tập tin Trả về giá trị Boolean.
- OpenTextFile Mở một tập tin dạng text để làm việc Trả về đối tượng kiểu TextStream Ø Ø Các phương thức của lớp TextStream.
- Skip Bỏ qua một xâu dữ liệu trong tập tin Trả về đối tượng kiểu TextStream SkipLine Bỏ qua một dòng dữ liệu trong tập tin.
- Write Ghi một xâu dữ liệu vào trong tập tin WriteLine Ghi một xâu dữ liệu thành một dòng.
- trong tập tin.
- WriteBlankLines Chèn một dòng trống vào trong tập tin.
- Trình tự làm việc với dữ liệu của tập tin theo mô hình FSO .
- là tên của đối tượng (chính là tên biến), mà dựa vào nó ta sẽ thao tác với tập tin..
- thuộc lớp TextStream nhằm phục vụ cho việc thao tác với dữ liệu trong tập tin theo cú pháp sau:.
- Tạo tập tin mới.
- Sử dụng phương thức CreateTextFile để tạo tập tin mới và mở sẵn nó cho các thao tác đọc/ghi.
- lựa chọn có ghi đè hay không trong trường hợp tập tin đã có.
- Nếu đặt tham số này là False và tập tin đã có thì sẽ phát sinh lỗi và làm dừng chương trình..
- lựa chọn có sử dụng bảng mã Unicode trong tập tin hay không.
- Mở tập tin đã có để thao tác.
- Khi muốn làm việc với một tập tin đã có (đọc/ghi), sử dụng cú pháp sau:.
- Ø Ø FileName : Tên và vị trí của tập tin (kiểu String.
- Kiểu thao tác với tập tin.
- ForAppending (hoặc 8): thêm dữ liệu vào cuối tập tin đã có..
- ForReading (hoặc 1): đọc dữ liệu từ tập tin.
- ForWriting (hoặc 2): ghi dữ liệu vào tập tin..
- Tùy chọn có tạo tập tin hay không trong trường hợp tập tin chưa tồn tại.
- tham số tuỳ chọn, chỉ cách mở tập tin theo định dạng.
- TristateUseDefault (hoặc -2): mở tập tin theo định dạng chuẩn của hệ thống..
- TristateTrue (hoặc -1): mở tập tin với định dạng Unicode..
- TristateFalse (hoặc 0): mở tập tin với định dạng theo chuẩn ASCII.
- Trong quá trình đọc dữ liệu từ tập tin, phải luôn chắc chắn rằng vị trí con trỏ đọc dữ liệu không ở cuối tập tin bởi điều này sẽ làm phát sinh lỗi.
- Để kiểm tra xem vị trí con trỏ đọc dữ liệu đã ở cuối tập tin chưa, dùng thuộc tính AtEndOfStream của lớp TextStream .
- Ví dụ: đoạn chương trình sau sẽ đọc nội dung của tập tin “C:\file1.txt” và in ra cửa sổ Immediate..
- Tập tin Kết quả

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt