Chuỗi Delphi sử dụng dấu nháy đơn, ví dụ 'chuỗi hợp lệ'. Làm cách nào để chỉ định ký tự trong chuỗi ký tự? Làm thế nào một trong những đề cập đến byte null (mã Unicode điểm U + 0000)?Làm thế nào để một ký tự thoát trong chuỗi Delphi
Trả lời
Để thêm một dấu nháy đơn vào chuỗi, bạn bao gồm 2 'dấu ví dụ:
str := '''test string''';
Writeln(str)
Trong chuỗi ở trên, bạn có báo giá đơn bình thường để bắt đầu chuỗi và sau đó là hai cho một dấu nháy đơn. Cùng đi cho kết thúc của chuỗi.
Bạn cũng có thể sử dụng # theo sau là số cho ký tự thoát khác, ví dụ:
Đối với một dòng sản phẩm mới:
str := 'Newline' + #13 + #10
hoặc chỉ
str := 'Newline'#13#10
Tất nhiên, bằng cách sử dụng liên tục nền tảng phụ thuộc cho xuống dòng là tốt hơn.
Đối với '
ký tự đặt nó hai lần. Ví dụ: 'Don''t'
. Null byte type là # 0.
Để trả lời phần cuối của câu hỏi, bạn có thể sử dụng
#$0000
Để thêm U + 0000
Bằng cách này bạn có thể thêm Unicode khác chars quá. (Hãy chắc chắn sử dụng một phông chữ có thể hiển thị các ký tự đó.)
Bạn cũng có thể sử dụng '# 0' để thay thế. –
Vấn đề duy nhất với # 13 # 10 là trình biên dịch sẽ tạo ra cảnh báo nếu thiếu. Nó sẽ biên dịch và chạy tốt, nhưng với cảnh báo. – skamradt
Khi nào trình biên dịch bắt đầu đưa ra cảnh báo về điều đó? Tôi biết nó đã không làm điều đó trong Delphi 5, và tôi khá chắc chắn nó không làm điều đó Delphi 2005. Cảnh báo nào nó in ngay bây giờ? –
Tôi nghĩ 'QuotedStr' /' AnsiQuotedStr' đáng nói đến. Đặc biệt hữu ích khi trích dẫn các biến, ví dụ: 'showMessage ('giá trị param là' + QuotedStr (param))' –