Nơi trao đổi thông tin Văn Lang
Chào mừng bạn đến với nơi trao đổi thông tin của chúng tôi !
Hãy đăng nhập hoặc đăng kí tài khoản để trải nghiệm nhiều điều thú vị tại đây !
Thân ái !
Nơi trao đổi thông tin Văn Lang
Chào mừng bạn đến với nơi trao đổi thông tin của chúng tôi !
Hãy đăng nhập hoặc đăng kí tài khoản để trải nghiệm nhiều điều thú vị tại đây !
Thân ái !
Nơi trao đổi thông tin Văn Lang
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.
Nơi trao đổi thông tin Văn Lang

Nơi trao đổi thông tin, tăng cường hợp tác, giải đáp những vướng mắc khi học lập trình Pascal
 
Trang ChínhTìm kiếmLatest imagesĐăng kýĐăng Nhập

 

 Tệp văn bản

Go down 
Tác giảThông điệp
Admin
Admin
Admin


Posts : 120
Danh tiếng : 6
Join date : 10/11/2014
Age : 22

Tệp văn bản Empty
Bài gửiTiêu đề: Tệp văn bản   Tệp văn bản Icon_minitime16/1/2015, 06:29

a. Khai báo tệp văn bản:
Tệp văn bản được khai báo trực tiếp trong phần khai báo biến:
Var Bientep:Text;

b. Truy nhập vào tệp:
Truy nhập vào tệp được hiểu là nhập dữ liệu vào tệp, ghi lại dữ liệu trên thiết bị nhớ ngoài, đọc dữ liệu đó ra màn hình hoặc máy in và xử lý nó.
* Mở tệp mới để ghi:
Assign(bientep, tentep);
Rewrite(bientep);
* Mở tệp đã có để ghi thêm:
Assign(bientep, tentep);
Append(bientep);
* Mở tệp để đọc dữ liệu:
Assign(bientep, tentep);
Reset(bientep);

c. Ghi dữ liệu vào tệp:
Sau khi đã mở tệp chúng ta có thể dùng thủ tục Write hoặc Writeln để ghi dữ liệu vào tệp.
Ví dụ 2.7:
Var T1:Text;
Begin
Assign(T1,’Dulieu.dat’);
Rewrite(T1);
Writeln(T1,’Tep van ban’);
Write(T1,123);
Write(T1,’ ’,123.45);
Writeln(T1);
Close(T1);
End.

Dữ liệu ghi vào tệp như sau:
Tep van ban
123 1.234500000E+02
Dòng trống

d. Đọc dữ liệu từ tệp văn bản:
Sau khi tiến hành mở tệp, con trỏ tệp sẽ được đặt tại dòng đầu.Ta dùng thủ tục Read hoặc Readln để đọc dữ liệu từ dòng hiện thời và gán vào biến tương ứng, viết biến đó ra màn hình hoặc máy in.
Để có thể viết toàn bộ dữ liệu từ một tệp văn bản ra các thiết bị ngoài thì, thì các lệnh đọc viết phải được lặp đi lặp lại từ dòng 1 đến dòng cuối cùng, nghĩa là phải sử dụng một trong 2 vòng lặp:

While not eof(Bientep) do
Begin
Readln(Bientep, Dong); {biến Dong phải được khai báo trước, kiểu String}
Write(Dong);
End;
Hoặc:

For i:=1 to filesize(Bientep) do
Begin
Readln(Bientep,Dong);
Write(Dong);
End;

Lưu ý: Muốn lấy lại kiểu của dữ liệu nhập vào tệp văn bản thì mỗi biến phải nhập trên một dòng.
Ví dụ 2.8:
Xây dựng một chương trình đơn giản để quản lý công chức. Dữ liệu nhập bao gồm: Họ tên, Hệ số lương và số con. Dữ liệu xuất ra màn hình bao gồm Họ tên, Hệ số lương, Số con và Lương tháng ( tính theo quy định của nhà nước = heso*540000).
Chương trình đặt ra hai khả năng lựa chọn:
1. Nếu tệp dữ liệu đã tồn tại thì nhập thêm người
2. Nếu tệp chưa có thì mở tệp mới
Trong cả 2 trường hợp đều cho biết số người cần nhập. Dữ liệu in ra dưới dạng bảng.

Program Quan_ly_can_bo;
Uses Crt;
Var f:Text; hoten:String[20]; c1, heso:real; c2,i,n,socon:byte;
Ten:string[12];
Begin
Clrscr;
Write(‘cho biet ten tep’); readln(ten);
Assign(f,ten);
Reset(f);
If IOResult=0 then
Append(f);
Else Rewrite(f);
Write(‘nhap bao nhieu nguoi’); readln(n);
For i:=1 to n do
Begin
Write(‘Hoten’); Readln(hoten);
Write(‘He so’); Readln(heso);
Write(‘So con’); Readln(socon);
Writeln(f,hoten);
Writeln(f,heso:4:2);
Writeln(f,socon);
End;
Close(f);
Assign(f,ten);
Reset(f);
Writeln(‘------------------------------------------------------‘);
Writeln (‘| Ho va ten | Hs | socon | Luong |’);
Writeln(‘------------------------------------------------------‘)
While not eof(f) do
Begin
Readln(f,hoten);
Readln(f,heso);
Readln(f,socon);
Writeln(‘|’,ten:19,’|’,heso:4:2,’|’,socon:4,’|’,heso*540000:10:2,’|’);
End;
Readln;
End.
Về Đầu Trang Go down
https://forumpascalvanlang.forumvi.com
 
Tệp văn bản
Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Nơi trao đổi thông tin Văn Lang  :: Lí thuyết :: Tệp (File)-
Chuyển đến