Giao tiếp file trong Pascal
Chia sẻ bởi Vi Đình Nghĩa |
Ngày 16/10/2018 |
44
Chia sẻ tài liệu: Giao tiếp file trong Pascal thuộc Tư liệu tham khảo
Nội dung tài liệu:
GIAO TIẾP FILE
1. File và phân loại file
File là tập hợp bộ dữ liệu được lưu trữ ở bộ nhớ ngoài
- File: chứa dữ liệu đầu vào cho CT
- Nơi chứa kết quả ra của CT
- Nơi chứa kết quả sinh ra trong quá trình xử lý
* Phân loại file: có nhiều cách phân loại file:
- Phân loại theo cấu trúc
+ File văn bản
+ File dữ liệu có cấu trúc
Phân loại theo truy cập:
+ File truy cập cập tuần tự
+ File truy cập trực tiếp
File văn bản: lưu dữ liệu dưới dạng các ký tự và theo mã ASCII.
File dữ liệu có cấu trúc: là sản phẩm các phần mềm riêng biệt tạo ra
2. File trong Turbo Pascal
- Kiểu file không thể là thành phần của bất cứ kiểu nào (bản ghi, mảng...)
- Không thực hiện được phép gán được với các biến file
- CT không thể truy cập trực tiếp được dữ liệu trên file mà phải dùng thủ tục read và write
- Tại một thời điểm thao tác đọc hoặc ghi chỉ làm việc với 1 thành phần của file. Việc định vị đến các thành phần của file được thực hiện nhờ 1 cơ chế logic gọi là con trỏ file.
- Con trỏ file:
- Tham số file: trong các chương trình con phải là tham biến, không được là tham trị.
3. File định kiểu:
a. Cách khai báo và các thao tác cơ bản:
*) Có 2 cách:
- Khai báo gián tiếp:
Type = file of ;
: kiểu bất kỳ trừ kiểu file
Var : tên kiểu file;
Ví dụ: Type = record
Hoten: string[25];
Diem: real;
End;
FHS = file of hocsinh;
Fint = file of integer;
Var f, g:FHS;
F1:Fint;
- Khai báo trực tiếp:
Var : file of ;
VD:
Var f,g: file of hocsinh;
F1: file of integer;
Chú ý: Các thành phần của file được đánh số bắt đầu từ số 0.
0
1
2
3
4
* Các thao tác cơ bản đối với file:
1. Đăng ký biến file với 1 file trên đĩa:
Dùng thủ tục: Assign(biến file, tên file);
VD: Assign(f, ‘nguyen.dat’);
Assign(f, ‘C:TPBINai1.int’);
2. Mở file đã có để chuẩn bị đọc/ghi
Thủ tục: Reset(biến file);
- Sau lời gọi thủ tục này chúng ta có thể đọc hoặc ghi file. Nếu file chưa có trên đĩa thì TP báo lỗi.
- Mở file mới để ghi:
Thủ tục: Rewrite(biến file); Sau thủ tục này chúng ta chỉ có thể ghi dữ liệu vào file. Nếu file đã có trên đĩa thì nội dung cũ sẽ bị xóa
3. Đọc hoặc ghi vào file
Đọc dữ liệu từ file:
Read(biến tệp, danh sách biến); (danh sách biến không được là kiểu logic)
Ghi dữ liệu vào file:
Write(biến tệp, danh sách giá trị);
4. Đóng tệp
Thủ tục Close(biến tệp);
Để chắc chắn DL được ghi lên đĩa thì phải dùng thủ tục đóng tệp.
Tóm lại
b) Mốt số hàm và thủ tục xử lý file:
Thủ tục: SEEK(biến tệp, n: longint)
Dịch chuyển con trỏ tệp tới thành phần có số hiệu N(chỉ có ở tệp định kiểu)
VD: seek(f,3):
- Hàm FILESIZE(biến tệp): longint;
Trả về số thành phần của tệp(không phải kích thước của file)
- Hàm FILEPOS(biến tệp): longint;
Cho vị trí hiện tại của con trỏ tệp.
- Hàm eof(biến tệp): boolean.
Trả về true nếu con trỏ đang ở cuối tệp.
False chưa hết tệp.
Duyệt hết các thành phần của File
While not eof(biến tệp) do
Begin
Read(biến tệp, var);
Xử lý var;
End;
- Thủ tục xóa tệp ERASE(BIẾN TỆP); xóa tệp
- Thủ tục Rename(biến tệp, biến tệp mới): đổi tên tệp.
Ví du1:
Tạo 1 tệp có tên là nguyen.dat rồi ghi vào đó các số nguyên từ 1 đến 10. Mở lại tệp đã tạo đưa ra màn hình các số chẵn có trong file.
Giải
Uses CRT;
Var F: FILE OF Integer;
1. File và phân loại file
File là tập hợp bộ dữ liệu được lưu trữ ở bộ nhớ ngoài
- File: chứa dữ liệu đầu vào cho CT
- Nơi chứa kết quả ra của CT
- Nơi chứa kết quả sinh ra trong quá trình xử lý
* Phân loại file: có nhiều cách phân loại file:
- Phân loại theo cấu trúc
+ File văn bản
+ File dữ liệu có cấu trúc
Phân loại theo truy cập:
+ File truy cập cập tuần tự
+ File truy cập trực tiếp
File văn bản: lưu dữ liệu dưới dạng các ký tự và theo mã ASCII.
File dữ liệu có cấu trúc: là sản phẩm các phần mềm riêng biệt tạo ra
2. File trong Turbo Pascal
- Kiểu file không thể là thành phần của bất cứ kiểu nào (bản ghi, mảng...)
- Không thực hiện được phép gán được với các biến file
- CT không thể truy cập trực tiếp được dữ liệu trên file mà phải dùng thủ tục read và write
- Tại một thời điểm thao tác đọc hoặc ghi chỉ làm việc với 1 thành phần của file. Việc định vị đến các thành phần của file được thực hiện nhờ 1 cơ chế logic gọi là con trỏ file.
- Con trỏ file:
- Tham số file: trong các chương trình con phải là tham biến, không được là tham trị.
3. File định kiểu:
a. Cách khai báo và các thao tác cơ bản:
*) Có 2 cách:
- Khai báo gián tiếp:
Type
Var
Ví dụ: Type
Hoten: string[25];
Diem: real;
End;
FHS = file of hocsinh;
Fint = file of integer;
Var f, g:FHS;
F1:Fint;
- Khai báo trực tiếp:
Var
VD:
Var f,g: file of hocsinh;
F1: file of integer;
Chú ý: Các thành phần của file được đánh số bắt đầu từ số 0.
0
1
2
3
4
* Các thao tác cơ bản đối với file:
1. Đăng ký biến file với 1 file trên đĩa:
Dùng thủ tục: Assign(biến file, tên file);
VD: Assign(f, ‘nguyen.dat’);
Assign(f, ‘C:TPBINai1.int’);
2. Mở file đã có để chuẩn bị đọc/ghi
Thủ tục: Reset(biến file);
- Sau lời gọi thủ tục này chúng ta có thể đọc hoặc ghi file. Nếu file chưa có trên đĩa thì TP báo lỗi.
- Mở file mới để ghi:
Thủ tục: Rewrite(biến file); Sau thủ tục này chúng ta chỉ có thể ghi dữ liệu vào file. Nếu file đã có trên đĩa thì nội dung cũ sẽ bị xóa
3. Đọc hoặc ghi vào file
Đọc dữ liệu từ file:
Read(biến tệp, danh sách biến); (danh sách biến không được là kiểu logic)
Ghi dữ liệu vào file:
Write(biến tệp, danh sách giá trị);
4. Đóng tệp
Thủ tục Close(biến tệp);
Để chắc chắn DL được ghi lên đĩa thì phải dùng thủ tục đóng tệp.
Tóm lại
b) Mốt số hàm và thủ tục xử lý file:
Thủ tục: SEEK(biến tệp, n: longint)
Dịch chuyển con trỏ tệp tới thành phần có số hiệu N(chỉ có ở tệp định kiểu)
VD: seek(f,3):
- Hàm FILESIZE(biến tệp): longint;
Trả về số thành phần của tệp(không phải kích thước của file)
- Hàm FILEPOS(biến tệp): longint;
Cho vị trí hiện tại của con trỏ tệp.
- Hàm eof(biến tệp): boolean.
Trả về true nếu con trỏ đang ở cuối tệp.
False chưa hết tệp.
Duyệt hết các thành phần của File
While not eof(biến tệp) do
Begin
Read(biến tệp, var);
Xử lý var;
End;
- Thủ tục xóa tệp ERASE(BIẾN TỆP); xóa tệp
- Thủ tục Rename(biến tệp, biến tệp mới): đổi tên tệp.
Ví du1:
Tạo 1 tệp có tên là nguyen.dat rồi ghi vào đó các số nguyên từ 1 đến 10. Mở lại tệp đã tạo đưa ra màn hình các số chẵn có trong file.
Giải
Uses CRT;
Var F: FILE OF Integer;
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Vi Đình Nghĩa
Dung lượng: 102,00KB|
Lượt tài: 0
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)