Phần 21 này chúng ta sẽ thảo luận về chuỗi

Trước khi định nghĩa chuỗi ta cần hiểu về ký tự
Char – Ký tự: là một kiểu dữ liệu. Kiểu Char dùng để biểu diễn các giá trị là các ký tự thuộc bảng chữ cái: ‘A’, ‘b’, ‘x’,… các con số: 0..9 hoặc các ký tự đặc biệt : ‘!’, ‘@’, ‘#’, ‘$’, ‘%’, ‘&’, ‘*’,…

Từ Char ta có String – Chuỗi: String là kiểu dữ liệu chứa các giá trị là nhóm các ký tự hoặc chỉ một ký tự, kể cả chuỗi rỗng. Độ dài tối đa của một biến kiểu String là 255, tức là nó có thể chứa tối đa một dãy gồm 255 ký tự.

‘Hello’ là một chuỗi
‘vn4000’ là một chuỗi
‘Xin chao cac ban’ cũng là một chuỗi.

Bạn có thể truy cập từng ký tự trong chuỗi bằng cách chỉ ra số thứ tự của ký tự đó trong chuỗi.
Bạn cần sử dụng cập dấu […]. Đây là một ví dụ

program Chuoi_Ky_tu;

var
s: String;
c: Char;

begin
s := ‘Hello’;
c := s[1];{c = ‘H’}
end.

Trong ví dụ trên, biến c sẽ được gán giá trị tại vị trí thứ nhất của chuỗi s, và sẽ có giá trị là ‘H’

Lệnh Length
: Bạn cũng có thể biết được độ dài của chuỗi, hay nói cách khác là có bao nhiêu ký tự trong chuỗi bằng cách sử dụng lệnh Length. Dưới đây là một ví dụ

program Chuoi_Ky_tu2;

var
s: String;
l: Integer;

begin
s := ‘Hello’;
l := Length(s);{l = 5}
end.

Chuỗi ‘Hello’ có tổng cộng 5 ký tự, trong ví dụ trên biến l sẽ có trị bằng chiều dài của chuỗi s, tức là có giá trị bằng 5.

Chuỗi ‘Xin chao ban’ có thể coi như bao gồm nhiều chuỗi. Ví dụ có thể coi ‘Xin chao ban’ như là chuỗi ‘Xin chao’ + ‘ban’, vấn đề là trong lập trình, rất nhiều khi ta cần phải biết vị trí của một chuỗi trong một chuỗi khác. Ví dụ ta cần biết vị trí của chuỗi ‘chao’ trong ‘Xin chao ban’ chẳng hạn

Lệnh Pos: Để tìm vị trí của một chuỗi trong một chuỗi khác, ta sử dụng lệnh Pos. Lệnh Pos có hai tham số,
1-Tham số đầu là chuỗi cần tìm (‘chao’ chẳng hạn)
2-Tham số sau là chuỗi gốc (‘Xin chao ban’)

Đây là một ví dụ.

program Chuoi_Ky_tu3;

var
s: String;
p: Integer;

begin
s := ‘Hello world’;
p := Pos(‘world’,s);
end.

Lệnh Delete: ta sử dụng lệnh Delete để xóa một hoặc nhiều ký tự trong chuỗi. Lệnh Delete có 3 tham số:
1-Chuỗi cần xóa ký tự
2-Vị trí bắt đầu xóa
3-Độ dài cần xóa, nói cách khác số ký tự cần xóa

Đây là một ví dụ:

program Chuoi_Ky_tu4;

var
s: String;

begin
s := ‘Hello’;
Delete(s,1,1);{s = ‘ello’}
end.

Lệnh Copy: Bạn có thể dùng lệnh Copy để sao chép một hay nhiều ký tự trong chuỗi. Lệnh Copy có 3 tham số
1-Chuỗi cần sao chép
2-Vị trí bắt đầu sao chép
3-Số ký tự cần sao chép

Đây là một ví dụ

program Chuoi_Ky_tu5;

var
s, t: String;

begin
s := ‘Hello’;
t := Copy(s,1,3);{t = ‘Hel’}
end.

Chúng ta tạm dừng thảo luận về chuỗi ở đây, những lện khác liên quan đến chuỗi sẽ được đề cập trong các tình huống cụ thể.