Thứ Tư, 7 tháng 4, 2010

Hướng dẩn viết lisp bài 27:

Bạn nên theo dỏi theo tên bài viết tăng từ nhỏ tới lớn thì mới đúng trình tự!

*Đọc dữ liệu từ file txt. Gồm 3 bước:
-Mở file (hàm open).
-Đọc dữ liệu từ file (hàm read-line).
-Đóng file (hàm close)

*Viết dữ liệu vào file txt. Gồm 3 bước:
-Mở file (hàm open).
-Viết dữ liệu vào file (hàm write-line).
-Đóng file (hàm close)

*Hàm Open dùng mở 1 file để đọc hoặc viết dữ liệu vào file. Cú pháp:
(open tenfile kieumo) trong đó:
-tenfile: là đường dẩn đầy đủ của file. Ví dụ “D:\\tailieukythuat\\duy.txt”
-kieumo: là ký tự viết thường “a” “r” “w” dùng xác định kiểu mở file:
+”a” mở file tenfile để chép dữ liệu nối tiếp vào cuối file. Nếu tìm thấy file con trỏ nằm cuối file, dữ liệu chép vào sẽ nối vào cuối file. Nếu không tìm thấy file tenfile sẽ được tạo mới, con trỏ nằm đầu file.
+”r” mở file tenfile để đọc dữ liệu. Con trỏ nằm tại vị trí dòng đầu tiên của file. Nếu không tìm thấy file này hàm trả về nil.
+”w” mở file tenfile để chép dữ liệu vào file này. Nếu tìm thấy dữ liệu trong file sẽ bị chép đè lên. Nếu không tìm thấy file tenfile sẽ được tạo mới, con trỏ nằm đầu file.

*Khi open 1 file bạn cấp cho nó 1 tên đại diện. Nhớ rằng file phải được đóng bằng hàm close trước khi thoát khỏi acad nếu không file có nguy cơ bị văng đi đâu đó không tìm ra.

-Ví dụ mở file C:\\tailieukythuat\\duy.txt viết dòng tailieukythuat.com và đóng file lại như sau:

(setq tenfile (open “C:\\tailieukythuat\\duy.txt” “a”))
(setq noidungviet “tailieukythuat.com”)
(write-line noidungviet tenfile)
(close tenfile)

-Ví dụ mở file C:\\tailieukythuat\\duy.txt đọc dòng dầu tiên và đóng file lại như sau:

(setq tenfile (open “C:\\tailieukythuat\\duy.txt” “r”))
(setq noidungdoc (read-line tenfile))
(close tenfile)

-Lưu ý khi thực hiện xong hàm read-line thì con trỏ sẽ nhảy xuống dòng kế tiếp nên muốn đọc nội dung dòng thứ n của file C:\\tailieukythuat\\duy.txt thì mình dùng hàm repeat n lần với dòng (setq noidungdoc (read-line tenfile)). Ví dụ đọc dòng thứ 3 và gán cho biến noidungdoc:

(setq tenfile (open “C:\\tailieukythuat\\duy.txt” “r”))
(repeat 3
(setq noidungdoc (read-line tenfile))
)
(close tenfile)

Không có nhận xét nào:

Đăng nhận xét