Các lệnh cơ bản
Một số câu lệnh nhập xuất cơ bản trong Delphi
Một số câu lệnh nhập xuất cơ bản trong Delphi
Nhập / xuất là hai hoạt động cơ bản trong khi lập trình, nhất là đối với người mới bắt đầu. Nhập là khi chương trình yêu cầu người dùng nhập một số dữ liệu gì đó, ví dụ như tên, tuổi, và sau một số bước tính toán thì trả về giá trị. Và khi đó, chúng ta cần xuất kết quả tính được ra màn hình cho người dùng biết.
Delphi sử dụng hai lệnh Write (WriteLn) và Read (ReadLn) để hỗ trợ các hoạt động nhập xuất cơ bản này. Cùng đi vào ví dụ sau để hiểu rõ hơn.
uses
System.SysUtils;
var
Ten: string;
Tuoi: Integer;
NamSinh: Integer;
begin
Write('Moi ban nhap ten: ');
ReadLn(Ten);
Write('Moi ban nhap tuoi: ');
ReadLn(Tuoi);
NamSinh := 2019 - Tuoi;
WriteLn('Ban ', Ten, ' sinh vao nam ', NamSinh);
ReadLn;
end.
Đây là một chương trình rất cơ bản khi lập trình. Sau đây mình sẽ giải thích từng câu lệnh một trong chương trình trên:
Nếu bạn đã hiểu hết những khái niệm trên, thì xin chúc mừng, bạn học rất nhanh.
Bây giờ hãy đi sâu vào cú pháp hai lệnh Write và Read.
Sự khác nhau giữa lệnh Write và WriteLn là sau khi in ra, WriteLn để con trỏ xuống dòng mới, trong khi Write vẫn ở trên cuối dòng cũ.
Ví dụ, đoạn code sau đây sẽ chỉ ra sự khác nhau ấy.
uses
System.SysUtils;
begin
WriteLn('Viet ');
WriteLn('Nam');
Write('Viet ');
Write('Nam');
end.
Khi chạy đoạn chương trình trên, màn hình sẽ in ra như sau
Viet
Nam
Viet Nam
Như vậy, khi sử dụng lệnh WriteLn, thì in xong sẽ xuống hàng. Còn Write chỉ in thôi, không xuống hàng mới, nếu có thêm lệnh write tiếp thì sẽ in nối theo sau dòng vừa in.
Như ở trên các bạn đã biết, thì lệnh ReadLn dùng để nhập một giá trị vào biến từ bàn phím. Tuy vậy, trong một số trường hợp, các bạn sẽ thấy lệnh ReadLn nằm đơn độc một mình ở cuối chương trình mà không có biến nào cả. Như sau.
begin
...
ReadLn;
end.
Tại sao lại thế? Bởi vì lệnh ReadLn lúc này có tác dụng giúp chương trình ngừng lại, đợi người dùng nhấn phím Enter mới chạy tiếp.
Nếu cuối chương trình không có ReadLn, thì chương trình sẽ chạy xong rồi tắt, không thể xem được kết quả in ra.